30 TYPE(
coolist),
DIMENSION(:,:),
ALLOCATABLE,
PUBLIC ::
yy 31 TYPE(
coolist),
DIMENSION(:,:),
ALLOCATABLE,
PUBLIC ::
dy 32 TYPE(
coolist),
DIMENSION(:,:),
ALLOCATABLE,
PUBLIC ::
ydy 33 TYPE(
coolist),
DIMENSION(:,:),
ALLOCATABLE,
PUBLIC ::
dyy 36 REAL(KIND=8),
DIMENSION(:),
ALLOCATABLE ::
dumb_vec 37 REAL(KIND=8),
DIMENSION(:,:),
ALLOCATABLE ::
dumb_mat1 38 REAL(KIND=8),
DIMENSION(:,:),
ALLOCATABLE ::
dumb_mat2 39 REAL(KIND=8),
DIMENSION(:,:),
ALLOCATABLE ::
expm 45 INTEGER :: i,j,m,AllocStat
49 print*,
'Computing the time correlation tensors...' 52 IF (allocstat /= 0) stop
"*** Not enough memory ! ***" 55 IF (allocstat /= 0) stop
"*** Not enough memory ! ***" 58 IF (allocstat /= 0) stop
"*** Not enough memory ! ***" 61 IF (allocstat /= 0) stop
"*** Not enough memory ! ***" 64 IF (allocstat /= 0) stop
"*** Not enough memory ! ***" 103 IF (allocstat /= 0) stop
"*** Problem to deallocate ! ***" 106 IF (allocstat /= 0) stop
"*** Problem to deallocate ! ***" The stochastic models parameters module.
type(coolist), dimension(:,:), allocatable, public yy
Coolist holding the terms.
integer ndim
Number of variables (dimension of the model)
subroutine, public add_matc_to_tensor4(i, j, src, dst)
Routine to add a matrix to a rank-4 tensor.
real(kind=8), dimension(:,:), allocatable, public corr_ij
Matrix holding the correlation matrix at a given time.
real(kind=8), dimension(:,:), allocatable expm
Matrix holding the product inv_corr_i*corr_ij at time .
type(coolist), dimension(:,:), allocatable, public dyy
Coolist holding the terms.
real(kind=8) muti
Memory update time interval.
type(coolist4), dimension(:,:), allocatable, public ydyy
Coolist holding the terms.
integer, dimension(:), allocatable, public rind
Unresolved reduction indices.
subroutine, public ireduce(A, Ared, n, ind, rind)
subroutine, public init_corr
Subroutine to initialise the computation of the correlation.
real(kind=8), dimension(:), allocatable, public mean
Vector holding the mean of the unresolved dynamics (reduced version)
subroutine, public vector_outer(u, v, A)
subroutine, public add_matc_to_tensor(i, src, dst)
Routine to add a matrix to a rank-3 tensor.
Coordinate list. Type used to represent the sparse tensor.
type(coolist), dimension(:,:), allocatable, public dy
Coolist holding the terms.
type(coolist), dimension(:,:), allocatable, public ydy
Coolist holding the terms.
subroutine, public init_corr_tensor
Subroutine to initialise the correlations tensors.
real(kind=8), dimension(:), allocatable dumb_vec
Dumb vector to be used in the calculation.
integer, public n_unres
Number of unresolved variables.
4d coordinate list. Type used to represent the rank-4 sparse tensor.
subroutine, public matc_to_coo(src, dst)
Routine to convert a matrix to a rank-3 tensor.
real(kind=8), dimension(:,:), allocatable dumb_mat2
Dumb matrix to be used in the calculation.
Module to initialize the correlation matrix of the unresolved variables.
real(kind=8), dimension(:,:), allocatable dumb_mat1
Dumb matrix to be used in the calculation.
integer, dimension(:), allocatable, public ind
procedure(corrcomp_from_spline), pointer, public corrcomp
Pointer to the correlation computation routine.
The model parameters module.
Module to select the resolved-unresolved components.
real(kind=8), dimension(:,:), allocatable, public inv_corr_i
Inverse of the covariance matrix of the unresolved variables (reduced version)
Module to compute the correlations and derivatives used to compute the memory term of the WL paramete...
integer mems
Number of steps in the memory kernel integral.