ERA-Interim Vertical Coordinate Conventions
and
Numerical Attributes

Data Support Section
Computational and Information Systems Laboratory
National Center for Atmospheric Research1

20 October 2008

1The National Center for Atmospheric Research is sponsored by the National Science Foundation.

### Introduction Diagram illustrates orientation of 31 model levels in ERA-15 (left), and 60 model levels in ERA-40 and ERA-Interim (right). Used with permission of European Centre for Medium-Range Weather Forecasts (ECMWF).
The ERA-Interim (and ERA-40) vertical dimension is defined by an eta ( ) coordinate whereby a purely pressure coordinate at the top and upper levels of the model atmosphere transitions to a hybrid pressure-sigma coordinate at mid- to low-levels, and finally to a terrain-following sigma ( ) coordinate at the lowest few levels and model surface. See figure at right. Pressure in the eta coordinate is a function of surface pressure Ps and a pair of time-independent coefficients denoted by a and b that vary in the vertical, but not the horizontal, direction. In this case

pk( , , t) = ak + bk Ps( , , t)

where k is a generalized vertical index, longitude, latitude, t time, and s is simply "surface". This relationship is of no mean practical utility, playing an essential role in computing vertical integrals and derivatives, finite difference forms of derived fields such as geopotential height, and vertical interpolation schemes, to name just a few. The rest of this document provides details about ERA-Interim vertical coordinate conventions and numerical values of the ak's and bk's. Operational aspects of the ERA-Interim vertical coordinate can be viewed as part of the ECMWF Integrated Forecast System (IFS) documentation package, Part III: Dynamics and Numerical procedures, 2.2.1: Vertical Discretization.

### ERA-Interim vertical coordinate conventions (ERA-Interim and ERA-40 share identical conventions and values)

The following schematic illustrates the arrangement of ERA-Interim "full" model levels, and model "half-levels", which in this document are referred to as model "interfaces". A model "layer" includes a single model level, and is bounded by two model interfaces, one above, and one below. The uppermost interface of the model represents the top of the atmosphere (TOA) where the pressure is uniformly zero, and the lowermost interface of the model represents the surface where the pressure is given by the surface pressure Ps. In ERA-Interim, model level data is archived on 60 model levels arranged from top to bottom, and the coefficients a and b are specified for the 61 model interfaces (see for example ERA-40 Archive document referenced below, 2002), also arranged from top to bottom. Model levels (implying archived data), and a and b at interfaces are highlighted in red in the schematic.

```
a (Pa)      b (Pa Pa-1)

================== TOP OF MODEL ATMOSPHERE ===================== i = 1         a =  0.00000   b = 0.00000

---------------------- model level ------- (data) ---------- j = 1           a = 10.00000   b = 0.00000

========================= interface ============================ i = 2         a = 20.00000   b = 0.00000

---------------------- model level ------- (data) ---------- j = 2           a = 28.21708   b = 0.00000

========================= interface ============================ i = 3         a = 38.42530   b = 0.00000

---------------------- model level ------- (data) ---------- j - 1

========================= interface ============================ i - 1

---------------------- model level ------- (data) ---------- j

========================= interface ============================ i

---------------------- model level ------- (data) ---------- j + 1

========================= interface ============================ i = 59        a =  7.36774   b = 0.99402

---------------------- model level ------- (data) ---------- j = 59          a =  3.68387   b = 0.99582

========================= interface ============================ i = 60        a =  0.00000   b = 0.99763

---------------------- model level ------- (data) ---------- j = 60 = J      a =  0.00000   b = 0.99881

======================= MODEL SURFACE ========================== i = 61 = I    a =  0.00000   b = 1.00000
```
In the next section we describe how the numerical values of all the a and b are defined or derived.

### Numerical values of a and b coefficients

The 61 model interface, or half-level, a and b coefficients highlighted in red in the diagram below are taken directly from the Grid Definition Section (GDS) of ERA-Interim model level grib records. (The GDS of a grib record can be examined by decoding the grib record with the EMOSLIB "gribex" subroutine and printing out the values of the "ksec2" and "psec2" arrays returned by gribex. The values of the 61 a and b coefficients are stored in words 11 to 132 of psec2, i.e. the "vertical coordinate parameters", a total of 122 values.)

