Skip to end of metadata
Go to start of metadata

Introduction

The Held-Suarez test case is a well known benchmark for evaluating the dynamical cores of atmospheric models (see references at end). It uses a flat earth with simple Newtonian relaxation of the temperature field to a zonally symmetric state and Rayleigh damping of the low-level winds to represent boundary-layer friction.

The text below explains how to initialize OpenIFS for this idealized case. It assumes the model will be spun up from rest.

Model Physics

The physics in the IFS model is approximated to an idealized relaxation towards a radiative-convective equilibrium profile.

Radiation and Convection are parameterized as :

\[ Q = -k(T-T_{eq}) \]

where Q is the heating/cooling and k is the relaxation coefficient towards Radiative-Convective equilibrium (Held and Suarez, 1994; Wedi and Smolarkiewicz, 2009).

Configuration

The changes to the OpenIFS namelist and source code to run the model are as follows:

Changes to the Namelist variables:

It is important to correctly set the NAMELIST to configure the Held-Suarez testcase. The variables shown below need to be changed from normal forecast settings.

Switch off the IFS physics
&NAEPHY
   LEPHYS=false,           ! turns off all physics
   LERADI=false,           ! ..and radiation
Change output namelist
&NAMFPC
   NFPPHY=0,   ! No surface fields in post-processing
               ! remove 133 from MFP3DF and MFP3DFP
   NFP3DFT=0,
   NFP3DFV=0,

Activate Held-Suarez testcase

Namelists

To activate, change these variables in the model dynamical core and control setup namelists:

Dynamical core namelist
&NAMDYNCORE
   LDYNCORE=true,       ! the initial prognostic fields are set up in suspecg2
   LHELDSUAREZ=true,    ! the idealized simplified Held-Suarez physics will be called under ec_phys_drv
   NTESTCASE=15,        ! flat orog, uniform surface pressure and no wind; or anything large enough  
                        ! in order to go to the "else" case in suspecg2.F90
   RU00_DYN=0.,         ! initial idealized zonal wind; no wind initially
   RT00_DYN=315.,       ! initial idealized temperature (K)
   RP00_DYN=100000.,    ! initial idealized pressure; uniform pressure 
   NOISEVOR=1,          ! some noise to break the symmetry

NTESTCASE is used in ifs/setup/suspecg2.F90 to essentially set the initial orography to zero and a constant surface pressure. A large value is selected to ensure the code goes into the ELSE clauses and avoids the other test cases. Other orography configurations are possible but the code must be checked as there is some interaction between the NTESTCASE and N3DINI variables.

Control namelist
&NAMCT0
   N3DINI=7,          ! thermal profile to start Held-Suarez case in suspecg2
   NFRPOS = 1,        ! post-processing output frequency; set to every timestep
   NPOSTS(0)=1,       ! number of outputs
   NPOSTS(1)= xxx,    ! the first output (array index '1') will be at time step xxx,
                      ! to test you can try xxx= last time step of your run (NSTOP)).

For more information on controlling the model output, see How to control OpenIFS output

Surface forcing
&NAMMCC
   LMCCEC = false,       ! turn off updating of the surface forcing boundary conditions,
   LMCCIEC = false,      ! .. and their interpolation in time from the climatology files

&NAMPHY
   LREASUR=false,        !  This may be needed to avoid reading surface fields.

For more details about the action of these namelist variables, please see the namelist file in 'ifs/namelist' and it's corresponding module in 'ifs/module' (e.g. ifs/namelist/namct0.nam.h and ifs/module/yomct0.F90).

Changes to code

These changes relate to OpenIFS version 38r1. For later versions please check the code or contact openifs-support@ecmwf.int.

 

(a) Edit ifs/setup/suphy.F90 and change line containing:

USE YOMDYNCORE, ONLY: LAQUA, LDYNCORE

to

USE YOMDYNCORE, ONLY: LAQUA, LDYNCORE, LHELDSUAREZ

