![]() |
A Modular Arbitrary-Order Ocean-Atmosphere Model -- Stochastic implementation
|
Module with the WL rk2 integration routines. More...
Functions/Subroutines | |
subroutine, public | init_integrator |
Subroutine that initialize the MARs, the memory unit and the integration buffers. More... | |
subroutine | compute_m1 (y) |
Routine to compute the \(M_1\) term. More... | |
subroutine | compute_m2 (y) |
Routine to compute the \(M_2\) term. More... | |
subroutine, public | step (y, t, dt, dtn, res, tend) |
Routine to perform an integration step (Heun algorithm) of the WL system. The incremented time is returned. More... | |
subroutine, public | full_step (y, t, dt, dtn, res) |
Routine to perform an integration step (Heun algorithm) of the full stochastic system. The incremented time is returned. More... | |
Variables | |
real(kind=8), dimension(:), allocatable | buf_y1 |
real(kind=8), dimension(:), allocatable | buf_f0 |
real(kind=8), dimension(:), allocatable | buf_f1 |
Integration buffers. More... | |
real(kind=8), dimension(:), allocatable | buf_m2 |
real(kind=8), dimension(:), allocatable | buf_m1 |
real(kind=8), dimension(:), allocatable | buf_m3 |
real(kind=8), dimension(:), allocatable | buf_m |
real(kind=8), dimension(:), allocatable | buf_m3s |
Dummy buffers holding the terms /f$M_i. More... | |
real(kind=8), dimension(:), allocatable | anoise |
Additive noise term. More... | |
real(kind=8), dimension(:), allocatable | dwar |
real(kind=8), dimension(:), allocatable | dwau |
real(kind=8), dimension(:), allocatable | dwor |
real(kind=8), dimension(:), allocatable | dwou |
Standard gaussian noise buffers. More... | |
real(kind=8), dimension(:,:), allocatable | x1 |
Buffer holding the subsequent states of the first MAR. More... | |
real(kind=8), dimension(:,:), allocatable | x2 |
Buffer holding the subsequent states of the second MAR. More... | |
Module with the WL rk2 integration routines.
|
private |
Routine to compute the \(M_1\) term.
y | Present state of the WL system |
Definition at line 106 of file rk2_WL_integrator.f90.
|
private |
Routine to compute the \(M_2\) term.
y | Present state of the WL system |
Definition at line 115 of file rk2_WL_integrator.f90.
subroutine, public rk2_wl_integrator::full_step | ( | real(kind=8), dimension(0:ndim), intent(in) | y, |
real(kind=8), intent(inout) | t, | ||
real(kind=8), intent(in) | dt, | ||
real(kind=8), intent(in) | dtn, | ||
real(kind=8), dimension(0:ndim), intent(out) | res | ||
) |
Routine to perform an integration step (Heun algorithm) of the full stochastic system. The incremented time is returned.
y | Initial point. |
t | Actual integration time |
dt | Integration timestep. |
dtn | Stochastoc integration timestep (normally square-root of dt). |
res | Final point after the step. |
Definition at line 185 of file rk2_WL_integrator.f90.
subroutine, public rk2_wl_integrator::init_integrator | ( | ) |
subroutine, public rk2_wl_integrator::step | ( | real(kind=8), dimension(0:ndim), intent(in) | y, |
real(kind=8), intent(inout) | t, | ||
real(kind=8), intent(in) | dt, | ||
real(kind=8), intent(in) | dtn, | ||
real(kind=8), dimension(0:ndim), intent(out) | res, | ||
real(kind=8), dimension(0:ndim), intent(out) | tend | ||
) |
Routine to perform an integration step (Heun algorithm) of the WL system. The incremented time is returned.
y | Initial point. |
t | Actual integration time |
dt | Integration timestep. |
dtn | Stochastic integration timestep (normally square-root of dt). |
res | Final point after the step. |
tend | Partial or full tendencies used to perform the step (used for debugging). |
Definition at line 132 of file rk2_WL_integrator.f90.
|
private |
Additive noise term.
Definition at line 33 of file rk2_WL_integrator.f90.
|
private |
Definition at line 31 of file rk2_WL_integrator.f90.
|
private |
Integration buffers.
Definition at line 31 of file rk2_WL_integrator.f90.
|
private |
Definition at line 32 of file rk2_WL_integrator.f90.
|
private |
Definition at line 32 of file rk2_WL_integrator.f90.
|
private |
Definition at line 32 of file rk2_WL_integrator.f90.
|
private |
Definition at line 32 of file rk2_WL_integrator.f90.
|
private |
Dummy buffers holding the terms /f$M_i.
Definition at line 32 of file rk2_WL_integrator.f90.
|
private |
Definition at line 31 of file rk2_WL_integrator.f90.
|
private |
Definition at line 34 of file rk2_WL_integrator.f90.
|
private |
Definition at line 34 of file rk2_WL_integrator.f90.
|
private |
Definition at line 34 of file rk2_WL_integrator.f90.
|
private |
Standard gaussian noise buffers.
Definition at line 34 of file rk2_WL_integrator.f90.
|
private |
Buffer holding the subsequent states of the first MAR.
Definition at line 36 of file rk2_WL_integrator.f90.
|
private |
Buffer holding the subsequent states of the second MAR.
Definition at line 37 of file rk2_WL_integrator.f90.