In contrast, ERA-Interim model level grib records do not contain information about the 60 a and b coefficients for model levels (i.e. "full" levels). In this case a and b must be derived.

The simplest approach, which is implied for example in Section 3.2 of the ERA-40 Archive document (2002), is to obtain the model level a and b coefficients by averaging the interface a and b coefficients immediately above and below the model level. In the Archive document, pressure at model levels is defined by

pj = ½(pi-1 + p1)

where pi-1 is the interface pressure immediately above model level j, and pi is the interface pressure immediately below model level j. Note that for convenience and schematic purposes only we have used the subscripting conventions in the diagram shown above. These subscripts in no way are meant to define any sort of computational indexing. The same pressure at the model level j can be also written in terms of its own a and b's:

pj = aj + bj Ps

Expanding pi-1 and pi, we have

pj = ½(ai-1 + bi-1 Ps) + ½(ai + bi Ps)

or

pj = ½(ai-1 + ai) + ½(bi-1 + bi) Ps

which implies aj = ½(ai-1 + ai) and bj = ½(bi-1 + bi).

An alternative method of obtaining model level a's and b's involves the use of an equation for pj derived by Simmons and Burridge (1981) in an energy and angular-momentum conserving vertical finite-difference scheme. Namely, for all model levels except the uppermost model level,

pj = ½(pi - pi-1) / ln( pi / pi-1 ).

(This is Equation 3.17 of Simmons and Burridge; pj at the uppermost model level is given as one-half the positive difference of the pressure of the interfaces bounding the uppermost model level.) Since pi and pi-1 are functions of Ps, for a given model level one may compute a range of pj's for a range of Ps. It is then straight forward to compute aj and bj for the given model level from linear regression (x = Ps, y = pj, y = aj + bj x). Linear regression is more than justified due to the high correlation of Ps and pj, approaching nearly unity where the slope is nonzero (model level 24 and below for ERA-Interim). This is repeated for all model levels. Trenberth et al (1993) documented this methodology, which has been applied in numerous studies of ECMWF reanalyses (e.g. Trenberth et al, 2002).

In the following schematic, model level a and b coefficients obtained by averaging model interface a's and b's are shown in small print at model levels. Conversely, model level a's and b's obtained using Equation 3.17 of Simmons and Burridge (1981) and linear regression are shown in normal print at model levels.

