1 |
Package longstep |
2 |
================ |
3 |
|
4 |
This package allows the passive tracer time step to be longer than that for |
5 |
dynamical fields: the ptracers are updated only every LS_nIter time step. |
6 |
Dynamical fields are averaged over LS_nIter time steps and are available as |
7 |
fields LS_* (declared in LONGSTEP.h): |
8 |
|
9 |
original fld. averaged fld. |
10 |
------------------------------ |
11 |
UVEL LS_uVel |
12 |
VVEL LS_vVel |
13 |
WVEL LS_wVel |
14 |
THETA LS_theta |
15 |
SALT LS_salt |
16 |
IVDConvCount LS_IVDConvCount |
17 |
Qsw LS_Qsw |
18 |
|
19 |
Kwx LS_Kwx |
20 |
Kwy LS_Kwy |
21 |
Kwz LS_Kwz |
22 |
|
23 |
KPPdiffKzS LS_KPPdiffKzS |
24 |
KPPghat LS_KPPghat |
25 |
|
26 |
The T and S time step remains the same as that for u,v,... |
27 |
|
28 |
|
29 |
Packages that use ptracers (like DIC) need to be adapted: |
30 |
|
31 |
1. replace dtTracerLev by PTRACERS_dTLev |
32 |
2. replace THETA, SALT, etc. by their longstep averages from the table above. |
33 |
This should be made between #ifdef ALLOW_LONGSTEP ... #endif. |
34 |
(You need to #include "LONGSTEP.h") |
35 |
|
36 |
The package is activated by including "longstep" in packages.conf. There is |
37 |
no "use_LONGSTEP", the package is always on when compiled. |
38 |
|
39 |
|
40 |
The run-time parameters are set in data.longstep. The default is: |
41 |
|
42 |
&LONGSTEP_PARM01 |
43 |
LS_nIter=1, |
44 |
LS_whenToSample=0, |
45 |
& |
46 |
|
47 |
LS_nIter :: number of dynamical time steps between ptracer time steps. |
48 |
LS_whenToSample :: when to sample dynamical fields for the longstep average |
49 |
0 - at beginning of timestep (reproduces offline results) |
50 |
1 - after first THERMODYNAMICS but before DYNAMICS |
51 |
(use use old U,V,W for advection, but new T,S for GCHEM if |
52 |
staggerTimeStep=.FALSE.; reproduces online with |
53 |
staggerTimeStep=.FALSE. for LS_nIter=1) |
54 |
2 - after DYNAMICS and second THERMODYNAMICS |
55 |
(use new U,V,W and T,S; reproduces online with |
56 |
staggerTimeStep=.TRUE. for LS_nIter=1) |
57 |
|
58 |
Default is to sample dynamical fields at the beginning of the time step. This |
59 |
reproduces results from offline runs with unshifted time averages used for the |
60 |
dynamical fields. |
61 |
|
62 |
To have a time stepping closer to the online model (and reproduce results |
63 |
for LS_nIter=1), use |
64 |
|
65 |
LS_whenToSample=1 if staggerTimeStep=.FALSE. |
66 |
LS_whenToSample=2 if staggerTimeStep=.TRUE. |