23 REAL(KIND=8),
DIMENSION(:),
ALLOCATABLE :: X
24 REAL(KIND=8),
DIMENSION(:),
ALLOCATABLE :: Xnew
25 REAL(KIND=8),
DIMENSION(:),
ALLOCATABLE :: tend
26 REAL(KIND=8) :: t=0.d0
29 print*,
'Model MAOOAM v1.3 WL' 30 print*,
'Loading information...' 41 IF (
writeout)
OPEN(10,file=
'evol_WL.dat')
42 IF (
writeout)
OPEN(12,file=
'ptend_WL.dat')
43 IF (
writeout)
OPEN(13,file=
'mem_WL.dat')
49 print*,
'Starting an initial transient time full model evolution...' 54 IF (mod(t/
t_trans*100.d0,0.1)<t_up)
WRITE(*,
'(" Progress ",F6.1," %",A,$)') t/
t_trans*100.d0,char(13)
57 print*,
'Starting a transient time to initialize memory ...' 65 IF (mod(t/
t_trans_mem*100.d0,0.1)<t_up)
WRITE(*,
'(" Progress ",F6.1," %",A,$)') t/
t_trans_mem*100.d0,char(13)
74 print*,
'Starting a transient time WL model evolution...' 85 print*,
'Starting the WL time evolution...' 95 IF (mod(t,
tw)<
dt)
THEN 100 IF (mod(t/
t_run*100.d0,0.1)<t_up)
WRITE(*,
'(" Progress ",F6.1," %",A,$)') t/
t_run*100.d0,char(13)
103 print*,
'Evolution finished.' 108 IF (
writeout)
OPEN(10,file=
'mean_field_WL.dat')
The stochastic models parameters module.
Module to load the initial condition.
integer ndim
Number of variables (dimension of the model)
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 ret...
real(kind=8) muti
Memory update time interval.
real(kind=8) tw
Write all variables every tw time units.
program maooam_wl
Fortran 90 implementation of the modular arbitrary-order ocean-atmosphere model MAOOAM - WL parameter...
logical writeout
Write to file boolean.
real(kind=8) t_run
Effective intergration time (length of the generated trajectory)
subroutine, public acc(x)
Accumulate one state.
The equation tensor for the coupled ocean-atmosphere model with temperature which allows for an exten...
real(kind=8) t_trans_stoch
Transient time period of the stochastic model evolution.
real(kind=8) dtn
Square root of the timestep.
real(kind=8), dimension(:), allocatable, public ic
Initial condition vector.
subroutine, public init_integrator
Subroutine that initialize the MARs, the memory unit and the integration buffers. ...
The WL tensors used to integrate the model.
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.
real(kind=8) dtsn
Square root of the intrisic resolved dynamics time step.
subroutine, public init_stat
Initialise the accumulators.
Module with the WL rk2 integration routines.
The model parameters module.
subroutine, public compute_m3(y, dt, dtn, savey, save_ev, evolve, inter, h_int)
Compute the integrand of at each time in the past and integrate to get the memory term...
Module that compute the memory term of the WL parameterization.
real(kind=8) function, dimension(0:ndim), public mean()
Function returning the mean.
real(kind=8) dt
Integration time step.
subroutine, public load_ic
Subroutine to load the initial condition if IC.nml exists. If it does not, then write IC...
subroutine, public init_wl_tensor
Subroutine to initialise the WL tensor.
real(kind=8) t_trans
Transient time period.
subroutine, public init_aotensor
Subroutine to initialise the aotensor tensor.
real(kind=8) t_trans_mem
Transient time period to initialize the memory term.
real(kind=8) dts
Intrisic resolved dynamics time step.