```

i      j              a (Pa)              b (Pa Pa-1)

1==============      0.00000   =======   0.0000000000
1-------     10.00000   -------   0.0000000000
10.00000                     0.0000000000
2==============     20.00000   =======   0.0000000000
2-------     28.21708   -------   0.0000000000
29.21265                     0.0000000000
3==============     38.42530   =======   0.0000000000
3-------     49.98032   -------   0.0000000000
51.03655                     0.0000000000
4==============     63.64780   =======   0.0000000000
4-------     78.55990   -------   0.0000000000
79.64240                     0.0000000000
5==============     95.63700   =======   0.0000000000
5-------    113.95865   -------   0.0000000000
115.06000                     0.0000000000
6==============    134.48300   =======   0.0000000000
6-------    156.40275   -------   0.0000000000
157.53350                     0.0000000000
7==============    180.58400   =======   0.0000000000
7-------    206.49757   -------   0.0000000000
207.68150                     0.0000000000
8==============    234.77900   =======   0.0000000000
8-------    265.36379   -------   0.0000000000
266.63750                     0.0000000000
9==============    298.49600   =======   0.0000000000
9-------    334.81736   -------   0.0000000000
336.23400                     0.0000000000
10==============    373.97200   =======   0.0000000000
10-------    417.65684   -------   0.0000000000
419.29500                     0.0000000000
11==============    464.61800   =======   0.0000000000
11-------    518.15328   -------   0.0000000000
520.13450                     0.0000000000
12==============    575.65100   =======   0.0000000000
12-------    641.97983   -------   0.0000000000
644.43450                     0.0000000000
13==============    713.21800   =======   0.0000000000
13-------    795.39773   -------   0.0000000000
798.43900                     0.0000000000
14==============    883.66000   =======   0.0000000000
14-------    985.47705   -------   0.0000000000
989.24500                     0.0000000000
15==============   1094.83000   =======   0.0000000000
15-------   1220.98141   -------   0.0000000000
1225.65000                      0.0000000000
16==============   1356.47000   =======   0.0000000000
16-------   1512.77059   -------   0.0000000000
1518.55500                      0.0000000000
17==============   1680.64000   =======   0.0000000000
17-------   1874.28858   -------   0.0000000000
1881.45500                      0.0000000000
18==============   2082.27000   =======   0.0000000000
18-------   2322.20062   -------   0.0000000000
2331.08000                      0.0000000000
19==============   2579.89000   =======   0.0000000000
19-------   2877.15401   -------   0.0000000000
2888.15500                      0.0000000000
20==============   3196.42000   =======   0.0000000000
20-------   3564.72489   -------   0.0000000000
3578.35500                      0.0000000000
21==============   3960.29000   =======   0.0000000000
21-------   4416.61251   -------   0.0000000000
4433.50000                      0.0000000000
22==============   4906.71000   =======   0.0000000000
22-------   5443.47153   -------   0.0000000000
5462.36500                      0.0000000000
23==============   6018.02000   =======   0.0000000000
23-------   6641.50297   -------   0.0000000000
6662.32500                      0.0000000000
24==============   7306.63000   =======   0.0000000000
24-------   8013.73416   -------   0.0000357072
8035.84000                      0.0000379118
25==============   8765.05000   =======   0.0000758235
25-------   9547.94455   -------   0.0002582745
9570.58500                      0.0002686093
26==============  10376.12000   =======   0.0004613950
26-------  11205.26776   -------   0.0011050095
11226.76000                     0.0011382775
27==============  12077.40000   =======   0.0018151600
27-------  12907.86276   -------   0.0033758375
12926.35000                     0.0034481400
28==============  13775.30000   =======   0.0050811200
28-------  14563.16574   -------   0.0079925049
14577.55000                     0.0081120100
29==============  15379.80000   =======   0.0111429000
29-------  16089.64450   -------   0.0157437621
16099.65000                     0.0159104000
30==============  16819.50000   =======   0.0206779000
30-------  17426.43396   -------   0.0271913249
17432.35000                     0.0273995500
31==============  18045.20000   =======   0.0341212000
31-------  18534.04796   -------   0.0426640634
18536.45000                     0.0429058000
32==============  19027.70000   =======   0.0516904000
32-------  19391.86413   -------   0.0623432068
19391.40000                     0.0626121000
33==============  19755.10000   =======   0.0735338000
33-------  19991.39244   -------   0.0863148755
19988.65000                     0.0866042500
34==============  20222.20000   =======   0.0996747000
34-------  20330.53822   -------   0.1145456939
20326.05000                     0.1148488500
35==============  20429.90000   =======   0.1300230000
35-------  20412.95420   -------   0.1468931238
20407.20000                     0.1472035000
36==============  20384.50000   =======   0.1643840000
36-------  20247.54377   -------   0.1831184931
20240.95000                     0.1834300000
37==============  20097.40000   =======   0.2024760000
37-------  19847.90837   -------   0.2228975265
19840.85000                     0.2232045000
38==============  19584.30000   =======   0.2439330000
38-------  19231.75199   -------   0.2658305349
19224.55000                     0.2661280000
39==============  18864.80000   =======   0.2883230000
39-------  18420.17664   -------   0.3114553888
18413.10000                     0.3117390000
40==============  17961.40000   =======   0.3351550000
40-------  17437.18529   -------   0.3592572773
17430.45000                     0.3595235000
41==============  16899.50000   =======   0.3838920000
41-------  16309.17935   -------   0.4086814167
16302.95000                     0.4089275000
42==============  15706.40000   =======   0.4339630000
42-------  15064.35888   -------   0.4591434825
15058.75000                     0.4593675000
43==============  14411.10000   =======   0.4847720000
43-------  13732.06950   -------   0.5100402350
13727.15000                     0.5102410000
44==============  13043.20000   =======   0.5357100000
44-------  12342.20552   -------   0.5607618683
12338.00000                     0.5609390000
45==============  11632.80000   =======   0.5861680000
45-------  10924.65395   -------   0.6107037189
10921.15000                     0.6108575000
46==============  10209.50000   =======   0.6355470000
46-------   9508.77831   -------   0.6592766211
9505.93000                      0.6594080000
47==============   8802.36000   =======   0.6832690000
47-------   8122.84150   -------   0.7059171133
8120.58000                      0.7060275000
48==============   7438.80000   =======   0.7287860000
48-------   6793.32107   -------   0.7501002561
6791.56000                      0.7501915000
49==============   6144.32000   =======   0.7715970000
49-------   5544.40298   -------   0.7913508267
5543.05000                      0.7914250000
50==============   4941.78000   =======   0.8112530000
50-------   4397.38096   -------   0.8292546819
4396.34500                      0.8293140000
51==============   3850.91000   =======   0.8473750000
51-------   3370.10331   -------   0.8634693838
3369.30500                      0.8635160000
52==============   2887.70000   =======   0.8796570000
52-------   2476.36323   -------   0.8937345668
2475.74000                      0.8937705000
53==============   2063.78000   =======   0.9078840000
53-------   1725.33559   -------   0.9198849561
1724.84500                      0.9199120000
54==============   1385.91000   =======   0.9319400000
54-------   1121.01763   -------   0.9418612920
1120.63600                      0.9418810000
55==============    855.36200   =======   0.9518220000
55-------    661.63000   -------   0.9597198053
661.34750                      0.9597335000
56==============    467.33300   =======   0.9676450000
56-------    339.05225   -------   0.9736451215
338.86350                      0.9736540000
57==============    210.39400   =======   0.9796630000
57-------    138.24579   -------   0.9839613161
138.14160                      0.9839665000
58==============     65.88920   =======   0.9882700000
58-------     36.66772   -------   0.9911418983
36.62847                      0.9911445000
59==============      7.36774   =======   0.9940190000
59-------      3.68805   -------   0.9958234116
3.68387                      0.9958245000
60==============      0.00000   =======   0.9976300000
60-------      0.00000   -------   0.9988145314
0.00000                      0.9988150000
61==============      0.00000   =======   1.0000000000
```

