This icon is a data icon for files of regular gridded lat-long data in ASCII format (ASCII matrix). Being a data icon, it doesn’t exist "on its own", you create it by creating/modifying a data file according to some predetermined format that Metview understands. Once you do this a LatLongMatrix icon is automatically created by Metview.
From ASCII Data File to LLMatrix Icon
An ASCII file containing a regular grid of Lat Long data with individual values separated by blank spaces (spaces, tabs) and rows separated by newline characters, is known as an LLMatrix (Latitude Longitude Matrix).
With a simple addition to the file you can circumvent the need to encode the data in GRIB format - Metview assigns a particular icon to this type of ASCII data files and they can be used just like GRIB files. The procedure is as follows :
- Edit the file outside the Metview environment - if the file is brought into the Metview environment prior to being modified as described below, it is assigned a Notes icon which can’t be modified afterwards. If you have done this, delete the Notes icon (you may need to copythe file back to a storage folder outside the Metview environment, using the UNIX prompt).
- Add some lines of information to the beginning of the file, then save it - these header lines provide required information - grid mesh, geographical extent, parameter name, ..., that allow Metview to "understand" the file.
- Move/copy/link the file into the Metview environment. When this is done, Metview assigns an LLMatrix icon to the file automatically as it recognises the format details of the header you have introduced in the previous step.
The file is now ready to be used as a normal GRIB file (as input, visualisation, etc). You can also convert it to a GRIB file through the icon Save result action.
There is no macro language equivalent - use macro read() function to read the ASCII data.
An alternative to this procedure is to use the Matrix icon which does not require you to introduce a header in the ASCII file and allows you to specify a path for a remote file. It is however more limited in scope.
Adding a Header to an ASCII Data File
The modification required to make Metview understand an ASCII Matrix data file, consists of adding a few lines to the beginning of the ASCII data file :
- The first line must contain the keyword
- Then follow with a variable number of elements (one per line) such as grid mesh, geographical extent, parameter name, ...
- Then add a line with the keyword
The original data follows these lines. Schematically your file will look like :
The LLMatrixHeader elements that you have to add (the lines between
#DATA) are detailed (list and description) in "LLMatrix Header Components" below. The
#DATA lines act as delimiters, separating data from header elements.
LLMatrix Header Components
The header parameters which you can specify are as follows :
Geographical parameter. Enter the northernmost coordinate of your field (southern latitudes are negative), e.g.
NORTH=70. This parameter must always be given
Geographical parameter. Enter the westernmost coordinate of your field (western longitudes are negative), e.g.
WEST=-120. This parameter must always be given
Geographical parameter. Enter the number of grid points from North to South, e.g.
NLAT=240. This parameter must always be given.
Geographical parameter. Enter the number of grid points from West to East, e.g.
NLON=121 . This parameter must always be given
Geographical parameter. Enter the grid resolution(s) in degrees as two numbers separated by a slash (E-W resolution and N-S resolution), e.g.
GRID=2.5/2.5. This parameter must always be given
Ordering parameter. Enter the data horizontal scanning direction as a two letter string :
WE for West to East (default), or
EW for East to West. This parameter is optional.
Ordering parameter. Enter the data vertical scanning direction as a two letter string:
NS for North to South (default), or
SN for South to North. This parameter is optional.
Ordering parameter. Enter the data primary scanning direction as a string :
HORIZONTAL (default) to read data row by row or
VERTICAL to read data column by column. Depending on which you choose you may have to specify either
VSCAN. This parameter is optional.
Ordering parameter. Enter the value used for missing values within your data matrix, e.g.
MISSING=-99. The default value is the maximum floating point value of the machine you are using (hence unlikely to occur in a data file). This parameter is optional.
Contents parameter. Enter the value of the parameter number, e.g.
PARAM=129. The default value is
255 , a GRIB generic value. These numbers are defined in GRIB Table 2 (e.g.
T=130 ). There are several versions of this table and you may use parameter
TABLE2 to specify which version you want to use. This parameter is optional.
Contents parameter. Enter the version number of GRIB Table 2 that contains the definition of the parameter
PARAM ., e.g.
TABLE2=128 . Version numbers
128-254 are reserved for local use, while other numbers are defined by WMO for international exchange (currently using 1). The default value is
128 , for the default ECMWF GRIB Table 2. Other local tables have been defined at ECMWF, such as
131, 140, 151, 160, 170, 254 . This parameter is optional.
Contents parameter. Enter the pressure level of data in hPa, e.g.
LEVEL=500 . Model levels are not catered for. If
LEVEL is not given, surface level is assumed. This parameter is optional.
Contents parameter. Enter the code of the generating centre, e.g.
CENTRE=98 (default). Use your own centre code if outside ECMWF (see GRIB Table 0). This parameter is optional.
Time parameter. Enter the date of your data as a string with the format
YYYYMMDD.hh , e.g.
DATE=19980425.25 (= 06h00 of the 25th April 1998). Note how the time of day is expressed as a fraction of the date. Alternatively, you can use dates relative to today, e.g.
DATE=-2 (two days ago), but these cannot handle time of the day. Default date is 0 , i.e. today. This parameter is optional.
Time parameter. Forecast time step in hours, e.g.
FCAST=48 . Use this if your data is forecast data valid at
DATE+FCAS . If
FCAST is not used or it is set to 0 , the data is interpreted as being analysis.
The example below shows the header of a LLMatrix with data starting at 90N, 0W covering the whole globe with a grid of mesh 1.5 degrees; hence dimensions are
121=1+(90-(-90))/1.5). Data is organised by row and is to be scanned from West to East. Data is analysis of 850mb Temperature for 06h00 of the 4th January 1998. The
LLMatrixHeader has the following format :