GFE Focal Point Curriculum

Menu

BOIVerify

BOIVerify Configuration

Page Contents

  1. BOIVerifyInfo GUI
  2. Archiving Grids
  3. Cron
  4. Required Files to Edit
  5. Scripts
  6. Reporting Statistics

BOIVerify has the following configuration options:

  • Which grid databases to archive
  • The grid databases for which bias corrected grids are calculated
  • Edit areas to calculate statistics for
  • Forecasters to calculate statistics for

When configuring BOIVerify there are four main areas to focus on:

  • BOIVerifyConfig Utility
  • BOIVerifyInfo GUI
  • Crontab
  • Other BOI* files

BOIVerifyInfo GUI

The BOIVerifyInfo GUI is launched from the Verify menu in GFE.

Launching BOIVerifyInfo

Focal points may add new forecasters for which to calculate statistics using the Add New Forecaster button.

BOIVerifyInfo GUI

Enter the requested information in the image below and left-click Add.

BOIVerifyInfo Add Forecaster GUI

This adds the forecaster to the FcstrNums.dat file in /data/verify/. The forecaster appears in the Forecaster list on the BOIVerify GUI the next time BOIVerify is started. To edit or delete an existing forecaster using the BOIVerifyInfo GUI, right-click on the forecaster name in the BOIVerifyInfo GUI and select the desired option.

BOIVerifyInfo Delete/Edit Forecaster

The BOIVerifyInfo GUI is also used to assign/modify grid ownership to/for the forecasters at your office.

Archiving Grids

Archiving grids is accomplished with the BOIVerifySave.sh entries of the a2SITEpv2cron. There are three entries in the crontab (denoted by the "Save GFE grids into BOIVerify database" comment in the crontab file):

  • The first entry archives all non-singleton databases listed in BOIVerifyConfig.
  • The next two entries archive the Official and ISC databases. These do not need to be run as often and must be run a few minutes apart in order to work correctly.

The grids are stored in netCDF format in /data/verify/Grids.

Cron

All BOIVerify tasks are completed via the cron. The BOIVerify cron entries are installed under the pv2 apps package as user "awips". To make changes to the cron ask your ITO or ESA (or maybe your AWIPS Focal Point). View the entries in the a2SITEpv2cron file under the /etc/ha.d/cron.d/ directory on pv2. Offices/focal points may need to make a few changes to these entries, and should be aware of their location. Focal points should review all BOI* files in the Localization Perspective to learn about all of the configuration options.

Required Files to Edit

The BOIVerifyConfig.py Utility file includes several configuration settings important for BOIVerify. This is typically the most-often edited BOIVerify-related file. Access and edit the BOIVerifyConfig.py file via the Localization Perspective under the GFE Folder under the Utilities Folder. This file is what is used to determine how BOIVerify looks in the GUI.

BOIVerify allows offices to archive grid databases in order to calculate verification statistics and for later viewing. Offices can choose which grid databases and which elements to archive in the BOIVerifyConfig.py Utility file. The settings that are used are: GRIDDAYS, VERCONFIG, SAVE_MODELS, and ALLCYCLES. The GRIDDAYS parameter defines the number of days to keep grids in the database. The VERCONFIG parameter defines the elements that are archived. If an element does not exist for a certain database, the program skips it. The SAVE_MODELS parameter tells BOIVerify which models to save for verification. The Official, NBM, and ISC models SHOULD NOT be in the SAVE_MODELS variable. The ALLCYCLES parameter defines the run times to archive (can use this setting to "skip" model runs).

