Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
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 :
Mathdisplay |
---|
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 scripts 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.
Code Block | ||
---|---|---|
| ||
&NAEPHY
LEPHYS=false, ! turns off all physics
LERADI=false, ! ..and radiation
&NAMPHY
LREASUR=false, ! This may be needed to avoid reading surface fields. |
Code Block | ||
---|---|---|
| ||
&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:
Code Block | ||
---|---|---|
| ||
&NAMDYNCORE LDYNCORE=true, ! the initial prognostic fields are set up in suspecg2 LHELDSUAREZ=true, ! the idealized simplified HSHeld-Suarez physics will be called under ec_phys_drv NTESTCASE=15, ! orflat anythingorog, largeuniform enoughsurface inpressure orderand tono gowind; toor theanything "else"large caseenough in ! in suspecg2:order flatto orog,go uniformto surfacethe pressure"else" andcase noin windsuspecg2.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.
Code Block | ||
---|---|---|
| ||
&NAMCT0 N3DINI=7, ! thermal profile to start HSHeld-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)). |
Info |
---|
For more information on controlling the model output, see How to control OpenIFS output |
Code Block | ||
---|---|---|
| ||
&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
Note |
---|
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:
Code Block |
---|
USE YOMDYNCORE, ONLY: LAQUA, LDYNCORE |
to
Code Block |
---|
USE YOMDYNCORE, ONLY: LAQUA, LDYNCORE, LHELDSUAREZ |
and the line containing
Code Block |
---|
LLDYN=LDYNCORE.AND.NOT.(LAQUA.OR.LHELDSUAREZ) |
to
Code Block |
---|
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/Edit code in 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:
Code Block |
---|
ELSEIF ( K3DINI == 7 ) THEN
! code changes
|
Code Block |
ZPRESHX(0)=VAHYRVAB%VAH(0)+VBHYRVAB%VBH(0)*ZVP00 DO JLEV=NFLEVG,1,-1 ZPRESHX(JLEV)=VAHYRVAB%VAH(JLEV)+VBHYRVAB%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:
Code Block | ||
---|---|---|
| ||
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
Model fields from experiment
Acknowledgements
OpenIFS would like to thanks Aneesh Subramanian (University of Oxford) and Sylvie Malardel (ECMWF) for their contribution in preparing this materialFig. 1 : 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.
Fig. 2 : 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.
Acknowledgement
HTML |
---|
<script type="text/javascript" src="https://softwarejira.ecmwf.int/issues/s/en_UKet2vtj/787/12/1.2.5/_/download/batch/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector.js?collectorId=5fd84ec6"></script> |
Excerpt Include | ||||||
---|---|---|---|---|---|---|
|
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
|