...
vl3, vl4, vl5 -> list variable with description
At UQAM, there There is also a set of 'vl' (variable list) commands (one for each model version) which will give you a list of all the variables in an RPN file. The first description is always correct, but rarely contains the unit. For physics fields take the second description with a grain of salt. If it matches the first one, it's unit is correct as well. If it doesn't match, ignore it. However, to all units of accumulators a 'per second' needs to get added, for example:
...
editfst (also called editfst2000) is a utility used for editing and copying records from RPN standard files into a new or existing RPN standard file. It can do a straight (complete) copy of the input file or it can copy records selectively as indicated from the standard input or from a file of directives named in the "-i" key. One can select (via desire), exclude (via exclure) or modify (zap) records by their:
- TYPVAR: type of variable; 'A'(analysis),'P'(forecast),'X'
- NOMVAR: 4 caracter variable name
- ETIKET: 12 caracter label recorded from the original model run
- DATE: CMC date timestamp
- IP1: the level of the field (in pressure,eta,meters,other)
- IP2: the hour of the forecast (rounded off if not exact)
- IP3: value of 0 unless otherwise modified
...
The general usage is the following:
Volet |
---|
Convert from NetCDF to RPN format: cdf2rpn -rpn RPN_standard_file -cdf NetCDF_file -attr attribut_list Convert from RPN to NetCDF format - one needs to add the key '-dir' (for 'direction'): cdf2rpn -rpn RPN_standard_file -cdf NetCDF_file -attr attribut_list -dir |
Notes:
- If you do not add a path to the output file name the file will end up in $TMPDIR!!!
- All fields in a file must have the same "type" of leveltimesteps and levels.
You cannot have i.e. sigma, hybrid, arbitrary and pressure levels in the same file!!! Nor can there be, for example, a field on 20 pressure levels and another on only 1 pressure level. If your RPN input file contains fields with different types or numbers of fields levels you can select the fields your want to convert with 'r.diag' and/or 'editfst' - see above. - If converting RPN to NetCDF make sure your RPN file contains all necessary grid descriptors ('^^', '>>', '^>', 'HY','!!')
- All variables you want to convert need to be in the attribute list.
You can find an example file on the - see below.
Attribute list
The attribute list is a file. It can be considered as a dictionary to translate between RPN ↔ netCDF.
You can find an example file on the UQAM servers under: ~winger/Scripts/NetCDF_converter/attribut_netcdf.dat
The file consists of:
1) Documentation
At the beginning are several commented lines containing information about the file.
2) Coordinate variables
The first section of this file, after the comments, contains a list of coordinate variables. Do not modify this section!!! It is limited by
#---------------- Variables coordonnees (debut) (NE PAS MODIFIER) ---------------------
:
#---------------- Variables coordonnees (fin) (NE PAS MODIFIER) ------------------------
3) Global attributes
The second section contains the global attributes. Global attributes are related to the dataset as a whole and should be used to provide a description of the dataset.
4) Fields / Variables
The last section needs to contain an entry for each field/variable that is to be converted. Each entry starts with 'def_attribut' and needs to have the form below.
Make sure the factors are correct!!!
Volet |
---|
def_attribut[ name; ccname; mult; add; Where: name: name of netCDF variable - mandatory |
Notes:
- Unit conversion from RPN → netCDF: unit(RPN) = mult*unit(netCDF)+add
- Unit conversion from netCDF → RPN : unit(netCDF)= (unit(RPN)-add)/mult
- 'nom_attribut = ...' are only used for conversions to netCDF format.
- Never put a space before the ";"!
- "[", "]", "=" and ";" are reserved characters. Do not use them otherwise, for example in names or descriptionsMake sure that the factors are correct!!! If one or more of your variables are not in this file, just take a copy and add the missing variables.