Advanced topics
Major Topics (External Pages)
Minor Topics (On This Page)
Low level configuration
Controlling model timers
CanAM and NEMO each control their own timers, and CanCPL also tracks time. The total runtime must be configured consistently across components. In addition, each component timestep must divide equally into a coupling cycle.
CanAM
Start timestep is controlled by
kstart, which is specified inmodl.datnamelistEnd timestep is controlled by
kfinal, which is also specified inmodl.datnamelistTimestep is specified by
delt. In general, the model iteration in steps from year 1.
NEMO
Start timestep is controlled by
nn_it000in thenamelist.Stop timestep is controlled by
nn_itendin thenamelist.Timestep is controlled by
nn_rdtin thenamelist.
CanCPL
Some concept of time in the env file?
Coupling frequency is specified by
ksteps(where?). Coupling will actually happen whenever the NEMO and CanAM timsteps divide evenly into this.
MPI topology
CanAM
Controlled at compile time by
_PAR_NNODE_Aincppdef_sizes.h. This must match number of tasks provided at runtime. Openmp generally controlled at runtime by theOMP_NUM_THREADSenvironment variable. When running the coupled model, CanAM MUST appear first, because its master task insists on being task zero. You cannot put CanCPL or NEMO before CanAM on the mpirun etc call.
NEMO
Controlled at runtime by the
jpni,jpniandjpnijvariables innamelist.
Coupling and model exchanges
CanAM
In CanAM, coupler_in and coupler_out subroutines (actually live in CanCPL/src/cpl_agcm.F90), generally
control the flow of information between CanAM and CanCPL.
CanNEMO In NEMO, the nemo coupling namelist specifies which fields are exchanged, and it chooses between various NEMO options for intepreting these field (e.g. conservative). This is distinct from the remapping type in the coupler.
CanCPL There are various lists in the coupler which must be modified to exchange a new field.
The coupler specifies the type of remapping operation performed (e.g. conservative vs bilinear etc).