WFO North Central River Forecast Center

RFCWide Precip Processing

The RFC-wide Multisensor Precipitation Estimator (RFC-wide MPE) consists of two programs. The first, called RFCWGen, generates the gridded fields and is submitted through the cron. RFCWGen can also be run manually from the Graphical User Interface (GUI). The other program, RFCWide, produces a GUI for display and editing of the fields.

The RFC-wide MPE replaces the Stage2/Stage3 processing previously in use at RFCs and WFOs. Installation began with the AWIPS Build 5.1.1 upgrade.

The purpose of RFC-wide MPE is to create hourly gridded precipitation estimates which can be used to produce MAPX time series for input into the National Weather Service River Forecasting System (NWSRFS). The main steps involved in creating the multisensor estimate include creating a multi-radar mosaic, mean field bias adjustment, and merging this information with gage observations.

The multi-radar mosaic is generated by using radar estimates from individual radars, such that for any grid box, the radar which provides coverage at the lowest height above sea level is used to fill that box. In this way, each grid box in the RFC-wide domain is assigned to a specific radar.

Even though the WSR-88D Precipitation Processing System (PPS) computes estimates of precipitation to a radius of 230 km, the "true" radar coverage is somewhat less than 230 km. This is due to the effects of beam blockage by the terrain and range degradation caused by the radar beam overshooting precipitation. Individual radar coverage maps, for each radar, based on a climatological analysis of the DPA product, indicate which grid points are well covered by the radar, and which pixels are poorly covered. The individual radar coverage maps (misbin arrays) are used as a mask to screen out grid points that are not well observed by that radar.

RFC-wide MPE checks the individual radar coverage maps when determining which radar to use for a given grid point in the multi-radar mosaic. If the program determines that the radar which would normally provide coverage at the lowest height for a grid box is blocked for that area, or is unavailable for that hour, it will check other nearby radars to see if they can provide coverage, even if it is at a slightly higher height. If no nearby radars are found which can provide coverage, the grid box is assigned a missing value in the radar mosaic.

An INDEX array that shows which radar provides the optimal coverage for a specific grid box is available for display in the RFC-wide MPE graphical user interface. In addition, the height of radar coverage associated with each grid box can be displayed. The INDEX array and the HEIGHT array are recomputed each hour to reflect variability in radar availability. The raw radar mosaic based on this methodology (RMOSAIC) can be displayed and will have bias correction and multisensor gage-radar merging performed on it.

Bias Calculations

A bias correction factor is computed for each individual radar and applied to the raw radar mosaic at the appropriate locations as determined by the INDEX array. One of the major impacts of RFC-wide MPE is the calculation of bias values for ten memory span values. Previously, in Stage2, the bias was calculated for two ("long" and "short") memory span values. The time spans range from one hour, daily, weekly, seasonal, to period of record. The bias algorithm is a significant advance over older versions because it keeps track of the number of pairs that were used in the bias computation for each time span. The algorithm then selects from the bias table the most recent bias where at least ten gage radar pairs were available. For radar sites with many automated gages available, the bias correction will be based on a short time span. Also, gages chosen to be used by the RFCWide bias calculation are those which are "well covered" by the radar based on the radar coverage maps. These maps are based on the radar climatology fields. For radar sites with only a few gages available, it is better to use a bias computed over a longer period of time.

Tables showing the bias computed for each radar and memory span can be displayed by RFC-wide MPE. The table also shows the Z-R parameters that were in effect at the time the bias was computed.


An important new feature of RFCWGen is the use of the radar coverage maps for determining which radar yields the best coverage of each grid bin. These files appear in the rfcwide_misbin_dir directory. Software is currently available for generating these fields. Radar coverage maps for radars in the Middle Atlantic Region and portions of the southwest US are available.

The RFCWide script executes the rfcwide executable to produce the RFCWide GUI.

Another script executes the rfcwgen executable and is submitted from the cron in a similar manner to Stage2. It is recommended that Run_RFCWGen be run at approx 30 minutes past each hour.

RFCWGen Process

One of the important features of RFC-wide MPE is the ability to edit the gridded data fields as well as the point gage observations. The RFC-wide MPE interface provides tools to edit gage values, bias values, and then rerun estimation algorithms. There is also an edit precipitation capability which allows the forecaster to draw a polygon around a region of interest. The forecaster can then substitute any of the precipitation fields (RMOSAIC, BMOSAIC, MMOSAIC, LMOSAIC, SATELLITE) into the region outlined by the polygon. After a forecaster has finished analyzing and editing the precipitation data, the final analysis is saved as an xmrg file for input into MAPX.