Assuming a surface pressure Ps of 105 Pa (1000 hPa), the following figure shows the resulting difference in pressure at model levels for the two methods. It is clear that the averaging method yields pressures systematically higher than the alternative method, by as much as 27 Pa (0.27 hPa) at model mid-levels. ERA-Interim model level pressure difference, pave - p3.17, where the subscript "ave" refers to pressure computed with model a's and b's obtained by averaging the interface a's and b's immediately above and below the model level, and similarly the subscript "3.17" refers to pressure computed with model a's and b's obtained by using Equation 3.17 of Simmons and Burridge (1981) and the methodology of Trenberth et al (1993). A surface pressure Ps of 105 Pa (1000 hPa) is assumed in this example.
For general purposes, the averaged model level a's and b's are quite sufficient, introducing a potential error of no more than 0.3 hPa in model level pressure. On the other hand, model level a's and b's obtained using the alternative method build in the natural log and are more suited to intensive computational projects, such as vertical interpolation, where accuracy and internal consistency are of primary importance.

### On-line a and b coefficients

For convenience, we provide individual web pages listing the coefficients described above, as well as Fortran 77 subroutines for retrieving and storing the coefficients in one-dimensional arrays.

Interface level ("half-level") a coefficients, Pa, Fortran 77 subroutine get_a_interface

Interface level ("half-level") b coefficients, Pa Pa-1, Fortran 77 subroutine get_b_interface

Model level ("full-level") a coefficients, Simmons and Burridge (1981) and Trenberth et al (1993), Pa, Fortran 77 subroutine get_a_model_alt

Model level ("full-level") b coefficients, Simmons and Burridge (1981) and Trenberth et al (1993), Pa Pa-1, Fortran 77 subroutine get_b_model_alt

Model level ("full-level") a coefficients, averaging, Pa, Fortran 77 subroutine get_a_model_ave

Model level ("full-level") b coefficients, averaging, Pa Pa-1, Fortran 77 subroutine get_b_model_ave