Three settings are particularly useful in the BOIVerifyConfig.py Utility file when configuring bias corrected grids: OBSMODELS, BIASCORR_DAYS, and BIASCORR_MINDAYS. The OBSMODELS parameter defines the grid database(s) used as the observational (ground truth) database(s). Statistics are calculated based on the difference between forecast databases (GFS40, Official, etc.) and the observational database. The BIASCORR_DAYS parameter defines the "training" period used to calculate regression values when creating bias corrected grids. The BIASCORR_MINDAYS parameter defines the minimum number of days needed to create bias corrected grids. The BOIVerifyConfig.py utility file will need to be edited, by adding your site's local modifications, after every update if a backup version is located in the /data/verify/scripts/prev/ directory with the date and time appended to the file in YYYYMMDDHHMM format. The BOIVerifySumAll.py/BOIVerifySumTemps.py, PopWModel.py, QPFVerif.py, SnowVerif.py, PopMatrix.py, WindDirVerif.py, IndividualTempVerif.py, and IndividualPopVerif.py files in the Localization Perspective under the GFE Folder under the Procedures Folder will need to be edited, by adding your site's local modifications, after every update if a backup version is located in the /data/verify/scripts/prev/ directory with the date and time appended to the file in YYYYMMDDHHMM format.

Offices can define Edit Areas to calculate verification statistics for using the BOIVerify GUI (under the Point/Area Stats and Stat vs. Scale tabs). This is done with the EditAreas.dat file (an example is shown below) in the /data/verify/ directory. The edit areas can be any size and in any location in the grid domain. The only requirement for adding edit areas to this file is that the edit areas must exist under SITE on your system.

Example EditAreas.dat file from MKX

The FcstrNums.dat file in the /data/verify/ directory is a file that can be edited to remove a forecaster(s) from BOIVerify. It also can be modified to add a forecaster(s) to BOIVerify.

Scripts

Scripts are located in the /data/verify/scripts directory. Some of these scripts call Procedures located in the Localization Perspective under the GFE Folder under the Procedures Folder. There are scripts that run BOIVerify to save data, calculate stats, send emails, and create comparison images. The scripts are run on a cron. The scripts are all run by the a2SITEpv2cron located on pv2 in the /etc/ha.d/cron.d/ directory.

Name Purpose
AviationVerif.sh This script runs the AviationVerif.py Procedure which generates verification of CloudBasePrimary, Visibility, and Sky for up to five forecasters and the models that are in the SAVE_MODELS variable in the AviationVerifConfig.py Utility file. The statistics are output as a CSV file.
BiasCorr_All.sh This script generates bias corrected model data (all of the ModelBC grids) by calling the BOIVerifyBiasCorrCR.sh or BOIVerifyBiasCorr.sh script which then runs the BOIVerifyBiasCorrCR.py or BOIVerifyBiasCorr.py Procedure. It requires that BOIVerifySave.sh is running properly to save model data and the observed data set that is provided as the command line argument. It is HIGHLY recommended that sites utilize URMA for standardization of the BC models.
BOIVerifyAutoCalc.sh This script calls the BOIVerifyAutoCalc.py Procedure to precalculate verification statistics to speed up the runtime of the BOIVerify software. These stats are stored in /data/verify/Stats. They are computed for the edit areas listed in /data/verify/EditAreas.dat. This script makes it so some other scripts like BOIVerifySumAll.sh or BOIVerifySumTemps.sh will not take 10 hours to run but will instead run in about an hour.
BOIVerifyIndividualTemp.sh This script calls the IndividualTempVerify.py Procedure to create individualized forecaster verification on the first day of every month for MaxT and MinT. For this script to run properly forecasters have to own official grids. Owning official grids is accomplished through the BOVerifyInfo GUI.
BOIVerifyIndividualPoP.sh This script calls the IndividualPoPVerify.py Procedure to create individualized forecaster verification on the first day of every month for PoP. For this script to run properly forecasters have to own official grids. Owning official grids is accomplished through the BOVerifyInfo GUI.
BOIVerifyPoP.sh This script calls the PoPMatrix.py* Procedure to generate PoP statistics for an individual day on 12 hour grids for every forecaster and model that is in the SAVE_MODELS variable in the BOIVerifyConfig.py Utility file. The statistics are output as a CSV file and (if configured) an XML file.
BOIVerifyQPF.sh This script calls the QPFVerify.py* Procedure to generate QPF statistics for an individual day on 12 hour grids for every forecaster and model that is in the SAVE_MODELS variable in the BOIVerifyConfig.py Utility file. The statistics are output as a CSV file and (if configured) an XML file.
BOIVerifySave.sh/BOIVerifySaveCR.sh This script calls the BOIVerifySave.py/BOIVerifySaveCR.py Procedure to save model database as well as ISC, NBM, and Official database grids at approximately 2045 Z. The grids are saved in /data/verify/Grids. If a model is provided as a command line argument, then the girds will be saved for that particular model. In the a2SITEpv2cron Official, NBM, and ISC are provided. These are necessary because they are singleton databases and need to have a cycle time appended to them.
BOIVerifySumAll.sh This script runs the BOIVerifySumAll.py Procedure to create 1, 7, 15, and 30 day verification statistics, emails, and webpages twice a day every day to verify the Official and individual forecasts against the models supplied for MaxT, MinT, MaxRH, MinRH, T, Td, Wind, WindGust, and Sky. An optional output is available to produce output for a weighted model using the top 3 models as determined by BOIVerify.
BOIVerifySumTemps.sh This script calls the BOIVerifySumTemps.py Procedure to create verification statistics, emails, and webpages for MaxT or MinT depending on the time when the script is run.
RunCompImages.sh This script calls the MakeComparison.py Procedure to generate comparison images of URMA observations, the Official forecast, and the difference between the URMA observations and the Official forecast.
RunXML.sh This script calls the BOIVerify_ExportXML.py* Procedure to generates XML files of verification stats for webpages. The BOIVerify_ExportXML.py Procedure requires that the BOIVerify_PGWUtility.py Utility file is installed.

