What is VSDB? What is FVS?
Where can I find documentations about VSDB and FVS?
What do the numbers in the verification files mean?
What scores can be calculated from the "F,H,O"
numbers?
An example of score calculation
What are bias-adjusted scores?
What do the subregions look like?
How do I plot FVS stats for a subregion of ConUS?
Where can I find the raw daily gauge data used
in the old verification?
What is the CPC 1/8-degree analysis? Where can I find
the data?
What is the difference between the "old" and
the "new" verification systems?
Where can I find the VSDB files generated at NCEP?
How do I generate my own verification statistics?
How are the scores computed for multiple subregions/time periods?
Why doesn't the monthly/month-to-date scores page
include more score plots?
Info on precip SL1L2 scores?
What is VSDB? What is FVS?
There are two components to the NCEP/EMC precipitation verification system.
The first is the generation of the precipitation verification statistics
by comparing model precipitation forecasts against verifying analyses for
the same time periods (e.g. 12Z $daym1 to 12Z $day, for 24h verifications,
or 06-09Z, for 3-hourly verifications), for various verifying regions. These
numbers are stored in ascii files with the format of model_yyyymmdd.vsdb.
'vsdb' stands for 'verifications database', further information about it
can be found in the on-line paper,
EMC Verification Database
and the
NCEP Verification System User Guide.
The second component is to compute and display various precipitation scores
from the vsdb files. This is handled by the Forecast Verification System
(FVS), which pulls relevant data from the numbers in vsdb files, computes
scores requested by the user, and (if requested) displays the scores using
a GEMPAK-based user interface. Further information can be found in
FVS - Forecast Verification System.
The VSDB and FVS packages are used by both the precipitation verification
and non-precipitation near-surface/upperair verification systems.
You can compute the scores from the vsdb files yourself, without using
the FVS.
Where can I find documentations about
VSDB and FVS?
There is one QPF verification statistics for each model, each day. The
file is in the format of model_yyyymmdd.vsdb. The suffix 'vsdb'
stands for 'verification database' (for more information, see this
eta_20021002.vsdb
contains verification statistics for Eta precipitation forecasts verified
for the 24h period ending at 12Z 2 Oct 2002 under the
new system. Model forecast verified for this
24h period include the following:
What scores can be calculated from the "F,H,O" numbers?
Thanks to the efforts of Keith Brill (NCEP/HPC), 31 scores
(28 unique ones) can be calculated from the
"F,H,O" statistics contained in the statistics files
using the
FVS (Forecast Verification System).
Here is a one-day example of 0-24h precipitation forecasts from 3 models:
A list of the scores that can be computed from the "F,H,O" statistics
are described in the table below. The symbols are defined as:
T: Total number of grid points to be verified
Click on the number in the first column for a plot of the score:
What do the numbers in the verification files mean?
Forecast length model run cycle
00-24h 2002100112
06-30h 2002100106
12-36h 2002100100
18-42h 2002093018
24-48h 2002093012
30-54h 2002093006
36-60h 2002093000
42-66h 2002092918
48-72h 2002092912
54-78h 2002092906
60-84h 2002092900
The file contains lines such as
V01 ETA 24 2002100212 MC_PCP G211/RFC FHO>.01 APCP/24 SFC = 1362 .35242 .27827 .44053
V01 ETA 24 2002100212 MC_PCP G211/NWC FHO>.01 APCP/24 SFC = 60 .00000 .00000 .05000
V01 ETA 24 2002100212 MC_PCP G211/SWC FHO>.01 APCP/24 SFC = 62 .08065 .06452 .20968
Meaning of each column (use the first line above as an example):
AWIP 211 Grid (80km Lambert Conformal)
F: Number of forecast points above a threshold
O: Number of observed points above a threshold
H: Number of correctly forecasted points ('hits')
Code | Type of Score | Definition* | Name in FVS Graph |
1001 | Bias | F/O | BIAS_SCORE |
1002 | Equitable Threat | (H-CH)/(F+O-H-CH), where CH=F*O/T | EQ_THT_SCORE |
1003 | Critical Success Index | Same as 1008 | CSI=THRTSC |
1004 | False Alarm Ratio | 1.0-H/F | FLS_ALRM_RATIO |
1005 | Postagreement | H/F | POSTAGREMT |
1006 | Prefigurance | Same as 1007 | PREFIG=POD |
1007 | Probability of Detection | H/O | PROB_OF_DET |
1008 | Threat Score | H/(O+F-H) | CSI=THRTSC |
1009 | Cumulative Forecast Prcp Vol % vs Thrshld | FOR_CMLTV_%TOTVL | |
1010 | Cumulative Correctly Frcst Prcp Vol % vs Thrshld | VRF_CMLTV_%TOTVL | |
1011 | Cumulative Observed Prcp Vol % vs Thrshld | OBS_CMLTV_%TOTVL | |
1012 | Forecast Prcp Vol % of Ttl vs Thrshld | FOR_%TOTAL_VOL | |
1013 | Correctly Forecast Prcp Vol % of Ttl vs Thrshld | VRF_%TOTAL_VOL | |
1014 | Observed Prcp Vol % of Ttl vs Thrshld | OBS_%TOTAL_VOL | |
1015 | Forecast Prcp # % of Ttl # vs Thrshld | FOR_%TOTAL_CNT | |
1016 | Correctly Forecast Prcp # % of Ttl # vs Thrshld | VRF_%TOTAL_CNT | |
1017 | Observed Prcp # % of Ttl # vs Thrshld | OBS_%TOTAL_CNT | |
1018 | Forecast # % of Ttl <= Thrshld vs Thrshld | FOR_%TTL# | |
1019 | Correctly Frcst # % of Ttl <= Thrshld vs Thrshld | VRF_%TTL# | |
1020 | Observed # % of Ttl <= Thrshld # vs Thrshld | OBS_%TTL# | |
1021 | False Alarm Rate | FLS_ALRM_RATE | |
1022 | Conditional Miss Rate | COND_MSS_RATE | |
1023 | Heidke Skill Score | HEIDKE_SKL_SCR | |
1024 | Peirce-Hanssen-Kuipers Skill Score | P-H-K_SKL_SCR | |
1025 | ODDS RATIO | ODDS_RATIO | |
1026 | Log of ODDS RATIO | LOG_ODDS_RATIO | |
1027 | Standard error of log of ODDS RATIO | STDERR_LOG(OR) | |
1028 | ODDS RATIO Skill Score | ODDS_RTO_SKL_SCR | |
1029 | ODDS RATIO Skill Score Cubed | ODDS_RTO_SKSC**3 | |
1030 | log (ODDS RATIO) / STD ERROR of same | LN_OR/STDV_LN_OR | |
1031 | Area between ODDS RATIO ROC & chance ROC curves | ROC_AREA-CHANCE |
An example of score calculation
This is an example of how the numbers for a
one-day Eta 24h equitable threat score
is computed from that day's
"vsdb" file from the
new database.
The 00-24h Eta precipitation forecast equitable threat score (red line) is
shown below:
And here are the relevant lines in the
"vsdb" file:
V01 ETA 24 2002100212 MC_PCP G211/RFC FHO>.01 APCP/24 SFC = 1362 .35242 .27827 .44053
V01 ETA 24 2002100212 MC_PCP G211/RFC FHO>.10 APCP/24 SFC = 1362 .21072 .14537 .19677
V01 ETA 24 2002100212 MC_PCP G211/RFC FHO>.25 APCP/24 SFC = 1362 .11968 .07416 .11380
V01 ETA 24 2002100212 MC_PCP G211/RFC FHO>.50 APCP/24 SFC = 1362 .05507 .03671 .05066
V01 ETA 24 2002100212 MC_PCP G211/RFC FHO>.75 APCP/24 SFC = 1362 .02129 .01542 .03084
V01 ETA 24 2002100212 MC_PCP G211/RFC FHO>1.0 APCP/24 SFC = 1362 .00514 .00294 .01689
V01 ETA 24 2002100212 MC_PCP G211/RFC FHO>1.5 APCP/24 SFC = 1362 .00000 .00000 .00294
V01 ETA 24 2002100212 MC_PCP G211/RFC FHO>2.0 APCP/24 SFC = 1362 .00000 .00000 .00000
V01 ETA 24 2002100212 MC_PCP G211/RFC FHO>3.0 APCP/24 SFC = 1362 .00000 .00000 .00000
From the above, we arrive at the table below:
Threshold (in/day) |
F | H | O | Eq. Threat (H-CH)/(F+O-H-CH) where CH=F*O/T |
0.01 | 478 | 379 | 600 | 0.345 |
0.1 | 287 | 198 | 268 | 0.471 |
0.25 | 163 | 101 | 155 | 0.415 |
0.5 | 75 | 50 | 69 | 0.512 |
0.75 | 29 | 21 | 42 | 0.409 |
1.0 | 7 | 4 | 23 | 0.150 |
1.5 | 0 | 0 | 4 | 0.0 |
2.0 | 0 | 0 | 0 | 0.0 |
3.0 | 0 | 0 | 0 | 0.0 |
What are bias-adjusted scores?
From the FVS versions and change history guide (K. Brill):
fvs version = 2003.07
The ability to compute bias adjusted performance measures
and skill scores computed from FHO statistical values was
added. Two bias adjustment methods are supported. Bias
adjustment is triggered by prefixing the 4-digit computa-
tional code number with the bias adjustment code number.
The following two bias adjustment code numbers are valid:
101 -> Apply Fedor Mesinger's assumption that dH/dF=a(O-H)
to compute the adjusted value of H for bias = 1,
i.e. F=O.
102 -> Apply conservation of the "Odds Ratio" (Stephenson
2000: Use of the "Odds Ratio" for Diagnosing
Forecast Skill, Wea. & For., 15, 221--232) to
compute the adjusted value of H for bias = 1.
Example: To compute the bias adjust equitable threat
score based on conservation of the Odds Ratio,
use the following computational code: 1021002.
A paper by Mesinger and Brill,
Bias Normalized Precipitation Scores,
provides more details about the two bias adjustment methods.
What do the subregions look like?
Precipitation verification is done on ConUS (dubbed 'RFC') and its
subregions. Maps for the current subregions are below:
Note the overlap between the Western/Eastern regions above. They are NOT the
Western/Eastern halves of ConUS.
Legacy masks in older VSDB files:
How do I plot FVS stats for a subregion of ConUS?
You can plot statistics for the entire ConUS ('RFC'),
for a single subregion (e.g. 'NWC'), or a combination of
subregions. To plot the
western
and
eastern
halves of the ConUS as in these two web pages, if you are using a script to do
your FVS plotting and have 'RFC' as an argument for the plot region, substitute
RFC with "NWC GRB NMT NPL SWC SWD SMT SPL" (in double quotes) for western
region and "MDW APL NEC LMV GMC SEC" for eastern region.
Note that you cannot simply use "WEST" or "EAST" as arguments to your script
if you want to plot statistics for the western/eastern halves of ConUS. Some
VSDB files contain statistics that has WEST/EAST in their 'region' field, but
those refer to the ConUS areas covered by the West/East HiRes Windows runs.
The two areas overlap, and they are not the western/easten HALVES of ConUS.
Where can I find the raw daily gauge data used
in the (old) verification?
For the current month:
Within the current year, monthly tar files:
Annual big tar files for the previous couple of years might also be
available:
What is the CPC 1/8-degree analysis? Where can I find the data?
Since 21 Jan 2002, NCEP/CPC has been producing a daily (12Z-12Z)
1/8-degree precipitation analysis using the PRISM/least-squares scheme
(John Schaake, NWS/OHD), based on the 7,000-8,000
daily gauges.
Where to find the data:
What is the difference between the "old" and the "new" verification
systems?
On 1 Sep 2002, a new verification package was put into place to verify
ETA, GFS, NGM, various ETA parallels and mesoscale nests. The old system
continued to run for several years, to provide historical continuity. Between
Jan 2005 and Oct 2006, only the NAM and NGM were verified on the old system.
The old system was completely discontinued on Oct 2006.
In the old system, the 7,000-8,000 daily rain gauge reports are box-averaged
to the verification grid. At higher grid resolutions (40km and up), this
leads to many "holes" in the analysis domain in the data-sparse regions.
In the new system, the verifying analysis is mapped to the verifying grid
from the daily, 0.125-degree analysis generated by NCEP/CPC, which is much
better at higher resolutions. The grid-to-grid mapping is done using
NCEP/EMC's 'copygb' utility. An example of one day's rain gauge reports,
the analysis on various resolutions under the new and the old system is
available here.
The following is an outline of the main differences between the old and
the new systems:
Where can I find the VSDB files generated at NCEP?
Monthly archive (if you do not have account on NCEP CCS
and/or workstations):
Daily tar files for the past five days (for users outside of NCEP)
ftp://ftp.emc.ncep.noaa.gov/mmb/gcp/precip/files/
VSDB files (daily tar) generated on NCEP's IBM dew/mist, past 5-7 days:
There are two other tar files in HSM:/hsmuser/g01/wx22yl/vsdb_prcp/misc:
avn.20010101-20020831.tar.Z contains the original 'AVN' vsdb files for
the 20 months, before I renamed files/entries for that period to 'GFS'.
eta.19920601-20020912.vsdb.original.tar.Z contains the original ETA
vsdb files, before I changed all G90 verification to G190, and deleted
the 'native grid' verifications.
How do I generate my own scores plot from the VSDB files?
Graphics such as those in
http://www.emc.ncep.noaa.gov/mmb/ylin/pcpverif/scores/ are generated with
NCEP's
FVS (Forecast Verification System) (though FVS can do a lot more). You
are encouraged to find out more about the system from the
documentations.
If you have access to "tempest" and the IBM mainframe at NCEP, you can also
use a canned script
(tempest:/export/lnx168/wd22yl/pscore/general/pscore) by following these steps:
If you don't have access to tempest but have access to NCEP's IBM mainframe,
you can run the FVS there. NCEP's Mary Hart has created
a documentation on how to do this, though the documentation is not online
yet (ask Mary for the documentation).
How do I generate my own verification statistics?
Here is the
User Guide for the verification package.
How are the scores computed for multiple sub-regions/time periods?
The VSDB files contain the F,H,O,T numbers (actually, they are
F/T,H/T,O/T and T) for each precipitation
threshold/verification subregion/verification time period. To compute a score
for a combination of subregions (e.g. eastern U.S.) or time periods (e.g. 24h
forecasts for an entire month), the normalized F/H/O values are reconstituted
by multiplying by T, then added together to form a "total F/H/O" for the
entire combined region and/or combined time periods before the scores are
computed.
Why doesn't the monthly/month-to-date page include more scores plots?
The monthly/month-to-date page provides selected plots that are most pertinent
to the monitoring and development of NAM. I try to check on most of the plots
each day to make sure that things are OK (it's not generated by a production
job, so if one of the machines or one of disks involved was down, or there was
a network communication problem, the scores might not have been updated).
Due to time constraints, the number of plots included in the web page has to be
limited to make routine monitoring feasible.
For additional plots and much more flexibility, you might wish to try the
interactive web tool,
http://cerberusdev.ncep.noaa.gov/EMC_VSDB_verif/.
Info on precip SL1L2 scores?
In addition to F-H-O stats, scalar L1L2 stats began to be computed for
the precipitation verification VSDB files at the end of Apr 2006 (27 Apr for
3-hourly stats, 28 Apr for daily stats) on the G218 verification grid, for
ConUS, the 14 sub-regions of ConUS, and the 3 "nested regions".
A sample script plotting model vs. obs area-averaged 3-hourly precipitation is
in /export/lnx168/wd22yl/pscore/avgpcp/pscore_multicyc. For example, to plot
a sum of all 00Z cycles in Jul 2006, for NAM and GFS, on ConUS:
Arguments for the script:
A sample script to plot area-averaged precipitation for a single model cycle
is in /export/lnx168/wd22yl/pscore/avgpcp/pscore_1cyc. For example, to plot
ConUS-averaged precipitation for NAM and GFS for the cycle of 00Z 20070410:
Arguments for the script:
A note on the two sample FVS scripts:The sample script is provided for
your convenience. While it is correct to my best knowledge, I am not an FVS
expert and you are advised to consult, always, the official FVS document
and FVS help pages.
and construct your trace.ctl file and run scripts based on these documents
(tip: plotting precip SL1L2 is essentially the same as plotting other scalar
L1L2 statistics, i.e. 2m temperature or RH). Should there be a conflict
between the sample scripts here and the official FVS document/FVS help pages,
the language of the official FVS document/FVS help pages will control.
Back to
Dimension:
464 x 224
(1,1) point:
(124.875W,25.125N)
(1,224) point:
(124.875W,53N)
(464,1) point:
(67W,25.125N)
(464,224) point:
(67W,53N)
Wei Shi, who is one of the developers
of the various CPC precipitation analyses, told me that the main difference
between our 1/4 degree and 1/8 degree analyses is the analysis scheme - the
former uses so called 'modified Cressman scheme' and the latter
'inverse distance with PRISM climatology' (John Schaake's work).
1 G104 verification done for NGM only.
Old System
New System
Verifying analysis
Raw gauge data box averaged to grid
CPC 0.125-deg analysis mapped to grid
VSDB file on tempest (NCEP/EMC users)
/mmb/wd22yl/vsdb_prcp24.old
/mmb/wd22yl/vsdb_prcp24
Tar'd past VSDB files
ftp://ftp.emc.ncep.noaa.gov/mmb/gcp/vsdb_prcp/mb24/
ftp://ftp.emc.ncep.noaa.gov/mmb/gcp/vsdb_prcp/mc24/
Indices of tar'd VSDB files
http://wwwt.emc.ncep.noaa.gov/mmb/ylin/pcpverif/scores/vsdblist/mb24/
http://wwwt.emc.ncep.noaa.gov/mmb/ylin/pcpverif/scores/vsdblist/mc24/
VSDB data identifier
MB_PCP
MC_PCP
Verifying grids
G104(90km)1,
G211 (80km), G212 (40km)
G104(90km)1,
G211 (80km), G212 (40km),
G218(12km)2
Starting Date3
1 Jun 1992
1 Sep 2002
2 G218 verification done for ETA, GFS
and various mesoscale nests at NCEP/EMC.
3 Not all models have been verified from
the starting dates. Check indices (links in table above) for details.
VSDB archive on tempest (for users within NCEP/EMC):
If the vsdb files you are looking for is not on tempest:
Since the uncompressed VSDB files take up a lot of space, the policy is not
to keep any VSDB files (other than that for NAM) on line for more than a
year or two. Older files are removed from tempest after being archived
(see HPSS archive below).
If you want to comparing NAM against, say, MODELX for a time period from
several years ago, and MODELX's vsdb files are no longer on tempest, do the
following:
Monthly archive on NCEP IBM's HPSS storage:
Information below (on this subject) needs further update:
The contents of the above files are listed in
here.
If you are looking for a vsdb file for, say, a parallel run you made back
in 1995, and do not find them in the monthly/annual tar files above, check
out this
list for the tar file saved in
HSM:/hsmuser/g01/wx22yl/vsdb_prcp/misc/vsdbmb_inactive.20010411.Z.
It was made on 11 Apr 2001, when I removed a bunch of vsdb files in
directories that had long been dormant in order to free up some disk space.
The precipitation package is available via SubVersion at
https://svn.ncep.noaa.gov/emc/verif/g2g_precip/. Currently this is only
accessible by NCEP people. We hope that in the future a read-only version of
the SVN can be made available to the public.
pscore_multicyc "ps|plot.ps|11;8.5|c" "NAM GFS" 00 20060701 20060731 RFC 0.6
pscore_1cyc "ps|plot.ps|11;8.5|c" "NAM GFS" 2007041006 RFC 0.5
NCEP/EMC Model Precipitation Scores Page