1. USER'S GUIDE TO THE FORECAST MODEL
1.1. Introduction
The NMC Spectral Model became operational in l980. The original code, designed by J. Sela, was developed for the IBM computer and has been documented in detail (J. Sela, l980, 1982). Major revision of the code was made in the period between l984 and l986 to adopt the model to the Cyber 205 vector machine, and to incorporate the GFDL physics package.
Recently, the code has been modified to incorporate various diagnostics on dependent variables, surface parameters and physical processes for the Dynamical Extended Range Forecast (DERF) experiments. This documentation explains Version 3 of the DERF. Future (planned) modification to the code is presented in Appendix 8A.
1.2. Programs
In order to perform forecasts, several programs are needed to pre-process the input analysis field, prepare the surface field and post-process the predicted results. These programs also require some documentation in this section.
1.2.1. Pre-processor (SMI)
This program is needed only when initial states are available on pressure levels. In the operational system, analysis increments on the standard pressure levels are interpolated and incremented directly on the model sigma level initial guess field so that this program step is not required. The major function of the program is to convert the initial pressure level spherical coefficient data to grid point values, interpolate to sigma levels and convert back to the spherical coefficients.
1.2.2. Surface Merge (ASTC)
The program creates and/or merges surface data fields from climatology, analyzed sea surface temperature, and predicted surface fields. It also interpolates the monthly climatology to the date and time specified, and perfor ms the SST correction for spectrally truncated topography.
1.2.3. Radiation (HEAT)
The program computes long wave and short wave radiative heating rates and short and long wave flux at the surface and passes them to the forecast program. It also computes land-surface temperature from an energy balance at the surface for dead start. Inputs to the program are the sigma file generated either by the analysis or by the pre-processor program, and the surface fields created by the surface merge program. Outputs of the program are the short wave and long wave heating rates on the model Gaussian grids, modified surface fields (surface temperature and deep soil temperatures) for the dead start and two types of diagnostic files. This program is normally executed every l2 forecast hours but this interval can be modified by a change in the job control structure.
1.2.4. Forecast (SMF)
The program performs time integration and initialization. Input files to this program are the three output files from the radiation, i.e. sigma level dependent variables, surface fields and the radiative heating. The program also requires normal modes for the initialization. The outputs of the program are the predicted dependent variables, predicted surface parameters and four types of diagnostic fields.
1.2.5. Post Processor (SMP)
The predicted fields on the model sigma levels are interpolated to the standard pressure levels in this program. The input file consists of the sigma level dependent variables and the output file consists of the pressure level variables, which can be used as input to the preprocessor program (see 8.2.l). The file also contains several processed arrays (e.g. boundary layer parameters and tropopause parameters).
1.3. Input and Output
The files used in the forecast system are classified into the following types:
- Forecast/diagnostic files
- Constant files
- Namelist files
1.3.1. Forecast/Diagnostic Files
The Forecast/Diagnostic files contain the fields produced by the analysis/forecast system and are listed as follows:
l. Pressure file
Contains atmospheric variables on standard pressure surfaces; input to pre-processor and output of the post processor; created from sigma files (require model sigma levels and orography). (See Table 8.1 for the detailed structures.)
2. Sigma file
Contains atmospheric variables on sigma surface and model sigma levels as well as topography; input to the radiation and forecast program; output from forecast program; created by the model integration. (See Table 8.2 for the file structure.)
3. Surface file
Contains surface parameters; output from the surface merge program and from the forecast program; created from surface climatology and sea surface temperature analysis at the initial time and modified by the forecast pr ogram. (See Table 8.3 for the file structure.)
1.3.2. Diagnostic Files
There are six kinds of diagnostic files; two (H2D and H3D) are outputs from the radiation program and the rest are from the forecast program. The structure of the files is presented in Appendix 8B.
l. H2D: Various radiative fluxes, i.e. short wave and long wave at the surface and at the top of the model.
2. H3D: Three dimensional radiative cooling rates for short and long waves.
3. F2D: Surface parameters, precipitation, surface fluxes and stresses.
4. F3D: Three dimensional distribution of latent heating and moistening due to various physical processes
5. Zonal: Zonally averaged sigma level variables and physical diagnostics.
6. Grid point file: Time series of various and physical diagnostics for given grid points.
1.3.3. Constant Files
The major components of the constant files are the surface climatologies, the sea surface temperature analysis, and the model normal modes. Topography is also included in one of these files although it is also included in t he sigma file. The model sigma levels comprise another set of important constants but are specified in the program using a DATA statement. The list of the constant files and their structures are given in Table 8.4.
1.3.4. Namelist Files
The execution of the programs can be controlled by the namelist input parameters. Under normal conditions, it is not necessary to specify any namelist parameters since default values are set for standard runs. Details of t he namelist parameters for the major programs are listed in Table 8.5 to 8.9.
Table 8.1 Structure of a Pressure File
|
Pressure File (record number) |
Contents |
Length (bytes) |
Type |
|
1 |
see NMC Office
Note 85 |
32 |
binary |
|
2 |
forecast hour |
4 |
real |
|
|
initial hour ,
month , day , year |
4(each) |
integer |
|
3 |
Spherical
Coefficients of Geopotential , Z , at
1000 mb |
MDIM(1)
* 4 |
real |
|
4 |
U-wind
component at 1000 mb |
MDIMV(2)
* 4 |
real |
|
5 |
V-wind
component at 1000 mb |
MDIMV(2)
* 4 |
real |
|
... |
at standard
p-levels |
" |
" |
|
36,37,38 |
Same at 50 mb |
" |
" |
|
39,..., |
Spherical
Coefficients of Relative Humidity at 1000 mb(4) , then next five
standard levels ending at... |
MDIM * 4 |
real |
|
44 |
300 mb |
" |
" |
|
45 |
Temperature at
1000 mb |
" |
" |
|
... |
at standard
p-levels |
" |
" |
|
56 |
... at 50 mb |
" |
" |
|
57 |
w at 1000 mb(5)
|
" |
" |
|
... |
at standard
p-levels |
" |
" |
|
66 |
... at 100 mb |
" |
" |
|
67 |
Surface
pressure (mb) |
" |
" |
|
68 |
Mean RH between
surface and 500 mb |
" |
" |
|
69 |
Mean RH between
model layers 2,3 |
" |
" |
|
70 |
Mean RH between
model layers 4,5 |
MDIM * 4 |
real |
|
71 |
Total
precipitable water (up to 300 mb) |
" |
" |
|
72 |
Potential
temperature in lowest model layer |
" |
" |
|
73 |
Temperature at
surface , extrapolated from lowest 2 model layers |
" |
" |
|
74 |
w in lowest
model layer |
" |
" |
|
75 |
Specific
humidity in lowest model layer |
" |
" |
|
76 |
Tropopause
temperature (6) |
" |
" |
|
Pressure File (record number) |
Contents |
Length (bytes) |
Type |
|
77 |
Tropopause
pressure (6) |
" |
" |
|
78 |
u in lowest
model layer |
" |
" |
|
79 |
v in lowest
model layer |
" |
" |
|
80 |
Tropopause u
(6) |
" |
" |
|
81 |
Tropopause v (6) |
" |
" |
|
82 |
Tropopause
vector wind shear (6) |
" |
" |
|
83 |
N.H. precipitation
(7,8) |
65 x 65 x 4 |
" |
|
84 |
Global
precipitation (8) |
IDIM x JDIM x 4(9) |
" |
l) MDIM is the number of spherical coefficients for scalar fields, i.e. (MWAVE+l)*(MWAVE+l)*2 when MWAVE is the maximum wave resolution (rhomboidal truncation).
2) MDIMV is the number of spherical coefficients for wind component (MWAVE+l)*(MWAVE+2)*2.
3) Standard pressure levels for z, u, v, and T are l000, 850, 700, 500, 400, 300, 200, l50, l00, 70, 50 mb.
4) Relative humidity is available at l000, 850, 700, 500, 400 and 300 mb.
5) Omega is available at l000, 850, 700, 500, 400, 300, 250, 200, l50, and l00 mb.
6) All the tropopause quantities are evaluated from standard pressure level quantities.
7). Precipitation over Northern Hemisphere is on the polar stereographic projection (65x65 grid).
8) Upper limit of precipitation is set (0.l27 mm) for graphics purposes.
9) I and J dimensions of model computational grid (changes with horizontal truncation)
Table 8.2 Structure of a Sigma File
|
Sigma File
(record number) |
Contents |
Length (bytes) |
Type |
|
1 |
see
NMC Office Note 85 |
32 |
binary |
|
2 |
forecast
hour |
4 |
real |
|
|
initial
hour |
4 |
integer |
|
|
initial
month |
4 |
" |
|
|
initial
day |
4 |
" |
|
|
initial
year |
4 |
" |
|
|
sigma
levels (1) |
(KDIM
+ 1) x 4 |
real |
|
|
sigma
layers (2) |
KDIM
x 4 |
" |
|
3 |
Orography
in meters (spherical coefficients) |
MDIM
x 4 |
" |
|
4 |
Spherical
coefficients of ln (ps) , where ps is surface pressure
(cb) |
" |
" |
|
5-22 |
Temperature
(°K) in model layers 1-18
(spherical coefficients) |
" |
" |
|
23,24 |
Divergence
and Vorticity alternating through layer 1.... |
" |
" |
|
...57,58 |
....thru
layer 18 |
" |
" |
|
59-70 |
Specific
humidity in model layers 1-18
(spectral coefficients) |
" |
" |
Note all the spherical coefficients are stored in this order: real part, imaginary part, N-S index and E-W wavenumber.
l) Sigma levels are the level starting from s =l at the surface and ending at s =0 at the top. Only derived quantities, (vertical velocity, various fluxes) are defined on these levels.
2) Sigma layers are where dependent variables (T, D, z , u, v, q) are defined
Table 8.3 Structure of a Surface File
|
Surface
File (record number) |
Contents |
Length
(bytes) |
Type |
|
1 |
see NMC Office Note 85 |
32 |
binary |
|
2 |
Forecast hour |
4 |
real |
|
|
Initial hour |
4 |
integer |
|
|
Initial month |
4 |
" |
|
|
Initial day |
4 |
" |
|
|
Initial year |
4 |
" |
|
3 |
Surface temperature |
IDIM x JDIM x 4 |
real |
|
4 |
Soil wetness |
" |
" |
|
5 |
Snow depth |
" |
" |
|
6 |
Sub-surface temperature , layer 1 (TG1) |
" |
" |
|
7 |
Sub-surface temperature , layer 2 (TG2) |
" |
" |
|
8 |
Sub-surface temperature , layer 3 (TG3) |
" |
" |
|
9 |
Surface roughness length |
" |
" |
|
10 |
Surface background albedo(1) |
" |
" |
|
11 |
Surface-type mask(2) |
" |
" |
|
12 |
High cloud fraction |
" |
" |
|
13 |
Middle cloud fraction |
" |
" |
|
14 |
Low cloud fraction |
" |
" |
Note: All are gaussian gridded arrays of IDIM x JDIM, where I=1 is 0°E (then eastward) and J=1 is near the North Pole (then southward).
(l) Albedo is the background albedo that is modified by snow cover.
(2) Ocean = 0., land = l., and sea ice = 2.
Table 8.4 List and Structure of the Constant Files
|
Constant
file-type |
Record number |
Contents |
Length (bytes) |
Type |
|
Sea
surface temperature analysis |
1 |
Drag
coefficient (not used) |
IDIM
x JDIM x 4 |
real |
|
|
2-13 |
SST
(all records contain the same array) |
" |
" |
|
Climatological
SST |
1-12 |
January-December |
" |
" |
|
Climatological
soil wetness |
1 |
Number
of grid points in E-W direction |
4 |
integer |
|
|
|
Number
of grid points in N-S direction |
4 |
integer |
|
|
|
Month |
4 |
integer |
|
|
|
January
mean soil wetness |
IDIM
x JDIM x 4 |
real |
|
|
2,...11, |
... |
" |
" |
|
|
12 |
Same
as soil wetness record 1 , except for December |
" |
" |
|
Climatological
albedo |
1-12 |
Same
structure as for soil wetness |
" |
" |
|
Climatological
sea ice mask |
1-12 |
Same
structure as for soil wetness, where sea ice =1 and other data=0 |
" |
" |
|
Climatological
snow depth |
1-12 |
same
structure as for soil wetness |
" |
" |
|
Annual
mean deep soil temperature |
1 |
Number
of grid points in E-W direction |
4 |
integer |
|
|
|
Number
of grid points in N-S direction |
4 |
integer |
|
|
|
Zero |
4 |
integer |
|
|
|
Soil
temperature at a depth of 5 cm |
IDIM
x JDIM x 4 |
real |
|
|
2 |
Same
as record 1 , except for a depth of 50 cm |
" |
" |
|
|
3 |
Same
as record 1 , except for a depth of 500 cm |
" |
" |
|
Annual
mean surface roughness |
1 |
Number
of grid points in E-W direction |
4 |
integer |
|
Constant
file-type |
Record number |
Contents |
Length (bytes) |
Type |
|
|
|
Number
of grid points in N-S direction |
4 |
integer |
|
|
|
Zero |
4 |
integer |
|
|
|
Annual
mean surface rouighness |
IDIM
x JDIM x 4 |
real |
|
Land-Sea
mask |
1 |
Same
structure as for surface roughness ,where land=1 and sea=0 |
" |
" |
|
Orography |
1 |
Surface
elevation |
" |
" |
|
Climatological
cloud fraction(1) |
1 |
Number
of grid points in E-W direction |
4 |
integer |
|
|
|
Number
of grid points in N-S direction |
4 |
integer |
|
|
|
Month |
4 |
integer |
|
|
|
January
high cloud fraction |
IDIM
x JDIM x 4 |
real |
|
|
2,...,11, |
... |
" |
" |
|
|
12 |
Same
structure as record 1 , except for December high cloud fraction |
" |
" |
|
|
13 |
Same
structure as record 1 , except for January middle cloud fraction |
" |
" |
|
|
14,...,23, |
... |
" |
" |
|
|
24 |
Same
structure as record 1 , except for December middle cloud fraction |
" |
" |
|
|
25 |
Same
structure as record 1 , except for January low cloud fraction |
" |
" |
|
|
26,...,35, |
... |
" |
" |
|
|
36 |
Same
structure as record 1 , except for December low cloud fraction |
" |
" |
(1) from 6 years of NIMBUS-7 monthly mean data.
Table 8.5 Namelist file for pre-processor
|
NUM parameters |
Reference |
Default |
Type |
|
NUM(1) |
Unit
number of orography |
0 |
integer |
|
NUM(2) |
Unit
number of input pressure coefficients |
0 |
" |
|
NUM(3) |
Unit
number of output sigma coefficients |
0 |
" |
NOTE : For the DERF version (Version 3), the NUM parameters are not read in as a namelist but are read in using formatted read of 28I2. For the newer versions NUM should be specified as namelist /NAMSPI/ parameter.
Table 8.6 Namelist file for surface merge program
|
Parameter |
Reference |
Default |
Type |
|
CSSTS |
Weights(1)
for blending forecast value and climatology for surface temperature
over ocean |
1.0 |
real |
|
CSSTL |
Forecast/Climatology
(F/C) weights for surface temperature over land and sea ice |
0.0 |
" |
|
CALBL |
F/C
weight for albedo over land and sea ice |
0.0 |
" |
|
LWETL |
F/C
weight for wetness over land and sea ice |
0.0 |
" |
|
CSNOL |
F/C
weight for snow depth over land and sea ice |
0.0 |
" |
|
CZOL |
F/C
weight for surface roughness over land and sea ice |
0.0 |
" |
|
CTG1 |
F/C
weight for soil temperature at 5 cm |
0.0 |
" |
|
CTG2 |
F/C
weight for soil temperature at 50 cm |
0.0 |
" |
|
CCHI |
F/C
weight for high cloud fraction |
0.0 |
" |
|
CCMI |
F/C
weight for middle cloud fraction |
0.0 |
" |
|
CCLO |
F/C
weight for low cloud fraction |
0.0 |
" |
|
NOTINT |
Control
for interpolating climatology to date : 1=yes, 0=no |
0 |
integer |
|
LFMERGE |
Control
for merging predicted array and climatology : 1=merge at any forecast hour,
0=merge only for forecast hour >0 |
2 |
" |
|
ICHECK |
Control
for debugging : 1=debug print, 0=no debug print |
0 |
" |
|
RLAPSE |
Temperature
lapse rate used for correcting sea surface temperature |
6.5
x 10-2 |
real |
|
SLLND |
Value
of land-sea mask over land |
1.0 |
" |
|
SLSEA |
Value
of land-sea mask over ocean |
0.0 |
" |
|
AICICE |
Value
of sea ice mask over ice |
1.0 |
" |
|
AICSEA |
Value
of sea ice mask over land and ocean |
0.0 |
" |
|
ALBMAX |
Maximum
possible albedo(2) over the globe |
0.8 |
" |
|
ALBMIN |
Minimum
possible albedo(2) |
0.06 |
" |
|
ALBSEA |
Albedo
over ocean(3) |
0.059 |
" |
|
ALBICE |
Albedo
over sea ice(3) |
0.5 |
" |
|
ALBSNO |
Albedo
over snow(3) |
0.6 |
" |
|
WETMAX |
Maximum
wetness (mm) (2) |
150. |
" |
|
WETMIN |
Minimum
wetness(2) |
0.0 |
" |
|
WETSEA |
Wetness
over ocean |
150. |
" |
|
WETICE |
Wetness
over sea ice |
150. |
" |
|
WETSNO |
Wetness
over snow |
150. |
" |
|
SNOMAX |
Maximum
snow depth (cm) (2) |
5100. |
" |
|
SNOMIN |
Minimum
snow depth(2) |
0.0 |
" |
|
SNOSEA |
Snow
depth over ocean |
0.0 |
" |
|
SNOICD |
Snow
depth over sea ice poleward of 60° |
20. |
" |
|
ZOMAX |
Maximum
roughness (2) |
250. |
" |
|
ZOMIN |
Minimum
roughness (2) |
1.
x 10-4 |
" |
|
ZOSEA |
Roughness
over ocean(4) |
1.
x 10-4 |
" |
|
ZOICE |
Roughness
over sea ice |
1.0 |
" |
|
ZOSNO |
Roughness
over snow |
0.1 |
" |
|
SSTMAX |
Maximum
surface temperature(2) |
310. |
" |
|
SSTMIN |
Minimum
surface temparature(2) |
271.16 |
" |
|
SSTLND |
Surface
temperature over land(3) |
290. |
" |
|
SSTICE |
Surface
temp[erature over sea ice(3) |
271.16 |
" |
|
SSTSNO |
Surface
temperature over snow |
273.16 |
" |
(l) The value of l.0 weights l00% to the forecast and 0.0 weights l00% to the climatology.
(2) If these values are exceeded, they are reset to the specified maximum or minimum.
(3) To be modified in the radiation program.
(4) To be modified in the forecast program.
Table 8.7 Namelist file for radiation program
|
Parameter |
Reference |
Default |
Type |
|
IDIURN |
Switch for diurnal (>0) or nondiurnal (<0) |
1 |
integer |
|
KCLDS |
Switch for clouds, where: |
1 |
" |
|
|
0=no clouds |
|
|
|
|
1=zonal mean |
|
|
|
|
2=zonal assymmetric |
|
|
|
IDCC |
Switch for deep cloud correction (LW radiation) , where 0=off, 1=on |
1 |
" |
|
KTBAL |
Switch for obtaining initial land/sea ice surface temperature from an energy balance, where 0=no, 1=yes |
1 |
" |
|
ITSC1 |
Number of iterations for initial surface temperature energy balance calculation |
1 |
" |
|
KGDAS |
Switch for diagnostics output file, where 0=no, 1=yes |
0 |
" |
|
IRADDG |
Forecast interval (hours) of diagnostic output |
12 |
" |
|
ICHECK |
Switch for code debug print, where 0=no, 1=yes |
0 |
" |
|
LATDBG |
Latitude point for debug print |
0 |
" |
|
LONDBG |
Longitude point for debug print |
0 |
" |
Note : All radiation namelist parameters are absorbed into the forecast namelist parameters for version 4 (and higher) of the model.
Table 8.8 Namelist file for forecast program
Namelist parameters for the forecast model use integer array NUM and real array CON , and they are classified by their addresses , where :
1. File unit number, forecast hour control, initialization options (1-80).
2. Switches for model physics (100-899) - Convection (100-199), Shallow convection (200-299), Large-scale condensation (300-399), Dry convective adjustment (400-499), Radiation (500-599), Horizontal diffusion (600-699), Vertical diffusion (700-799), Surface physics (800-899).
3. Switches for diagnostics and debugging code (1000-1100).
|
Parameter |
Reference |
Default |
Type |
|
ENDHOUR |
Control
word to end forecast loop. Job aborts with fatal error if input FHOUR
(forecast hour) greater than ENDHOUR. |
24 |
real |
|
NUM(1) |
Unit
number of input sigma coefficients at time t |
18 |
integer |
|
NUM(2) |
Unit
number of input sigma coefficients at time t-Dt: if zero then set to 18 when FHOUR=0., and set to
19 when FHOUR > 0. |
0 |
" |
|
NUM(3) |
Unit
number of output sigma coefficients at time t |
20 |
" |
|
NUM(4) |
Unit
number of output sigma coefficients at
time t-Dt |
21 |
" |
|
NUM(5) |
Initialization
options : 0= no initialization |
-1 |
" |
|
|
1=
adiabatic initialization |
|
|
|
|
2=
diabatic initialization |
|
|
|
|
-1=
if FHOUR=0 then diabatic initialization, but if FHOUR > 0 then no
initialization. |
|
|
|
NUM(6) |
Number
of time-steps of diabatic heating calculations for initialization |
7 |
" |
|
NUM(7) |
Number
of time integration steps to perform. If zero, then its computed from
specified forecast period , CON(7) , and the time increment , CON(1). |
0 |
" |
|
NUM(8) |
Number
of CON(7) hour forecast steps to be performed during one execution of
forecast code. |
1 |
" |
|
NUM(9)
* |
Horizontal
diffusion coefficient for divergence specifier. Coefficient is expressed as
NUM(9) x 10.**NUM(10) |
8 |
" |
|
NUM(10)
* |
|
15 |
" |
|
NUM(11) |
Number
of files used for normal modes |
1 |
" |
|
NUM(12) |
Unit
number for input eigenvectors. |
80 |
integer |
|
NUM(13) |
Unit
number of output zonal-average diagnostics |
54 |
" |
|
NUM(14) |
Unit
number of output initialized sigma
coefficients. If zero, then no output. |
22 |
" |
|
NUM(18) |
Number
of vertical modes to be initialized. |
4 |
" |
|
NUM(19) |
Number
of iterations to be performed during inialization. |
2 |
" |
|
NUM(20)
* |
Horizontal
diffusion specifier for temperature, vorticity, and moisture. Coefficient is
expressed as NUM(20) x 10.**NUM(21) |
6 |
" |
|
NUM(21)
* |
|
15 |
" |
|
NUM(23) |
Unit
number of input surface fields. |
10 |
" |
|
NUM(24) |
Unit
number of output surface fields. |
11 |
" |
|
NUM(25) |
Output
interval of diagnostics (hours) |
24 |
&qu |