We also offer a netCDF file containing all ERA-Interim model level coordinate variables and metadata (9516 bytes): ERA-Interim_coordvars.nc. ("Shift middle click" to download.) The metadata is as follows (ncdump -h ERA-Interim_coordvars.nc):

```
netcdf ERA-Interim_coordvars {
dimensions:
lvl = 60 ;
lvlp1 = 61 ;
lat = 256 ;
lon = 512 ;
variables:
int lvl(lvl) ;
lvl:long_name = "model level" ;
lvl:units = "dimensionless index" ;
int lvlp1(lvlp1) ;
lvlp1:long_name = "interface level" ;
lvlp1:units = "dimensionless index" ;
float lat(lat) ;
lat:long_name = "latitude" ;
lat:units = "degrees north" ;
float lon(lon) ;
lon:long_name = "longitude" ;
lon:units = "degrees east" ;
float a_model_alt(lvl) ;
a_model_alt:long_name = "a model alt" ;
a_model_alt:units = "Pa" ;
float b_model_alt(lvl) ;
b_model_alt:long_name = "b model alt" ;
b_model_alt:units = "Pa Pa**-1" ;
float a_model_ave(lvl) ;
a_model_ave:long_name = "a model ave" ;
a_model_ave:units = "Pa" ;
float b_model_ave(lvl) ;
b_model_ave:long_name = "b model ave" ;
b_model_ave:units = "Pa Pa**-1" ;
float a_interface(lvlp1) ;
a_interface:long_name = "a interface" ;
a_interface:units = "Pa" ;
float b_interface(lvlp1) ;
b_interface:long_name = "b interface" ;
b_interface:units = "Pa Pa**-1" ;
float g_wgt(lat) ;
g_wgt:long_name = "Gaussian weights" ;
g_wgt:units = "dimensionless" ;
int reduced_pts(lat) ;
reduced_pts:long_name = "Reduced Gaussian points" ;
reduced_pts:units = "unitless" ;

// global attributes:
:center = "98 (ECMWF)" ;
:subcenter = "0 (ECMWF)" ;
:reanalysis = "ERA-Interim" ;
:data = "ERA-Interim model coordinate variables" ;
:model_level_synonymous = "full level" ;
:interface_level_synonymous = "half level" ;
:_model_alt_explanation = "model level coefficients obtained using equation 3.17 of Simmons and Burridge (1981) and methodology of Trenberth et al (1993)" ;
:_model_ave_explanation = "model level coefficients obtained by averaging interface level coefficients immediately above and below given model level" ;
:vertical_parameter_convention = "top to bottom" ;
:longitudinal_convention = "east to west" ;
:latitudinal_convention = "north to south" ;
:Simmons_and_Burridge_1981 = "An energy and angular-momentum conserving finite-difference scheme and hybrid vertical coordinates. Mon. Wea. Rev., 109, 758-766." ;
:Trenberth_et_al_1993 = "Vertical interpolation and truncation of model-coordinate data. NCAR Technical Note NCAR/TN-396+STR, 54 pp." ;
}

}
```

### References

European Centre for Medium-Range Weather Forecasts, 2002: The ERA-40 Archive. Reading, ECMWF, 40 pp. (On-line and A4 PostScript versions are available from the ECMWF ERA-40 Project Plan link.)

Simmons, A. J., and D. M. Burridge, 1981: An energy and angular-momentum conserving finite-difference scheme and hybrid vertical coordinates. Mon. Wea. Rev., 109, 758-766.

Simmons, A. J., S. Uppala, D. Dee, and S. Kobayashi, 2007: ERA-Interim: New ECMWF reanalysis products from 1989 onwards. ECMWF Newsletter No. 110 — Winter 2006/07.

Trenberth, K. E., J. C. Berry, and L. E. Buja, 1993: Vertical interpolation and truncation of model-coordinate data. NCAR Technical Note NCAR/TN-396+STR, 54 pp.

Trenberth, K. E., D. P. Stepaniak, and J. M. Caron, 2002: Accuracy of atmospheric energy budgets. J. Climate, 15, 3343-3360.

Web page written and maintained by David Stepaniak
davestep@ucar.edu 