Control File for GRIB1

Control File for GRIB1 admin Fri, 03/01/2019 - 11:08

This section describes the parameter file, which can be modified to control how the post processing is performed, for outputting GRIB1 format available for WRF-ARW only. A default control file for users to practice with can be found in /UPPV4.1/parm/wrf_cntrl.parm for WRF runs.

Components of the WRF control file

The control file is composed of a header and a body. The header specifies the output file information. The body allows you to select which fields and levels to process.

The header of the wrf_cntrl.parm file contains the following variables:

  • KGTYPE: defines the output grid type, which should always be 255
  • IMDLTY: identifies the process ID for AWIPS
  • DATSET: defines the prefix used for the output file name (i.e. WRFPRS for WRF runs)

The body of the wrf_cntrl.parm file is composed of a series of line pairs similar to:

     (PRESS ON MDL SFCS ) SCAL=( 3.0)
     L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000)

The first line specifies the:

  • variable (e.g. PRESS)
  • level type (e.g. ON MDL SFCS)
  • precision of the data written out to the GRIB1 file (e.g. SCAL=3.0)

The second line specifies the levels on which the variable is to be output. In this example, a "0" indicates no output on this level and a "1" indicates for that variable to be output at the level specified by the position of the digit and the level type defined.

For those wishing to modify the wrf_cntrl.parm file, please refer to How to control which GRIB1 variables and levels are output.

GRIB1: Variable and level modifications

GRIB1: Variable and level modifications admin Wed, 03/06/2019 - 17:14

Controlling which variables unipost outputs

To output a field, the body of the control file needs to:

  • contain an entry for the appropriate variable
  • have output turned on for at least one level

Controlling which levels unipost outputs

To control which levels to output, the second line is used, where a "1" turns a level on and a "0" turns a level off.

  • For isobaric output, 47 levels are possible from 2 to 1000 hPa (2, 5, 7, 10, 20, 30, 50, 70 mb and then every 25 from 75 mb to 1000 mb). Modifications to which isobaric levels are possible can be made in /UPPV4.1/src/unipost/CTLBLK.f.
    • Modify the variable LSMDEF to change the number of pressure levels in your array (e.g. LSMDEF=47)
    • Modify the SPLDEF array to change the values of pressure levels, i.e. (/200.,500....97500.,100000./)
  • For model-level output, all model levels are possible, from the highest to lowest
  • For soil levels, layers or levels depend on your LSM:
    • Noah LSM soil layers are 0-10, 10-40, 40-100, and 100-200 cm.
    • RUC LSM soil levels are 0, 1, 4, 10, 30, 60, 100, 160, and 300 cm. For the RUC LSM, it is necessary to turn on 5 additional levels in the wrf_cntrl.parm to output 9 instead of 4. (For the old RUC LSM, there are only 6 layers, and if using this, you will need to change RUC LSM from 9 to 6 in the WRFPOST.f routine).
    • Pliem-Xiu LSM layers are 0-1 and 1-100 cm.
  • For low, mid, and high cloud layers, the layers are ≥642 hPa, ≥350 hPa, and <350 hPa, respectively.
  • For PBL layer averages, the levels correspond to 6 layers with a thickness of 30 hPa each.
  • For flight levels, the levels are 30, 50, 80, 100, 305, 457, 610, 914, 1524, 1829, 2134, 2743, 3658, 4572, 6000 and 7010 m.
  • For AGL radar reflectivity, the levels are 4000 and 1000 m.
  • For surface or shelter-level output, only the first position of the line needs to be turned on.

For a list of available fields for GRIB1, see the GRIB1 Table