site map - email us - search  
 

MM5 Model V2

V2 Timing Results

Pre & Post Processing V2
    Releases
    New in V2
    Terrain
    Regrid
    Little_r

V2 Source Code

V2 Tutorial Notes

 


 

New Program: little_r

The little_r program performs an objective analysis of first-guess, pressure level data for input into the INTERP program. The input data (any pressure-level data set from the MM5 system) and the output data set (for use by INTERP) are in the MM5 V2 system format.


Motivation

The Rawins program is hardwired to access only the datasets archived at NCAR. As the need to run this program outside NCAR environment increases, a new program has been developed with the objective similar to that of REGRID, that is to separate data acquisition and objective analysis. As the REGRID program assumes that the user is familiar with the new first-guess file that is to be introduced into the modeling system by the user, the little_r program assumes the user is able to meaningfully ingest the new observations for use in the objective analysis.

Program Function

The little_r program reads observations written in a specified ASCII format. This format is described in util/upa.f in the tar file.

If an user wants to input a different dataset than those supported (see the list below), all the user needs to do is to read in the observation data into the program upa.f and upa.f will write it out in the specified format. The reformated data can then be handled in little_r.

The functions currently supported by little_r are:

  • single variable objective analysis

  • MQD analysis scheme or Cressman analysis scheme (with circular, elliptical and banana-shaped influence functions)

  • analysis for multiple time periods

  • analysis for coarse and nested domains

  • handle bogus data

  • process some or all of the input first-guess times

  • suitable for historical cases (observations at all time periods) and for real-time forecasts (observations at only the initial time periods)

The program is written in Fortran 90 and can be run on various workstations (SGI, DEC, HP, IBM) and Crays. Use is made of a 10-digit integer which is not currently supported by Sun with FORTRAN90.

Input Data Format to little_r

There are 3 records for each observation site: a header that contains information about station identifier, station location, data information, station elevation, and whether the report is a bogus or not, etc; a report (whether it is a sounding containing many levels, or only a surface report), and an end-of-message line. For a surface observation, the geopotential height (z(k)) must be set equal to the terrain elevation (ter) field. This is the definition of a surface observation.

The little_r program is able to handle most of the sorting duties required for ingesting observations. The program is able to combine multiple reports into a single message, interleaving mandatory and significant levels. Identical, duplicate reports are removed. Upper-air messages within 90 minutes of the valid time are accepted as within the time window, while surface observations are accepted within 60 minutes of the valid time.

The little_r program performs an objective analysis on the horizontal components of wind, temperature, relative humidity and sea-level pressure. Except for sea-level pressure, each observation needs a valid pressure or height (preference is given to the pressure measurement if one is present).

The format for the little_r observation input is given by the file upa.f in the util directory of the little_r.tar.gz located on the mesouser supported portion of the NCAR anonymous ftp. Here is a snippet of that code:

C header:

      WRITE ( UNIT = iunit , ERR = 19 , FMT = rpt_format )
     *        xlat,xlon, string1 , string2 ,
     *        string3 , string4 , ter, kx*6, 0,0,iseq_num,0,
     *        logical1, logical2, logical3,
     *         -888888, -888888, date_char ,
     *         slp,0,-888888.,0, -888888.,0, -888888.,0, -888888.,0,
     *               -888888.,0,
     *               -888888.,0, -888888.,0, -888888.,0, -888888.,0,
     *               -888888.,0,
     *               -888888.,0, -888888.,0
  
C report:

      do 100 k = 1 , kx
         WRITE ( UNIT = iunit , ERR = 19 , FMT = meas_format )
     *          p(k), 0, z(k),0, t(k),0, td(k),0,
     *          spd(k),0, dir(k),0,
     *          -888888.,0, -888888.,0,-888888.,0, -888888.,0
100   continue

C end of report line:

      WRITE ( UNIT = iunit , ERR = 19 , FMT = meas_format )
     * -777777.,0, -777777.,0,float(kx),0,
     * -888888.,0, -888888.,0, -888888.,0,
     * -888888.,0, -888888.,0, -888888.,0,
     * -888888.,0

C end of message line:

      WRITE ( UNIT = iunit , ERR = 19 , FMT = end_format )  kx, 0, 0

where

      rpt_format =  ' ( 2f20.5 , 2a40 , '
     *             // ' 2a40 , 1f20.5 , 5i10 , 3L10 , '
     *             // ' 2i10 , a20 ,  13( f13.5 , i7 ) ) '
      meas_format =  ' ( 10( f13.5 , i7 ) ) '
      end_format = ' ( 3 ( i7 ) ) '

and

      string1:  description of station
      string2:  sounding source
      string3:  either FM-12 (surface) or FM-35 (upper-air) 
      string4:  not used
      iseq_num: sequence numbers that tell which of 2 reports is more recent 
      logical1: whether this is a sounding (T) or a surface report (F)
      logical2: whether this is bogus data or not
      logical3: filled in later by the program
      data_char: character string (*20) for data (e.g. 19980901120000)

        p: Pa
        z: m
        t: K
       td: K
      spd: m s{-1}
      dir: degrees

      The 0s after each piece of data are quality control indentifiers to be
      defined in the program.

Supported Observation Datasets

Programs exist that convert the following data to that read by little_r program:

  • NCEP upper-air observation in ADP format

  • NCEP surface observation in ADP format

  • raw, coded observations on the Unidata circuit

For ADP data, a new program tar file can be obtained from the mesouser directory on NCAR's Cray (~mesouser/MM5V2/Fetch), and anonymous ftp. One may run this program on Cray to produce data accepted by little_r. These programs are under development and should be collectively considered works in progress.

Program Documents

There are a number of README files inside the little_r.tar file, and a chapter (Appendix C) about little_r is now in the MM5 tutorial notes on the Web page.

Source tar file

For Version 3:


ftp://ftp.ucar.edu/mesouser/MM5V3/LITTLE_R.TAR.gz

For Version 2:


ftp://ftp.ucar.edu/mesouser/newprogs/little_r.tar.gz

You may also get a test dataset from


ftp://ftp.ucar.edu/mesouser/newprogs/little_r_data.tar.gz

 

UCAR Privacy Policy - Terms of Use - ©2003UCAR