...
Section | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Panel | |||||||
---|---|---|---|---|---|---|---|
| |||||||
The GRIB files from an existing experiment can also be used to create initial files for the shallow-water model. In the following example, the initial files from the T21 test case distributed with the OpenIFS tarfile are used.
For idealized configurations the field in the initial data file is used correctly set the grid. The actual values are overwritten by the model code to set the idealized start. Hence stl1 is used in this example to for the initial gridpoint file because its values will be overwritten and not used to initialize the model fields. |
If you have access to the MARS archive at ECMWF then an example of how to retrieve single level fields for use with the SW model is:
...
The examples below show the variables to change from normal forecast settings.
Warning |
---|
If using the Euler method, make sure a smaller suitable choice of timestep compared to the semi-Lagrangian setup is used. Also, ensure the Asselin time-filter is on.using the Euler method, make sure a smaller suitable choice of timestep compared to the semi-Lagrangian setup is used. Also, ensure the Asselin time-filter is on. |
Code Block | ||||
---|---|---|---|---|
| ||||
! Shallow-water model with semi-Lagrangian advection.
! The variables below must be set in order to correctly configure
! the shallow-water model.
! Other variables (if present) can be left as-is.
For namelist : NAMDYN
HDIRVOR=1.e15, ! horizontal diffusion parameters
HDIRDIV=1.e15, ! see code for further description
HDIRSP=1.e15,
LHDIFFM=true,
NDIFFACT=6,
TSTEP=1800.0, ! model timestep (resolution dependent)
LSETTLS=true, ! ensure SL scheme is enabled
LSETTLST=true,
SITR=350., ! reference temperature
REFGEO=78452.0, ! reference geopotential for SW model
For namelist: NAMCT0
NFPOS=0, ! disable fullpos post-processing
N2DINI=1, ! 2D initialisation switch
LTWOTL=true, ! enable two-time level SL scheme
LSLPHY=false, ! turn off Sl physics option
LSPRT=false, ! turn off 'virtual temperature' as spectral variable
NFRHIS=10, ! frequency of results output
For namelist: NAMARG
NCONF=201, ! select shallow-water configuration
LSLAG=true, ! enable SL scheme
For namelist: NAMPAR0
NPROC=1, ! only use 1 MPI process in 2-D.
NPRGPEW=1, ! required for 2-D configurations
For namelist: NAEPHY
LEPHYS=false, ! turn off ECMWF Physics package (master switch)
LERADI=false, ! turn off radiation scheme
For namelist: NAMDYNA
LGRADSP=.false., ! disable de-aliasing the pressure gradient term
LRFRIC=false, ! turn off Rayleigh friction
For namelist: NAMDIM
NUNDEFLD=0, ! make sure uninitialised variables are all set to zero
|
Code Block | ||||
---|---|---|---|---|
| ||||
! Shallow-water model with semi-Lagrangian advection. ! The variables below must be set in order to correctly configure ! the shallow-water model. ! Other variables (if present) can be left as-is. For namelist : NAMDYN HDIRVOR=1.e15, ! horizontal diffusion parameters HDIRDIV=1.e15, ! see code for further description HDIRSP=1.e15, LHDIFFM=true, NDIFFACT=6, TSTEP=1800.0, ! model timestep (resolution dependent) LSETTLS=true, ! ensure SL scheme is enabled LSETTLST=true, SITR=350., ! reference temperature REFGEO=78452.0, ! reference geopotential for SW model For namelist: NAMCT0 LRFRIC=false, ! turn of Rayleigh friction LFPOS=false, ! disable fullpos post-processing N2DINI=1, ! 2D initialisation switch NCONF=201, ! select shallow-water configuration LTWOTL=true, ! enable two-time level SL scheme LSLAG=true, ! enable SL scheme LSLPHY=false, ! turn off Sl physics option LSPRT=false, ! turn off 'virtual temperature' as spectral variable LFRHISNFRHIS=10, ! frequency of results output For namelist: NAEPHY LEPHYS=false, ! turn off ECMWF Physics package (master switch) LERADI=false, ! turn off radiation scheme For namelist: NAMDYNA LGRADSP=.false., ! disable de-aliasing the pressure gradient term For namelist: NAMDIM NUNDEFLD=0, ! make sure uninitialised variables are all set to zero |
...
Code Block | ||||
---|---|---|---|---|
| ||||
! Shallow-water model with Euler advection. ! The variables below must be set in order to correctly configure ! the shallow-water model. ! Other variables (if present) can be left as-is. For namelist: NAMDYN TSTEP=300.0, ! reduce timestep for Euler stepping REPS1=0.01, ! turn on Asselin time-filtering coefficient REPS2=0.01, LHDIFFM=.false., ! horizontal diffusion on / off LSETTLS=.false., ! extrapolations in SL scheme LSETTLST=.false., ! ditto For namelist: NAMCT0 NCONF=201, ! model configuration: 201 = shallow-water (see yomct0.F90) LSLAG=.false., ! turn off semi-lagrangian scheme LTWOTL=.false., ! disable two-time-level SL scheme. LRFRIC=.false., ! turn off Rayleigh friction LSLPHY=.false., ! turn off split time-step physics LVERTFE=.false., ! turn off vertical finite element scheme N2DINI=1, ! initialise 1 = Haurwitz wave, 2 = real fields LSPRT=.false., ! if T temperature is 'virtual temperature' LFPOS=false, ! turn off fullpos diagnostics, does not work with SW N3DINI=0, ! no 3D initialisation NSTOP=600, ! no. of steps to run NFRHIS=10, ! frequency of results output For namelist: NAEPHY LEPHYS=false, ! turn off ECMWF Physics package (master switch) LERADI=false, ! turn off radiation scheme For namelist: NAMDYNA LGRADSP=.false., ! disable de-aliasing the pressure gradient term For namelist: NAMDIM NUNDEFLD=0, ! make sure uninitialised variables are all set to zero |
Also, add a blank namelist to fort.4
for the idealized cases. Some configurations selected using N2DINI
will expect to find a namelist NAMSWE
.
Code Block |
---|
&NAMSWE / |
...
Gotchas
There are a number of issues that can cause the model to fail. Please make sure:
...
In the routine suspecb, you can choose between idealized cases or read one level of a grib file (N2DINI is the key for this choice). suspecb is called at cnt3 level - the first part of the GP computations are done from a routine called CPG2 which is a very simplified version of the 3D GP computation, the other (lagged, mostly SL computation) are done in CPG2_LAG Both cpg2 and cpg2_lag are called by the driver routine gp_model which is also the driver routine of the 3D GP computation. - the spectral computation are done under spc with the 2D configurations calling spc2.
Info |
---|
with thanks to Nils Wedi and Sylvie Malardel, ECMWF. |
...
Excerpt Include | ||||||
---|---|---|---|---|---|---|
|