Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Panel
bgColorwhite
titleBGColor#f0f0f0
titleCreating initial fields from existing GRIB files

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.

Code Block
titleExtract starting files from existing experiment
collapsetrue
#  Extract a single level (level 1) for the shallow water model
#  and change the experiment id in the file.

grib_copy -w level=1,shortName=vo ICMSHepc8INIT tmp
grib_set -s experimentVersionNumber=epc9 -w experimentVersionNumber=epc8 tmp vo.grb

grib_copy -w level=1,shortName=d  ICMSHepc8INIT tmp
grib_set -s experimentVersionNumber=epc9 -w experimentVersionNumber=epc8 tmp d.grb

grib_copy -w shortName=z          ICMSHepc8INIT z.grb

#  Combine the 3 files to form the spectral initial file
cat vo.grb d.grb z.grb > ICMSHepc9INIT

#  Create gridpoint file (stl1 is used in this example)
grib_copy -w shortName=stl1 ICMGGepc8INIT gg.grb
grib_set -s experimentVersionNumber=epc9 -w experimentVersionNumber=epc8 gg.grb ICMGGepc9INIT

Note that the initial fields themselves are not used with the idealized configurations. The initial files are there to correctly set the grid, hence 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 get 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:

...

It is extremely important to correctly set the NAMELIST to configure the shallow-water model.

Two examples are given here, one for semi-Lagrangian advection, the other for Euler advection. Euler advection must use a regular gaussian grid. It will not work with a reduced grid. The user is free to alter some parameters such as the timestep, filtering etc.

...

Code Block
titlesemi-Lagrangian advection namelist
collapsetrue
!  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
 LFRHIS=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
/
& term

For namelist: NAMDIM
  NUNDEFLD=0,            ! make sure uninitialised variables are all set to zero
/
Code Block
titleEuler advection namelist
collapsetrue
!  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: !  Shallow-water model with Euler
&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
/

 

Gotchas

There are a number of issues that can cause the model to fail. Please make sure:

...