*The BOIVerify_ExportXML.py, PoPMatrix.py, and QPFVerif.py Procedures that offices run to support the verification data flow to the Regional Verification Webpages are no longer supported by Central Region.

The BOIVerifySumAll.sh, BOIVerifyBiasCorrCR.sh, and BOIVerifySaveCR.sh scripts might not be in your site's BOIVerify files, if your office isn't located in Central Region. The BOIVerifySumTemps.sh script might have been removed from your site's BOIVerify files, if your office is located in Central Region. The BOIVerifyBiasCorrCR.py, BOIVerifySumAll.py, and BOIVerifySaveCR.py Procedures might not be in your site's BOIVerify files in the Localization Perspective, if your office isn't located in Central Region. The other important file in the /data/verify/scripts directory is the env.sh file. This file sets some parameters so the other shell scripts run properly.

Reporting Statistics

Statistics are sent to forecasters' and admins' emails and a webpage with the use of the BOIVerifySumTemps.sh script or the BOIVerifySumAll.sh script if your office is located in Central Region. Contact your Regional AWIPS Focal Point for more information on your regional best practice.

The BOIVerifySumTemps.sh file is a script that is used to call the BOIVerifySumTemps.py Procedure to create verification statistics, emails, and webpages. This script generates verification statistics, emails, and webpages to verify the Official and individual forecasts against models supplied for MaxT and MinT. The BOIVerifySumTemps script and Procedure runs twice a day to generate webpage and email statistics for forecast verification.

The BOIVerifySumAll.sh file is a script that is used to call the BOIVerifySumAll.py Procedure to create verification statistics, emails, and webpages. This script generates verification statistics, emails, and webpages to verify the Official and individual forecasts against models supplied for MaxT, MinT, MaxRH, MinRH, T, Td, WindSpeed, and WindGust. An optional output option is available to produce output for a weighted model using the top 3 models as determined by BOIVerify. The BOIVerifySumAll script and Procedure runs twice a day to generate webpage and email statistics for forecast verification.

Task: How to Modify Reporting Statistics
This task demonstrates how to modify the reporting of statistics.
View Jobsheet