ORIGIN OF THE DATA The 3-hourly archive data come from NCEP's EDAS. (Note: information here may not be up to date. Check the NCEP website for current information.) The EDAS was implemented into the operational early Eta model runs during 1995. The EDAS is an intermittent assimilation system consisting of successive 3-h Eta model forecasts and Optimum Interpolation (OI) analyses for a pre-forecast period (12-h for the early Eta) on a 38 level, 48 km grid. A 6-h forecast from the GDAS is used to to start the assimilation at 12-h prior to model start time. The following is a schematic for the 12Z cycle
6-h GDAS | 3-h eta | 3-h eta | 3-h eta | 3-h eta | 48-h Eta ------------> |-------->|-------->|-------->|-------->|------------------....--> Forecast | fcst | fcst | fcst | fcst | forecast 00Z 03Z 06Z 09Z 12Z where; | | = Eta OI analysis |The 3-h analysis updates allow for the use of high frequency observations, such as wind profiler, NEXRAD, and aircraft data. ARL saves the successive 3-hour analyses, twice each day to produce a continuous data archive. Some fields such as precipitation and surface fluxes are not available in the analysis files, therefore these are taken from the successive 3-hour forecast files. The 48 km data are interpolated to a 40 km, Lambert Conformal Grid, covering the continental United States.
ARL PROCESSING The ARL archiving program produces a 3 hourly, 40 km dataset on pressure surfaces. In addition, 14 gridpoints on the western end of the model domain and 10 gridpoints on the northern end of the domain are removed to reduce the size of the semi-monthly files (currently at about 627 Mbytes). The data are put into semi-monthly files and made available online at ARL=s server (ftp://www.arl.noaa.gov/pub/archives/edas40/ ) for easy access via ftp.
DATA DESCRIPTION The archive data file contains the data in synoptic time sequence, without any missing records (missing data is represented by nulls and the forecast hour is set to negative 1). Therefore it is possible to position randomly to any point within a data file. Each file contains data for approximately two weeks: days one through 15, and 16 through the end of the month. At each time period, an index record is always the first record, followed by surface data, and then all data in each pressure level from the ground up. EDAS data are available in the files called edas.mmmyy.00#, where mmm is the month (e.g. jul) and yy is the year (97) and 00# refer to:
00#=001 - days 1-15 of the month
00#=002 - rest of the month
Data Grid The data are on a 185 by 129 Lambert Conformal grid (Fig. 1- EDAS grid domain). In Table 1, the data grid is identified by the model that produced the data, a grid identification number, the number of X and Y grid points, the Pole position (latitude and longitude) of the grid projection, a reference latitude and longitude, the grid spacing (km) which is true at the reference point, the orientation with respect to the reference longitude, the angle between the axis and the cone, and a point on the grid in grid units and latitude and longitude . The given pole position results in the lowest left grid point to have a value of (1,1).
Table 1. Data Grid Specifications
Model Type | ID # | X Max | Y Max | Pole Lat. | Pole Lon. | Ref. Lat. | Ref. Lon. | Ref. Grid | Orientation | Cone Ang. | Sync X | Sync Y | Sync Lat. | Sync Lon. |
EDAS | 28 | 185 | 129 | 90N | 0W | 35N | 95W | 40 | 0 | 25.0 | 1.0 | 1.0 | 12.190N | 133.459W |
Table 2. Meteorological Fields contained in the EDAS Archive.
Field | Units | Label | Data Order |
Pressure reduced to mean sea level | hPa | MSLP | S1 |
Temperature at surface | K | TMPS | S2 |
Accumulated precipitation (3 h accumulation) | m | TPP3 | S3 |
Accumulated convective precipitation (3 h accumulation) | m | CPP3 | S4 |
Soil temperature | K | SOLT | S5 |
Volumetric soil moisture content | frac. | SOLW | S6 |
Temperature at 2m AGL | K | TO2M | S7 |
Relative Humidity at 2m AGL | % | RH2M | S8 |
U-component of wind at 10 m AGL | m/s | U10M | S9 |
V-component of wind at 10 m AGL | m/s | V10M | S10 |
Potential temperature at 10 m AGL | K | P10M | S11 |
Pressure at surface | hPa | PRSS | S12 |
Water equivalent of snow depth | Kg/m2 | WESD | S13 |
Categorial snow (yes=1, no=0) | CSNO | S14 | |
Categorial ice (yes=1, no=0) | CICE | S15 | |
Categorial freezing rain (yes=1, no=0) | CFZR | S16 | |
Categorial rain (yes=1, no=0) | CRAI | S17 | |
Latent heat net flux at surface | W/m2 | LHTF | S18 |
Sensible heat net flux at surface | W/m2 | SHTF | S19 |
Friction velocity | m/s | USTR | S20 |
Visibility | m | VSBY | S21 |
Surface roughness | m | RGHS | S22 |
Low cloud cover | % | LCLD | S23 |
Middle cloud cover | % | MCLD | S24 |
High cloud cover | % | HCLD | S25 |
Total cloud cover | % | TCLD | S26 |
Downward short wave radiation flux | W/m2 | DSWF | S27 |
Water temperature | C | WTMP | S28 |
Convective available potential energy | J/Kg | CAPE | S29 |
Convective inhibition | W/m2 | CINH | S30 |
Standard lifted index | W/m2 | LISD | S31 |
Best 4-layer lifted index | W/m2 | LIB4 | S32 |
U-component of wind with respect to grid | m/s | UWND | U1 |
V-component of wind with respect to grid | m/s | VWND | U2 |
Geopotential height | gpm* | HGTS | U3 |
Temperature | K | TEMP | U4 |
Pressure vertical velocity | hPa/s | WWND | U5 |
Relative humidity | % | RELH | U6 |
Turbulent kinetic energy | Joul | TKEN | U7 |
Meteorological Fields and Vertical Structure The archived data files contain only some of the fields normally produced by the model at NCEP. These fields were selected according to what is most relevant for transport and dispersion studies and disk space limitations. In Table 2, the fields are identified by a description, the units, and a unique four character identification label that is written to the header label (see Data Grid Unpacking Procedure in a later section) of each record. Data order in the file is given by a two digit code. The first digit indicates if it is a surface (or single) level variable (S) or an upper level variable (U). The second digit indicates the order in which that variable appears in the file. The upper level EDAS data are output on the following 26 pressure surfaces. Table 3 gives the level number corresponding to each data level, which is also written to each header label.
Table 3. Description of Vertical Levels
Level | Height (hPa) |
26 | 50 |
25 | 100 |
24 | 150 |
23 | 200 |
22 | 250 |
21 | 300 |
20 | 350 |
19 | 400 |
18 | 450 |
17 | 500 |
16 | 550 |
15 | 600 |
14 | 650 |
13 | 700 |
12 | 725 |
11 | 750 |
10 | 775 |
9 | 800 |
8 | 825 |
7 | 850 |
6 | 875 |
5 | 900 |
4 | 925 |
3 | 950 |
2 | 975 |
1 | 1000 |
Missing Data Missing data are written as an array of nulls (> =) with a forecast hour of -1 in the header label. The associated field label is defined as "NULL".
Definition File The definition file given in Appendix A summarizes the grid specifications and data fields. The format is such that the first 20 characters are the dummy ID field followed by the data. Much of the information is written into the index record of each time period.
Record 1 consists of a four character string that identifies the source of the meteorological data.
Record 2 is the integer identification of the meteorological data grid (Table 1).
Record 3 is an integer number that identifies the vertical coordinate system. Only four coordinate types are recognized: 1-pressure sigma; 2-pressure absolute; 3-terrain sigma; 4-hybrid sigma.
Records 4 & 5 identifies the pole position of the grid projection. Most projections will either be defined at +90 or -90 depending upon the hemisphere. The longitude would be the point 180 degrees from which the projection is cut.
Records 6 & 7 is the reference position at which the grid spacing is defined.
Record 8 is the grid spacing in km at the reference position.
Record 9 is the grid orientation or the longitude of the meridian which is parallel to the up-down direction of the grid.
Record 10 is the angle between the axis and the surface of the cone. For regular projections it is equal to the latitude at which the grid is tangent to the earth's surface. A polar stereographic grid would be tangent at either 90 or -90, while a Mercator projection is tangent at 0 latitude. A Lambert Conformal projection would be in between the two limits. An oblique stereographic projection would have a cone angle of 90.
Records 11 & 12 are used to equate a position on the grid with a position on the earth as given in Records 13 & 14. Any position is acceptable. It need not even be on the grid.
Record 15 is not currently used.
Records 16 & 17 identify the number of grid points in each direction.
Record 18 is the number of levels in the vertical, including the surface level.
Record 19, through the number of levels, identifies the height of each level in appropriate units according the definition of the vertical coordinate, the number of variables at that level, and the four character identification string for each variable. The height coordinate is as follows for each type of vertical coordinate: 1-sigma (fraction); 2-pressure (mb); 3-terrain (fraction); 4-hybrid (mb-offset.fraction)
Index (INDX) record - first record of each time period
The key to reading the meteorological files is decoding the ASCII index record, the first record of each time period. The first 50 characters of the index record contain the same "header" information as do the other records in the given time period. The four-character label is "INDX". The format for this record is given below. Complete descriptions are similar to the variables in the discussion above of the Definition File.
Format of the Index Record
Format | Information |
A4 | Data Source |
I3 | Forecast hour |
I2 | Minutes associated with data time |
12F7. | 1) Pole Lat, 2) Pole Long, 3) Tangent Lat, 4) Tangent Long, 5) Grid Size, 6) Orientation, 7) Cone Angle, 8) X-Synch pnt, 9) Y-Synch pnt, 10) Synch pnt lat, 11) Synch pnt long, 12) Reserved |
3I3 | 1) Numb x pnts, 2) Numb y pnts, 3) Numb levels |
I2 | Vertical coordinate system flag |
I4 | Length in bytes of the index record, excluding the first 50 bytes |
F6. | height of the first level |
I2 | number of variables at that level |
A4 | variable identification |
I3 | rotating checksum of the packed data |
1X | Reserved space for future use |
Data Grid Unpacking NCEP typically saves their model output in GRIB format. However, at ARL the data are stored in a more compact form and can be directly used on a variety of computing platforms with direct access I/O.
The data array is packed and stored into one-byte characters. To preserve as much data precision as possible, the difference between adjacent grid point=s values is saved and packed rather than the actual values. The grid is then reconstructed by adding the differences between grid values starting with the first value, which is stored in unpacked ASCII form in the header record at grid point (1,1). To illustrate the process, assume that a grid of real data, R, of dimensions i,j is given by the below example.
1,j 2,j .... i-1,j i,j 1,j-1 2,j-1 .... i-1,j-1 i,j-1 .... .... .... .... .... 1,2 2,2 .... i-1,2 i,2 1,1 2,1 .... i-1,1 i,1
The packed value, P, is then given by
Pi,j = (Ri,j - Ri-1,j)* (2**(7-N)),
where the scaling exponent
N = ln dRmax / ln 2 .
The value of dRmax is the maximum difference between any two adjacent grid points for the entire array. It is computed from the differences along each i index holding j constant. The difference at index (1,j) is computed from index (1,j-1), and at 1,1 the difference is always zero. The packed values are one byte unsigned integers, where values from 0 to 126 represent -127 to -1, 127 represents zero, and values of 128 to 254 represent 1 to 127. Each record length is then equal in bytes to the number of array elements plus 50 bytes for the header label information. The 50 byte label field precedes each packed data field and contains the following ASCII data:
Field | Format | Description |
Year | I2 | Greenwich date for which data valid |
Month | I2 | " |
Day | I2 | " |
Hour | I2 | " |
Forecast* | I2 | Hours forecast, zero for analysis |
Level | I2 | Level from the surface up (see Table 3) |
Grid | I2 | Grid identification (see Table 1) |
Variable | A4 | Variable label (see Table 2) |
Exponent | I4 | Scaling exponent needed for unpacking |
Precision | E14.7 | Precision of unpacked data |
Value 1,1 | E14.7 | Unpacked data value at grid point 1,1 |
Sample Program A sample FORTRAN90 program is available from the ARL ftp server ( ftp://gus.arlhq.noaa.gov/pub/archives/utility/chk_data.f ) that can be used to unpack and read the first few elements of the data array for each record of an ARL packed meteorological file.
Appendix A. Definition File - EDAS.CFG
MODEL TYPE: | EDAS |
GRID NUMB: | 28 |
VERT COORD: | 2 |
POLE LAT: | 90. |
POLE LON: | 0. |
REF LAT: | 35. |
REF LON: | -95. |
REF GRID: | 40.0 |
ORIENTATION: | 0. |
CONE ANGLE: | 25. |
SYNC X: | 1.0 |
SYNC Y: | 1.0 |
SYNC LAT: | 12.190 |
SYNC LON: | -133.459 |
SPECIAL: | 0. |
NUMB X: | 185 |
NUMB Y: | 129 |
NUMB LEVELS: | 27 |
LEVEL 1: | 0. 32 MSLP TMPS TPP3 CPP3 SOLT SOLW T02M RH2M U10M V10M P10M PRSS WESD CSNO CICE CFZR CRAI LHTF SHTF USTR VSBY RGHS LCLD MCLD HCLD TCLD DSWF WTMP CAPE CINH LISD LIB4 |
LEVEL 2: | 1000. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 3: | 975. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 4: | 950. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 5: | 925. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 6: | 900. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 7: | 875. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 8: | 850. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 9: | 825. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 10: | 800. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 11: | 775. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 12: | 750. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 13: | 725. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 14: | 700. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 15: | 650. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 16: | 600. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 17: | 550. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 18: | 500. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 19: | 450. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 20: | 400. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 21: | 350. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 22: | 300. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 23: | 250. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 24: | 200. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 25: | 150. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 26: | 100. 07 UWND VWND HGTS TEMP WWND RELH TKEN |
LEVEL 27: | 50. 07 UWND VWND HGTS TEMP WWND RELH TKEN |