![]() |
A Modular Arbitrary-Order Ocean-Atmosphere Model -- Stochastic implementation
|
Module that compute the memory term \(M_3\) of the WL parameterization. More...
Functions/Subroutines | |
subroutine, public | init_memory |
Subroutine to initialise the memory. More... | |
subroutine, public | compute_m3 (y, dt, dtn, savey, save_ev, evolve, inter, h_int) |
Compute the integrand of \(M_3\) at each time in the past and integrate to get the memory term. More... | |
subroutine, public | test_m3 (y, dt, dtn, h_int) |
Routine to test the #compute_M3 routine. More... | |
Variables | |
real(kind=8), dimension(:,:), allocatable | x |
Array storing the previous state of the system. More... | |
real(kind=8), dimension(:,:), allocatable | xs |
Array storing the resolved time evolution of the previous state of the system. More... | |
real(kind=8), dimension(:,:), allocatable | zs |
Dummy array to replace Xs in case where the evolution is not stored. More... | |
real(kind=8), dimension(:), allocatable | buf_m |
Dummy vector. More... | |
real(kind=8), dimension(:), allocatable | buf_m3 |
Dummy vector to store the \(M_3\) integrand. More... | |
integer | t_index |
Integer storing the time index (current position in the arrays) More... | |
procedure(ss_step), pointer | step |
Procedural pointer pointing on the resolved dynamics step routine. More... | |
Module that compute the memory term \(M_3\) of the WL parameterization.
subroutine, public memory::compute_m3 | ( | real(kind=8), dimension(0:ndim), intent(in) | y, |
real(kind=8), intent(in) | dt, | ||
real(kind=8), intent(in) | dtn, | ||
logical, intent(in) | savey, | ||
logical, intent(in) | save_ev, | ||
logical, intent(in) | evolve, | ||
real(kind=8), intent(in) | inter, | ||
real(kind=8), dimension(0:ndim), intent(out) | h_int | ||
) |
Compute the integrand of \(M_3\) at each time in the past and integrate to get the memory term.
y | current state |
dt | timestep |
dtn | stochastic timestep |
savey | set if the state is stored in X at the end |
save_ev | set if the result of the resolved time evolution is stored in Xs at the end |
evolve | set if the resolved time evolution is performed |
inter | set over which time interval the resolved time evolution must be computed |
h_int | result of the integration - give the memory term |
Definition at line 86 of file memory.f90.
subroutine, public memory::init_memory | ( | ) |
subroutine, public memory::test_m3 | ( | real(kind=8), dimension(0:ndim), intent(in) | y, |
real(kind=8), intent(in) | dt, | ||
real(kind=8), intent(in) | dtn, | ||
real(kind=8), dimension(0:ndim), intent(out) | h_int | ||
) |
Routine to test the #compute_M3 routine.
y | current state |
dt | timestep |
dtn | stochastic timestep |
h_int | result of the integration - give the memory term |
Definition at line 159 of file memory.f90.
|
private |
Dummy vector.
Definition at line 31 of file memory.f90.
|
private |
Dummy vector to store the \(M_3\) integrand.
Definition at line 32 of file memory.f90.
|
private |
Procedural pointer pointing on the resolved dynamics step routine.
Definition at line 36 of file memory.f90.
|
private |
Integer storing the time index (current position in the arrays)
Definition at line 34 of file memory.f90.
|
private |
Array storing the previous state of the system.
Definition at line 28 of file memory.f90.
|
private |
Array storing the resolved time evolution of the previous state of the system.
Definition at line 29 of file memory.f90.
|
private |
Dummy array to replace Xs in case where the evolution is not stored.
Definition at line 30 of file memory.f90.