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 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 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.
Code Block |
---|
&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)). |
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 boundary conditions, LMCCIEC = false, ! .. and their interpolation in time from the climatology files |
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 |
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) Edit code in ifs/setup/suspecg2.F90 (under K3DINI=7 in suspecg2: line 1049 onwards). This corrects the initial fields:
Code Block |
---|
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:
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.
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.
HTML |
---|
<script type="text/javascript" src="https://software.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 | ||||||
---|---|---|---|---|---|---|
| ||||||
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.
|