and the line containing

LLDYN=LDYNCORE.AND.NOT.LAQUA

to

LLDYN=LDYNCORE.AND.NOT.(LAQUA.OR.LHELDSUAREZ)

to ensure that routine SUPHEC is called for the simplified Held-Suarez physics (this is a bug in OpenIFS 38r1).


(b) Check the code in ifs/setup/suspecg2.F90 (under K3DINI=7 in suspecg2: line 1049 onwards) and edit if necessary. In some versions of OpenIFS, the temperature profile (under K3DINI=7 in suspecg2) is different from what was prescribed in the original paper (same profile as at pole everywhere). The code below is used to go back to the original profile. This corrects the initial fields:

ELSEIF ( K3DINI == 7 ) THEN

! code changes
   ZPRESHX(0)=YRVAB%VAH(0)+YRVAB%VBH(0)*ZVP00
   DO JLEV=NFLEVG,1,-1
      ZPRESHX(JLEV)=YRVAB%VAH(JLEV)+YRVAB%VBH(JLEV)*ZVP00
   ENDDO

   DO JLEV=1,NFLEVG
   DO JWORD=1,NGPTOT
      ZPRS  = 0.5_JPRB * ( ZPRESHX(JLEV)+ZPRESHX(JLEV-1) )
      ZTLAT = 315._JPRB - RDELTA_T*SIN(GELAT(JWORD))**2
      ZTALT = RDELTA_THETA * LOG(ZPRS/ZVP00)*COS(GELAT(JWORD))**2
      ZT(JWORD,JLEV) = MAX ( 200._JPRB, (ZTLAT-ZTALT)*(ZPRS/ZVP00)**(RD/RCPD) )
   ENDDO
   ENDDO
! end of code changes

   CALL REESPE(NFLEVL,NFLEVG,ZTEMP,ZT)
   WRITE (0,*) ' ROUTINE SUSPECG2, DYNAMICAL CORE' ,&
    &' TEMPERATURE SET TO ',ZTEMP(1,1),ZT(1,1),YRGSGEOM_NB%GEMU(1)
 
ELSE

where:

ifs/module/yomdyncore.F90
RDELTA_T         - Held-Suarez test: pole - equator temperature difference
RDELTA_THETA     - Held-Suarez test: tropical heating differential

Other parameters that change the Held-Suarez configuration are defined in yomdyncore.F90.

Initial conditions

You can use any initial files as initial conditions. The initial file in this case is only used to set the model's horizontal and vertical resolution. The prognostic variables read from the file will be overwritten by the code in suspecg2. The orography is flat. There is no initial mean wind, only perturbation in the vorticity to break the symmetry. It may be possible to start from a real case to accelerate convergence towards a real climate, in which case there is no need to use the NOISEVAR variable. However, it can be tricky to keep the model stable at the start. The easiest approach is to start from no wind and run long enough (about a year) until the model reaches an equilibrium.

References

Held I, Suarez M. 1994. A proposal for the intercomparison of the dynamical cores of atmospheric general circulation models. Bull. Am. Meteorol. Soc. 73: 1825–1830.

Wedi, N. P. and Smolarkiewicz, P. K., 2009, A framework for testing global non-hydrostatic models. Q.J.R. Meteorol. Soc., 135: 469–484. doi:10.1002/qj.377

 

Acknowledgements

OpenIFS would like to thanks Aneesh Subramanian (University of Oxford) and Sylvie Malardel (ECMWF) for their contribution in preparing this material.

 

 

 


On this page...

 

 

 

Example plots

Zonal mean wind field from a 1500 day long model run for the Held-Suarez testcase. The model fields are averaged for the last 1000 days. The model was run at T159 spectral resolution.

 

Zonal mean temperature field from a 1500 day long model run for the Held-Suarez testcase. The model fields are averaged for the last 1000 days. The model was run at T159 spectral resolution.