The RFCWGen process generates the RFCWide related fields. The following is a list of generated fields:

RMOSAIC - mosiacked rainfall field

BMOSAIC - bias adjusted rainfall field

Once the best bias has been selected for each radar, it is applied to the appropriate locations in the RMOSAIC array to create a bias corrected multi-radar estimate (BMOSAIC) which can be displayed by RFC-wide MPE.

MMOSAIC - multisensor mosaicked field. Generally considered the best estimate

A multisensor estimate (MMOSAIC) is computed by merging hourly gage observations with the bias corrected radar mosaic. The objective analysis subroutine which merges the two different data sources together is a single optimal estimation technique and will produce gridded multisensor estimates with less error than either the input radar or the input gage data.

GAGEONLY - gage only field analysis

xmrg - QPE xmrg file saved through RFCWide GUI or from RFCWGen. Used by MAPX.

HEIGHT - field of heights of lowest radar tilt (units=feet)

INDEX - radar index field denoting which radar is used to generate the field for each grid bin

LOCBIAS - local bias value field for each grid bin

In addition to the multisensor algorithm, a new local bias correction algorithm is applied to the raw radar mosaic which computes a bias correction factor that varies from grid point to grid point. The radar precipitation estimate with local bias correction is displayed in the LMOSAIC field. The bias correction factor which was applied to the radar estimate is displayed in the LOCBIAS field.

LOCSPAN - field of array indexes corresponding to memory span value used

PRISM - PRISM data (long term climatological mean precipitation data)

The multisensor estimates are scaled by PRISM climatologies to improve estimates, especially in mountainous regions which are subject to orographic influences. The monthly PRISM climatologies used in the multisensor estimate can be displayed by RFC-wide MPE.

SATELLITE PRECIP - precipitation estimate from satellite, if available

Satellite estimates produced by NESDIS are available for use and display in RFC-wide MPE.

All fields are written to files using the xmrg file format. Filenames are of the form XXXXXXyyyymmddhhZ.

RFCWGen also calculates the mean field bias for multiple memory span values. This information is stored in the RWBiasDyn table. Previously, Stage2 calculated bias values for only two ("long" and "short") memory span values.

The RFCWGen process is submitted through the cron once per hour. It can also be run for one hour through the "Rerun RFCWGen" option from the RFCWide GUI.

Log files for each run are written to the directory pointed to by the rfcwide_logs_dir token. These log files contain diagnostic information, error messages, a list of reporting gages for each hour and bias calculation information for each memory span. In a manner similar to Stage2 processing, RFCWGen is normally run for the current hour and a certain number of hours in the past. Rerunning for previous hours allows for recalculation of the fields as more gage reports are received and processed. It is recommended that RFCWGen be run for the current hour plus 3 hours back equaling 4 hours per execution. In a manner similar to Stage2, RFCWGen reads the number of hours to run, the ending hour and ending date of the run from the command line. The syntax is as follows:


where NN = number of hours

HH = ending hour (Z time)

MMDDYYYY = ending date (Z time)

If NN is the only parameter specified, then HH and MMDDYYYY are assumed to be the current hour and date. NN must be an integer between 1 and 24.

RFCWGen automatically generates an xmrg file and a GIF image from the multisensor precip field as were previously done in auto_stage3. The format of the date in the xmrg filename is controlled by the st3_date_format token in the .Apps_defaults file. The GIF images are produced using the gd (Ver1.2) graphics library. Currently, if an xmrg file has been saved through the RFCWide GUI, the xmrg file AND the gif image are not regenerated in RFCWGen for that hour.


RFCWGen automatically generates an xmrg file for every hour. This xmrg file has all bins with missing data replaced with 0.0. This is done to facilitate the running of MAPX which does not allow any missing values in the field.

Post Analysis

Post Analysis works in the same manner as the previous Stage3 Post Analysis process. It reads the xmrg files generated by RFCWGen or saved manually through the RFCWide GUI and generates a window displaying the summed 6/24/48 hour precip and the gage only field. Six hour and 24 hour gage values are read from the ProcPrecip table.

The Post Analysis Process generates and displays a summed hourly field and a gage only field based on six hourly or 24 hourly gage data. It has options to merge these two fields and to "time distribute" any additional precipitation not found in the summed hourly field onto the individual hourly fields.

Post Analysis also has a 48 hour option which will generate and display a summed hourly field with a blank gage only field. If 48 hour gage values were available, they would be used to generate a gage only field.