[Met_help] [rt.rap.ucar.edu #41147] History for Need help using grid_stat for pressure range selection
RAL HelpDesk {for John Halley Gotway}
met_help at ucar.edu
Thu Sep 30 14:36:53 MDT 2010
----------------------------------------------------------------
Initial Request
----------------------------------------------------------------
Hello MET help,
I am having a problem using grid_stat selecting a pressure level range. When
I select a single level (ie 500 mb) everything works fine. However, when I
select multiple levels I get the following error message:
$> grid_stat WRF2GFS_d01_3D.009 gfs_3_20060802_0000_009.grb GridStatConfig
-outdir .
GSL_RNG_TYPE=mt19937
GSL_RNG_SEED=18446744072957894988
Forecast File: WRF2GFS_d01_3D.009
Observation File: gfs_3_20060802_0000_009.grb
Configuration File: GridStatConfig
***WARNING***: process_scores() -> HGT/P300-200 not found in GRIB file:
WRF2GFS_d01_3D.009
***WARNING***: process_scores() -> TMP/P300-200 not found in GRIB file:
WRF2GFS_d01_3D.009
***WARNING***: process_scores() -> RH/P300-200 not found in GRIB file:
WRF2GFS_d01_3D.009
ERROR: derive_wind_record() -> can't find the UGRD and/or VGRD record for
level values 200 and 300 when trying to derive the wind speed field
I quick dump using wgrid clearly shows these levels exist:
$> wgrib WRF2GFS_d01_3D.009 | grep -E ":HGT:|:TMP:|:RH:|:UGRD:|:VGRD:" |
egrep -E "300 mb|2[0-9]{2} mb"
180:1773964:d=06080200:UGRD:kpds5=33:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
mb:9hr fcst:NAve=0
181:1784058:d=06080200:VGRD:kpds5=34:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
mb:9hr fcst:NAve=0
184:1814076:d=06080200:RH:kpds5=52:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
mb:9hr fcst:NAve=0
186:1833866:d=06080200:TMP:kpds5=11:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
mb:9hr fcst:NAve=0
187:1844094:d=06080200:HGT:kpds5=7:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
mb:9hr fcst:NAve=0
191:1882612:d=06080200:UGRD:kpds5=33:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
mb:9hr fcst:NAve=0
192:1892706:d=06080200:VGRD:kpds5=34:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
mb:9hr fcst:NAve=0
195:1922990:d=06080200:RH:kpds5=52:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
mb:9hr fcst:NAve=0
197:1942780:d=06080200:TMP:kpds5=11:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
mb:9hr fcst:NAve=0
198:1952874:d=06080200:HGT:kpds5=7:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
mb:9hr fcst:NAve=0
202:1991258:d=06080200:UGRD:kpds5=33:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
mb:9hr fcst:NAve=0
203:2001352:d=06080200:VGRD:kpds5=34:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
mb:9hr fcst:NAve=0
206:2031636:d=06080200:RH:kpds5=52:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
mb:9hr fcst:NAve=0
208:2051294:d=06080200:TMP:kpds5=11:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
mb:9hr fcst:NAve=0
209:2061388:d=06080200:HGT:kpds5=7:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
mb:9hr fcst:NAve=0
Would you mind taking a look at my files to see why I cannot select a
pressure range? Here are the following files:
http://dl.dropbox.com/u/9083643/WRF2GFS_d01_3D.009 (file created from
WPP/copygb.exe interpolating my WRF domain to GFS grid003 domain)
http://dl.dropbox.com/u/9083643/gfs_3_20060802_0000_009.grb (GFS
"observation" file)
http://dl.dropbox.com/u/9083643/GridStatConfig (my config file, line 40
works, line 41 does not)
Please let me know how I can bundle these statistics across multiple levels
as possible with point_stat. Thanks and I look forward to hearing from you
soon.
Scott
----------------------------------------------------------------
Complete Ticket History
----------------------------------------------------------------
Subject: Re: [rt.rap.ucar.edu #41147] Need help using grid_stat for pressure range selection
From: John Halley Gotway
Time: Tue Sep 28 10:39:19 2010
Scott,
I think there's some confusion here about the difference in
functionality between the Grid-Stat and Point-Stat tools.
In Point-Stat, you can select a single pressure level or a range of
pressure levels. If you've selected a range of levels, the forecast
values are interpolated to the pressure of the observation to
create matched pairs.
In Grid-Stat, you select a single record from the forecast file to be
compared against a single record from the observation file. The data
must be on the same grid and the values are compared grid-
point by grid-point. I took a look at the comments in the Grid-Stat
config file and see that it does state that it can read ranges of
pressure levels. This is a perhaps the point of confusion. Some
GRIB records are defined as a range themselves - really as a layer.
But it's still a single record, and a single value for each grid point
for that range.
But really, Grid-Stat can only read a single forecast record and
compare it a single observation record.
If you're interested in the performance across multiple pressure
levels, here's what you'd have to do:
(1) Run Grid-Stat to verify your data at each of the pressure levels
of interest:
fcst_field[] = [ "HGT/P200", "TMP/P200", "RH/P200", "HGT/P250",
"TMP/P250", "RH/P250", "HGT/P300", "TMP/P300", "RH/P300" ];
And write out contingency table counts (CTC) and partial sums
(SL1L2) of interest.
(2) Use the Stat-Analysis tool to aggregate this data together, for
example:
stat_analysis -job aggregate_stat -line_type SL1L2 -out_line_type
CNT -fcst_var TMP -fcst_lev P200 -fcst_lev P250 -fcst_lev P300
or
stat_analysis -job aggregate_stat -line_type CTC -out_line_type
CTS -fcst_var TMP -fcst_lev P200 -fcst_lev P250 -fcst_lev P300
I think I see what you'd really like to do here. You would like Grid-
Stat to verify at 200mb, 250mb, and 300mb, and then combine all those
matched pairs into a single set of output statistics. Is
that correct?
Unfortuanately, Grid-Stat isn't set up to work like that at this
point.
Hope that helps clarify.
Thanks,
John
RAL HelpDesk {for Scott Rabenhorst} wrote:
> Mon Sep 27 18:46:20 2010: Request 41147 was acted upon.
> Transaction: Ticket created by scott.rabenhorst at gmail.com
> Queue: met_help
> Subject: Need help using grid_stat for pressure range selection
> Owner: Nobody
> Requestors: scott.rabenhorst at gmail.com
> Status: new
> Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=41147 >
>
>
> Hello MET help,
>
> I am having a problem using grid_stat selecting a pressure level
range. When
> I select a single level (ie 500 mb) everything works fine. However,
when I
> select multiple levels I get the following error message:
>
> $> grid_stat WRF2GFS_d01_3D.009 gfs_3_20060802_0000_009.grb
GridStatConfig
> -outdir .
>
> GSL_RNG_TYPE=mt19937
> GSL_RNG_SEED=18446744072957894988
> Forecast File: WRF2GFS_d01_3D.009
> Observation File: gfs_3_20060802_0000_009.grb
> Configuration File: GridStatConfig
> ***WARNING***: process_scores() -> HGT/P300-200 not found in GRIB
file:
> WRF2GFS_d01_3D.009
> ***WARNING***: process_scores() -> TMP/P300-200 not found in GRIB
file:
> WRF2GFS_d01_3D.009
> ***WARNING***: process_scores() -> RH/P300-200 not found in GRIB
file:
> WRF2GFS_d01_3D.009
> ERROR: derive_wind_record() -> can't find the UGRD and/or VGRD
record for
> level values 200 and 300 when trying to derive the wind speed field
>
> I quick dump using wgrid clearly shows these levels exist:
>
> $> wgrib WRF2GFS_d01_3D.009 | grep -E
":HGT:|:TMP:|:RH:|:UGRD:|:VGRD:" |
> egrep -E "300 mb|2[0-9]{2} mb"
>
>
180:1773964:d=06080200:UGRD:kpds5=33:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
> mb:9hr fcst:NAve=0
>
181:1784058:d=06080200:VGRD:kpds5=34:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
> mb:9hr fcst:NAve=0
>
184:1814076:d=06080200:RH:kpds5=52:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
> mb:9hr fcst:NAve=0
>
186:1833866:d=06080200:TMP:kpds5=11:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
> mb:9hr fcst:NAve=0
>
187:1844094:d=06080200:HGT:kpds5=7:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
> mb:9hr fcst:NAve=0
>
191:1882612:d=06080200:UGRD:kpds5=33:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
> mb:9hr fcst:NAve=0
>
192:1892706:d=06080200:VGRD:kpds5=34:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
> mb:9hr fcst:NAve=0
>
195:1922990:d=06080200:RH:kpds5=52:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
> mb:9hr fcst:NAve=0
>
197:1942780:d=06080200:TMP:kpds5=11:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
> mb:9hr fcst:NAve=0
>
198:1952874:d=06080200:HGT:kpds5=7:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
> mb:9hr fcst:NAve=0
>
202:1991258:d=06080200:UGRD:kpds5=33:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
> mb:9hr fcst:NAve=0
>
203:2001352:d=06080200:VGRD:kpds5=34:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
> mb:9hr fcst:NAve=0
>
206:2031636:d=06080200:RH:kpds5=52:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
> mb:9hr fcst:NAve=0
>
208:2051294:d=06080200:TMP:kpds5=11:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
> mb:9hr fcst:NAve=0
>
209:2061388:d=06080200:HGT:kpds5=7:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
> mb:9hr fcst:NAve=0
>
> Would you mind taking a look at my files to see why I cannot select
a
> pressure range? Here are the following files:
>
> http://dl.dropbox.com/u/9083643/WRF2GFS_d01_3D.009 (file created
from
> WPP/copygb.exe interpolating my WRF domain to GFS grid003 domain)
> http://dl.dropbox.com/u/9083643/gfs_3_20060802_0000_009.grb (GFS
> "observation" file)
> http://dl.dropbox.com/u/9083643/GridStatConfig (my config file,
line 40
> works, line 41 does not)
>
> Please let me know how I can bundle these statistics across multiple
levels
> as possible with point_stat. Thanks and I look forward to hearing
from you
> soon.
>
> Scott
------------------------------------------------
Subject: Need help using grid_stat for pressure range selection
From: Scott Rabenhorst
Time: Wed Sep 29 09:13:28 2010
Hi John,
Thanks for letting me know. Yes, I was under the impression grid_stat
selected multiple levels based on the comments and description in the
example configuration file. Thanks for the stat_analysis explanation.
I will
try that approach to accomplish this.
I have one other quick unrelated question. I know we've had previous
discussions regarding field levels and selection. Could you mention
how to
explicitly determine (from wgrib) the level grid/point_stat will "see"
when
searching a grib file for a particular variable. For example, in the
file
below I cannot seem to find the correct notation to select the "MSTAV"
field. "MSTAV/Z0" and "MSTAV/L0" do not work. Wgrib dumps:
1201:43047826:d=06080200:MSTAV:kpds5=207:kpds6=112:kpds7=100:TR=10:P1=0:P2=9:TimeU=1:0-
100
cm down:9hr fcst:NAve=0
I look up level 112 from NCEP 388 table 3, but this does not seem to
correlate with the MET LXXX notation. How do I know what level MET
wants?
The only thing that seems to work is "MSTAV/R1201". I'm sure there is
something simple I am missing.
Here is a link to my file:
http://dl.dropbox.com/u/9083643/WRFPRS_d01.009
Thanks,
Scott
Thanks,
Scott
On Tue, Sep 28, 2010 at 12:39 PM, RAL HelpDesk {for John Halley
Gotway} <
met_help at ucar.edu> wrote:
> Scott,
>
> I think there's some confusion here about the difference in
functionality
> between the Grid-Stat and Point-Stat tools.
>
> In Point-Stat, you can select a single pressure level or a range of
> pressure levels. If you've selected a range of levels, the forecast
values
> are interpolated to the pressure of the observation to
> create matched pairs.
>
> In Grid-Stat, you select a single record from the forecast file to
be
> compared against a single record from the observation file. The
data must
> be on the same grid and the values are compared grid-
> point by grid-point. I took a look at the comments in the Grid-Stat
config
> file and see that it does state that it can read ranges of pressure
levels.
> This is a perhaps the point of confusion. Some
> GRIB records are defined as a range themselves - really as a layer.
But
> it's still a single record, and a single value for each grid point
for that
> range.
>
> But really, Grid-Stat can only read a single forecast record and
compare it
> a single observation record.
>
> If you're interested in the performance across multiple pressure
levels,
> here's what you'd have to do:
>
> (1) Run Grid-Stat to verify your data at each of the pressure levels
of
> interest:
> fcst_field[] = [ "HGT/P200", "TMP/P200", "RH/P200", "HGT/P250",
> "TMP/P250", "RH/P250", "HGT/P300", "TMP/P300", "RH/P300" ];
> And write out contingency table counts (CTC) and partial sums
(SL1L2) of
> interest.
>
> (2) Use the Stat-Analysis tool to aggregate this data together, for
> example:
> stat_analysis -job aggregate_stat -line_type SL1L2 -out_line_type
CNT
> -fcst_var TMP -fcst_lev P200 -fcst_lev P250 -fcst_lev P300
> or
> stat_analysis -job aggregate_stat -line_type CTC -out_line_type
CTS
> -fcst_var TMP -fcst_lev P200 -fcst_lev P250 -fcst_lev P300
>
> I think I see what you'd really like to do here. You would like
Grid-Stat
> to verify at 200mb, 250mb, and 300mb, and then combine all those
matched
> pairs into a single set of output statistics. Is
> that correct?
>
> Unfortuanately, Grid-Stat isn't set up to work like that at this
point.
>
> Hope that helps clarify.
>
> Thanks,
> John
>
>
> RAL HelpDesk {for Scott Rabenhorst} wrote:
> > Mon Sep 27 18:46:20 2010: Request 41147 was acted upon.
> > Transaction: Ticket created by scott.rabenhorst at gmail.com
> > Queue: met_help
> > Subject: Need help using grid_stat for pressure range
selection
> > Owner: Nobody
> > Requestors: scott.rabenhorst at gmail.com
> > Status: new
> > Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=41147 >
> >
> >
> > Hello MET help,
> >
> > I am having a problem using grid_stat selecting a pressure level
range.
> When
> > I select a single level (ie 500 mb) everything works fine.
However, when
> I
> > select multiple levels I get the following error message:
> >
> > $> grid_stat WRF2GFS_d01_3D.009 gfs_3_20060802_0000_009.grb
> GridStatConfig
> > -outdir .
> >
> > GSL_RNG_TYPE=mt19937
> > GSL_RNG_SEED=18446744072957894988
> > Forecast File: WRF2GFS_d01_3D.009
> > Observation File: gfs_3_20060802_0000_009.grb
> > Configuration File: GridStatConfig
> > ***WARNING***: process_scores() -> HGT/P300-200 not found in GRIB
file:
> > WRF2GFS_d01_3D.009
> > ***WARNING***: process_scores() -> TMP/P300-200 not found in GRIB
file:
> > WRF2GFS_d01_3D.009
> > ***WARNING***: process_scores() -> RH/P300-200 not found in GRIB
file:
> > WRF2GFS_d01_3D.009
> > ERROR: derive_wind_record() -> can't find the UGRD and/or VGRD
record for
> > level values 200 and 300 when trying to derive the wind speed
field
> >
> > I quick dump using wgrid clearly shows these levels exist:
> >
> > $> wgrib WRF2GFS_d01_3D.009 | grep -E
":HGT:|:TMP:|:RH:|:UGRD:|:VGRD:" |
> > egrep -E "300 mb|2[0-9]{2} mb"
> >
> >
>
180:1773964:d=06080200:UGRD:kpds5=33:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
> > mb:9hr fcst:NAve=0
> >
>
181:1784058:d=06080200:VGRD:kpds5=34:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
> > mb:9hr fcst:NAve=0
> >
>
184:1814076:d=06080200:RH:kpds5=52:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
> > mb:9hr fcst:NAve=0
> >
>
186:1833866:d=06080200:TMP:kpds5=11:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
> > mb:9hr fcst:NAve=0
> >
>
187:1844094:d=06080200:HGT:kpds5=7:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
> > mb:9hr fcst:NAve=0
> >
>
191:1882612:d=06080200:UGRD:kpds5=33:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
> > mb:9hr fcst:NAve=0
> >
>
192:1892706:d=06080200:VGRD:kpds5=34:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
> > mb:9hr fcst:NAve=0
> >
>
195:1922990:d=06080200:RH:kpds5=52:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
> > mb:9hr fcst:NAve=0
> >
>
197:1942780:d=06080200:TMP:kpds5=11:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
> > mb:9hr fcst:NAve=0
> >
>
198:1952874:d=06080200:HGT:kpds5=7:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
> > mb:9hr fcst:NAve=0
> >
>
202:1991258:d=06080200:UGRD:kpds5=33:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
> > mb:9hr fcst:NAve=0
> >
>
203:2001352:d=06080200:VGRD:kpds5=34:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
> > mb:9hr fcst:NAve=0
> >
>
206:2031636:d=06080200:RH:kpds5=52:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
> > mb:9hr fcst:NAve=0
> >
>
208:2051294:d=06080200:TMP:kpds5=11:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
> > mb:9hr fcst:NAve=0
> >
>
209:2061388:d=06080200:HGT:kpds5=7:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
> > mb:9hr fcst:NAve=0
> >
> > Would you mind taking a look at my files to see why I cannot
select a
> > pressure range? Here are the following files:
> >
> > http://dl.dropbox.com/u/9083643/WRF2GFS_d01_3D.009 (file created
from
> > WPP/copygb.exe interpolating my WRF domain to GFS grid003 domain)
> > http://dl.dropbox.com/u/9083643/gfs_3_20060802_0000_009.grb (GFS
> > "observation" file)
> > http://dl.dropbox.com/u/9083643/GridStatConfig (my config file,
line 40
> > works, line 41 does not)
> >
> > Please let me know how I can bundle these statistics across
multiple
> levels
> > as possible with point_stat. Thanks and I look forward to hearing
from
> you
> > soon.
> >
> > Scott
>
>
------------------------------------------------
Subject: Re: [rt.rap.ucar.edu #41147] Need help using grid_stat for pressure range selection
From: John Halley Gotway
Time: Wed Sep 29 12:18:00 2010
Scott,
A few things to say here...
I retrieved the data file you posted and took a look at the record for
MSTAV using the Integrated Data Viewer tool (IDV) put out by UCAR-
Unidata. I see that all the values in the record are 0. Don't
know if that means there's a problem in the model output?
Next, you can use the -V option of wgrib to dump out more info about
that record as follows:
wgrib WRFPRS_d01.009 -d 1201 -V
rec 1201:43047826:date 2006080200 MSTAV kpds5=207 kpds6=112 kpds7=100
levels=(0,100) grid=255 0-100 cm down 9hr fcst:
MSTAV=Moisture availability [%]
timerange 10 P1 0 P2 9 TimeU 1 nx 199 ny 149 GDS grid 3 num_in_ave
0 missing 0
center 7 subcenter 0 process 89 Table 2 scan: WE:SN winds(grid)
Lambert Conf: Lat1 27.762000 Lon1 -105.608000 Lov -87.500000
Latin1 50.000000 Latin2 30.000000 LatSP 0.000000 LonSP 0.000000
North Pole (199 x 149) Dx 18.000000 Dy 18.000000 scan 64 mode
137
min/max data 0 0 num bits 0 BDS_Ref 0 DecScale 0 BinScale 0
This record is actually defined as a layer between 0 and 100. I see
this where the wgrib output says "levels=(0,100)". I tried to run
Grid-Stat using "MSTAV/Z0-100", but it errors out saying that it
can only read ranges of pressure levels.
That requirement is not really necessary, so we've removed that for
the upcoming release of METv3.0. I was able to run this through Grid-
Stat using a beta release of METv3.0.
So your options are:
- Modify the source code for METv2.0, to remove that stipulation about
only reading ranges of pressure levels.
- Wait for METv3.0 at the end of this week and try it with that
(recommended).
Hope that helps.
John
RAL HelpDesk {for Scott Rabenhorst} wrote:
> <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=41147 >
>
> Hi John,
>
> Thanks for letting me know. Yes, I was under the impression
grid_stat
> selected multiple levels based on the comments and description in
the
> example configuration file. Thanks for the stat_analysis
explanation. I will
> try that approach to accomplish this.
>
> I have one other quick unrelated question. I know we've had previous
> discussions regarding field levels and selection. Could you mention
how to
> explicitly determine (from wgrib) the level grid/point_stat will
"see" when
> searching a grib file for a particular variable. For example, in the
file
> below I cannot seem to find the correct notation to select the
"MSTAV"
> field. "MSTAV/Z0" and "MSTAV/L0" do not work. Wgrib dumps:
>
1201:43047826:d=06080200:MSTAV:kpds5=207:kpds6=112:kpds7=100:TR=10:P1=0:P2=9:TimeU=1:0-
100
> cm down:9hr fcst:NAve=0
> I look up level 112 from NCEP 388 table 3, but this does not seem to
> correlate with the MET LXXX notation. How do I know what level MET
wants?
> The only thing that seems to work is "MSTAV/R1201". I'm sure there
is
> something simple I am missing.
>
> Here is a link to my file:
> http://dl.dropbox.com/u/9083643/WRFPRS_d01.009
>
> Thanks,
> Scott
>
>
> Thanks,
> Scott
>
>
> On Tue, Sep 28, 2010 at 12:39 PM, RAL HelpDesk {for John Halley
Gotway} <
> met_help at ucar.edu> wrote:
>
>> Scott,
>>
>> I think there's some confusion here about the difference in
functionality
>> between the Grid-Stat and Point-Stat tools.
>>
>> In Point-Stat, you can select a single pressure level or a range of
>> pressure levels. If you've selected a range of levels, the
forecast values
>> are interpolated to the pressure of the observation to
>> create matched pairs.
>>
>> In Grid-Stat, you select a single record from the forecast file to
be
>> compared against a single record from the observation file. The
data must
>> be on the same grid and the values are compared grid-
>> point by grid-point. I took a look at the comments in the Grid-
Stat config
>> file and see that it does state that it can read ranges of pressure
levels.
>> This is a perhaps the point of confusion. Some
>> GRIB records are defined as a range themselves - really as a layer.
But
>> it's still a single record, and a single value for each grid point
for that
>> range.
>>
>> But really, Grid-Stat can only read a single forecast record and
compare it
>> a single observation record.
>>
>> If you're interested in the performance across multiple pressure
levels,
>> here's what you'd have to do:
>>
>> (1) Run Grid-Stat to verify your data at each of the pressure
levels of
>> interest:
>> fcst_field[] = [ "HGT/P200", "TMP/P200", "RH/P200", "HGT/P250",
>> "TMP/P250", "RH/P250", "HGT/P300", "TMP/P300", "RH/P300" ];
>> And write out contingency table counts (CTC) and partial sums
(SL1L2) of
>> interest.
>>
>> (2) Use the Stat-Analysis tool to aggregate this data together, for
>> example:
>> stat_analysis -job aggregate_stat -line_type SL1L2 -out_line_type
CNT
>> -fcst_var TMP -fcst_lev P200 -fcst_lev P250 -fcst_lev P300
>> or
>> stat_analysis -job aggregate_stat -line_type CTC -out_line_type
CTS
>> -fcst_var TMP -fcst_lev P200 -fcst_lev P250 -fcst_lev P300
>>
>> I think I see what you'd really like to do here. You would like
Grid-Stat
>> to verify at 200mb, 250mb, and 300mb, and then combine all those
matched
>> pairs into a single set of output statistics. Is
>> that correct?
>>
>> Unfortuanately, Grid-Stat isn't set up to work like that at this
point.
>>
>> Hope that helps clarify.
>>
>> Thanks,
>> John
>>
>>
>> RAL HelpDesk {for Scott Rabenhorst} wrote:
>>> Mon Sep 27 18:46:20 2010: Request 41147 was acted upon.
>>> Transaction: Ticket created by scott.rabenhorst at gmail.com
>>> Queue: met_help
>>> Subject: Need help using grid_stat for pressure range
selection
>>> Owner: Nobody
>>> Requestors: scott.rabenhorst at gmail.com
>>> Status: new
>>> Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=41147 >
>>>
>>>
>>> Hello MET help,
>>>
>>> I am having a problem using grid_stat selecting a pressure level
range.
>> When
>>> I select a single level (ie 500 mb) everything works fine.
However, when
>> I
>>> select multiple levels I get the following error message:
>>>
>>> $> grid_stat WRF2GFS_d01_3D.009 gfs_3_20060802_0000_009.grb
>> GridStatConfig
>>> -outdir .
>>>
>>> GSL_RNG_TYPE=mt19937
>>> GSL_RNG_SEED=18446744072957894988
>>> Forecast File: WRF2GFS_d01_3D.009
>>> Observation File: gfs_3_20060802_0000_009.grb
>>> Configuration File: GridStatConfig
>>> ***WARNING***: process_scores() -> HGT/P300-200 not found in GRIB
file:
>>> WRF2GFS_d01_3D.009
>>> ***WARNING***: process_scores() -> TMP/P300-200 not found in GRIB
file:
>>> WRF2GFS_d01_3D.009
>>> ***WARNING***: process_scores() -> RH/P300-200 not found in GRIB
file:
>>> WRF2GFS_d01_3D.009
>>> ERROR: derive_wind_record() -> can't find the UGRD and/or VGRD
record for
>>> level values 200 and 300 when trying to derive the wind speed
field
>>>
>>> I quick dump using wgrid clearly shows these levels exist:
>>>
>>> $> wgrib WRF2GFS_d01_3D.009 | grep -E
":HGT:|:TMP:|:RH:|:UGRD:|:VGRD:" |
>>> egrep -E "300 mb|2[0-9]{2} mb"
>>>
>>>
>>
180:1773964:d=06080200:UGRD:kpds5=33:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
>>> mb:9hr fcst:NAve=0
>>>
>>
181:1784058:d=06080200:VGRD:kpds5=34:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
>>> mb:9hr fcst:NAve=0
>>>
>>
184:1814076:d=06080200:RH:kpds5=52:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
>>> mb:9hr fcst:NAve=0
>>>
>>
186:1833866:d=06080200:TMP:kpds5=11:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
>>> mb:9hr fcst:NAve=0
>>>
>>
187:1844094:d=06080200:HGT:kpds5=7:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
>>> mb:9hr fcst:NAve=0
>>>
>>
191:1882612:d=06080200:UGRD:kpds5=33:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
>>> mb:9hr fcst:NAve=0
>>>
>>
192:1892706:d=06080200:VGRD:kpds5=34:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
>>> mb:9hr fcst:NAve=0
>>>
>>
195:1922990:d=06080200:RH:kpds5=52:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
>>> mb:9hr fcst:NAve=0
>>>
>>
197:1942780:d=06080200:TMP:kpds5=11:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
>>> mb:9hr fcst:NAve=0
>>>
>>
198:1952874:d=06080200:HGT:kpds5=7:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
>>> mb:9hr fcst:NAve=0
>>>
>>
202:1991258:d=06080200:UGRD:kpds5=33:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
>>> mb:9hr fcst:NAve=0
>>>
>>
203:2001352:d=06080200:VGRD:kpds5=34:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
>>> mb:9hr fcst:NAve=0
>>>
>>
206:2031636:d=06080200:RH:kpds5=52:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
>>> mb:9hr fcst:NAve=0
>>>
>>
208:2051294:d=06080200:TMP:kpds5=11:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
>>> mb:9hr fcst:NAve=0
>>>
>>
209:2061388:d=06080200:HGT:kpds5=7:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
>>> mb:9hr fcst:NAve=0
>>>
>>> Would you mind taking a look at my files to see why I cannot
select a
>>> pressure range? Here are the following files:
>>>
>>> http://dl.dropbox.com/u/9083643/WRF2GFS_d01_3D.009 (file created
from
>>> WPP/copygb.exe interpolating my WRF domain to GFS grid003 domain)
>>> http://dl.dropbox.com/u/9083643/gfs_3_20060802_0000_009.grb (GFS
>>> "observation" file)
>>> http://dl.dropbox.com/u/9083643/GridStatConfig (my config file,
line 40
>>> works, line 41 does not)
>>>
>>> Please let me know how I can bundle these statistics across
multiple
>> levels
>>> as possible with point_stat. Thanks and I look forward to hearing
from
>> you
>>> soon.
>>>
>>> Scott
>>
------------------------------------------------
Subject: Need help using grid_stat for pressure range selection
From: Scott Rabenhorst
Time: Wed Sep 29 13:12:21 2010
Hi John,
Thanks for taking a look. After sending the email I noticed the MSTAV
field
was zero (WPP errror). However, there are other similar fields (LFTX,
4LFTX,
etc) that are non-zero with the same issue. Yes, I eagerly await
MET3.0
since it appears to improve access to specific model fields. Trying to
further understand the current MET version, let's take the four CAPE
fields
as an example...
$> wgrib WRFPRS_d01.009 | grep ":CAPE:"
1233:43884766:d=06080200:CAPE:kpds5=157:kpds6=1:kpds7=0:TR=10:P1=0:P2=9:TimeU=1:sfc:9hr
fcst:NAve=0
1343:48954300:d=06080200:CAPE:kpds5=157:kpds6=116:kpds7=46080:TR=10:P1=0:P2=9:TimeU=1:180-
0
mb above gnd:9hr fcst:NAve=0
1348:49252320:d=06080200:CAPE:kpds5=157:kpds6=116:kpds7=23040:TR=10:P1=0:P2=9:TimeU=1:90-
0
mb above gnd:9hr fcst:NAve=0
1350:49367406:d=06080200:CAPE:kpds5=157:kpds6=116:kpds7=65280:TR=10:P1=0:P2=9:TimeU=1:255-
0
mb above gnd:9hr fcst:NAve=0
$> wgrib -V -d 1233 WRFPRS_d01.009
rec 1233:43884766:date 2006080200 CAPE kpds5=157 kpds6=1 kpds7=0
levels=(0,0) grid=255 sfc 9hr fcst:
...
$> wgrib -V -d 1343 WRFPRS_d01.009
rec 1343:48954300:date 2006080200 CAPE kpds5=157 kpds6=116 kpds7=46080
levels=(180,0) grid=255 180-0 mb above gnd 9hr fcst:
...
$> wgrib -V -d 1348 WRFPRS_d01.009
rec 1348:49252320:date 2006080200 CAPE kpds5=157 kpds6=116 kpds7=23040
levels=(90,0) grid=255 90-0 mb above gnd 9hr fcst:
...
$> wgrib -V -d 1350 WRFPRS_d01.009
rec 1350:49367406:date 2006080200 CAPE kpds5=157 kpds6=116 kpds7=65280
levels=(255,0) grid=255 255-0 mb above gnd 9hr fcst:
...
When I use "CAPE/Z0", does MET look for (1) simply the first CAPE
record in
the file, or (2) match AAA=0 from "level(AAA,BBB)"? In an effort to
access
record 1343, I tried "CAPE/Z180-0", "CAPE/L180-0", "CAPE/Z180", and
"CAPE/L180". None of those worked. However, using "CAPE/R1343" does
work. I
assume this is the best way to specifically select the field I want
using
the current version of MET?
Thanks
Scott
On Wed, Sep 29, 2010 at 2:18 PM, RAL HelpDesk {for John Halley Gotway}
<
met_help at ucar.edu> wrote:
> Scott,
>
> A few things to say here...
>
> I retrieved the data file you posted and took a look at the record
for
> MSTAV using the Integrated Data Viewer tool (IDV) put out by UCAR-
Unidata.
> I see that all the values in the record are 0. Don't
> know if that means there's a problem in the model output?
>
> Next, you can use the -V option of wgrib to dump out more info about
that
> record as follows:
>
> wgrib WRFPRS_d01.009 -d 1201 -V
> rec 1201:43047826:date 2006080200 MSTAV kpds5=207 kpds6=112
kpds7=100
> levels=(0,100) grid=255 0-100 cm down 9hr fcst:
> MSTAV=Moisture availability [%]
> timerange 10 P1 0 P2 9 TimeU 1 nx 199 ny 149 GDS grid 3 num_in_ave
0
> missing 0
> center 7 subcenter 0 process 89 Table 2 scan: WE:SN winds(grid)
> Lambert Conf: Lat1 27.762000 Lon1 -105.608000 Lov -87.500000
> Latin1 50.000000 Latin2 30.000000 LatSP 0.000000 LonSP 0.000000
> North Pole (199 x 149) Dx 18.000000 Dy 18.000000 scan 64 mode
137
> min/max data 0 0 num bits 0 BDS_Ref 0 DecScale 0 BinScale 0
>
> This record is actually defined as a layer between 0 and 100. I see
this
> where the wgrib output says "levels=(0,100)". I tried to run Grid-
Stat
> using "MSTAV/Z0-100", but it errors out saying that it
> can only read ranges of pressure levels.
>
> That requirement is not really necessary, so we've removed that for
the
> upcoming release of METv3.0. I was able to run this through Grid-
Stat using
> a beta release of METv3.0.
>
> So your options are:
> - Modify the source code for METv2.0, to remove that stipulation
about only
> reading ranges of pressure levels.
> - Wait for METv3.0 at the end of this week and try it with that
> (recommended).
>
> Hope that helps.
>
> John
>
> RAL HelpDesk {for Scott Rabenhorst} wrote:
> > <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=41147 >
> >
> > Hi John,
> >
> > Thanks for letting me know. Yes, I was under the impression
grid_stat
> > selected multiple levels based on the comments and description in
the
> > example configuration file. Thanks for the stat_analysis
explanation. I
> will
> > try that approach to accomplish this.
> >
> > I have one other quick unrelated question. I know we've had
previous
> > discussions regarding field levels and selection. Could you
mention how
> to
> > explicitly determine (from wgrib) the level grid/point_stat will
"see"
> when
> > searching a grib file for a particular variable. For example, in
the file
> > below I cannot seem to find the correct notation to select the
"MSTAV"
> > field. "MSTAV/Z0" and "MSTAV/L0" do not work. Wgrib dumps:
> >
>
1201:43047826:d=06080200:MSTAV:kpds5=207:kpds6=112:kpds7=100:TR=10:P1=0:P2=9:TimeU=1:0-
100
> > cm down:9hr fcst:NAve=0
> > I look up level 112 from NCEP 388 table 3, but this does not seem
to
> > correlate with the MET LXXX notation. How do I know what level MET
wants?
> > The only thing that seems to work is "MSTAV/R1201". I'm sure there
is
> > something simple I am missing.
> >
> > Here is a link to my file:
> > http://dl.dropbox.com/u/9083643/WRFPRS_d01.009
> >
> > Thanks,
> > Scott
> >
> >
> > Thanks,
> > Scott
> >
> >
> > On Tue, Sep 28, 2010 at 12:39 PM, RAL HelpDesk {for John Halley
Gotway} <
> > met_help at ucar.edu> wrote:
> >
> >> Scott,
> >>
> >> I think there's some confusion here about the difference in
> functionality
> >> between the Grid-Stat and Point-Stat tools.
> >>
> >> In Point-Stat, you can select a single pressure level or a range
of
> >> pressure levels. If you've selected a range of levels, the
forecast
> values
> >> are interpolated to the pressure of the observation to
> >> create matched pairs.
> >>
> >> In Grid-Stat, you select a single record from the forecast file
to be
> >> compared against a single record from the observation file. The
data
> must
> >> be on the same grid and the values are compared grid-
> >> point by grid-point. I took a look at the comments in the Grid-
Stat
> config
> >> file and see that it does state that it can read ranges of
pressure
> levels.
> >> This is a perhaps the point of confusion. Some
> >> GRIB records are defined as a range themselves - really as a
layer. But
> >> it's still a single record, and a single value for each grid
point for
> that
> >> range.
> >>
> >> But really, Grid-Stat can only read a single forecast record and
compare
> it
> >> a single observation record.
> >>
> >> If you're interested in the performance across multiple pressure
levels,
> >> here's what you'd have to do:
> >>
> >> (1) Run Grid-Stat to verify your data at each of the pressure
levels of
> >> interest:
> >> fcst_field[] = [ "HGT/P200", "TMP/P200", "RH/P200", "HGT/P250",
> >> "TMP/P250", "RH/P250", "HGT/P300", "TMP/P300", "RH/P300" ];
> >> And write out contingency table counts (CTC) and partial sums
(SL1L2)
> of
> >> interest.
> >>
> >> (2) Use the Stat-Analysis tool to aggregate this data together,
for
> >> example:
> >> stat_analysis -job aggregate_stat -line_type SL1L2
-out_line_type CNT
> >> -fcst_var TMP -fcst_lev P200 -fcst_lev P250 -fcst_lev P300
> >> or
> >> stat_analysis -job aggregate_stat -line_type CTC
-out_line_type CTS
> >> -fcst_var TMP -fcst_lev P200 -fcst_lev P250 -fcst_lev P300
> >>
> >> I think I see what you'd really like to do here. You would like
> Grid-Stat
> >> to verify at 200mb, 250mb, and 300mb, and then combine all those
matched
> >> pairs into a single set of output statistics. Is
> >> that correct?
> >>
> >> Unfortuanately, Grid-Stat isn't set up to work like that at this
point.
> >>
> >> Hope that helps clarify.
> >>
> >> Thanks,
> >> John
> >>
> >>
> >> RAL HelpDesk {for Scott Rabenhorst} wrote:
> >>> Mon Sep 27 18:46:20 2010: Request 41147 was acted upon.
> >>> Transaction: Ticket created by scott.rabenhorst at gmail.com
> >>> Queue: met_help
> >>> Subject: Need help using grid_stat for pressure range
selection
> >>> Owner: Nobody
> >>> Requestors: scott.rabenhorst at gmail.com
> >>> Status: new
> >>> Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=41147>
> >>>
> >>>
> >>> Hello MET help,
> >>>
> >>> I am having a problem using grid_stat selecting a pressure level
range.
> >> When
> >>> I select a single level (ie 500 mb) everything works fine.
However,
> when
> >> I
> >>> select multiple levels I get the following error message:
> >>>
> >>> $> grid_stat WRF2GFS_d01_3D.009 gfs_3_20060802_0000_009.grb
> >> GridStatConfig
> >>> -outdir .
> >>>
> >>> GSL_RNG_TYPE=mt19937
> >>> GSL_RNG_SEED=18446744072957894988
> >>> Forecast File: WRF2GFS_d01_3D.009
> >>> Observation File: gfs_3_20060802_0000_009.grb
> >>> Configuration File: GridStatConfig
> >>> ***WARNING***: process_scores() -> HGT/P300-200 not found in
GRIB file:
> >>> WRF2GFS_d01_3D.009
> >>> ***WARNING***: process_scores() -> TMP/P300-200 not found in
GRIB file:
> >>> WRF2GFS_d01_3D.009
> >>> ***WARNING***: process_scores() -> RH/P300-200 not found in GRIB
file:
> >>> WRF2GFS_d01_3D.009
> >>> ERROR: derive_wind_record() -> can't find the UGRD and/or VGRD
record
> for
> >>> level values 200 and 300 when trying to derive the wind speed
field
> >>>
> >>> I quick dump using wgrid clearly shows these levels exist:
> >>>
> >>> $> wgrib WRF2GFS_d01_3D.009 | grep -E
":HGT:|:TMP:|:RH:|:UGRD:|:VGRD:"
> |
> >>> egrep -E "300 mb|2[0-9]{2} mb"
> >>>
> >>>
> >>
>
180:1773964:d=06080200:UGRD:kpds5=33:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
> >>> mb:9hr fcst:NAve=0
> >>>
> >>
>
181:1784058:d=06080200:VGRD:kpds5=34:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
> >>> mb:9hr fcst:NAve=0
> >>>
> >>
>
184:1814076:d=06080200:RH:kpds5=52:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
> >>> mb:9hr fcst:NAve=0
> >>>
> >>
>
186:1833866:d=06080200:TMP:kpds5=11:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
> >>> mb:9hr fcst:NAve=0
> >>>
> >>
>
187:1844094:d=06080200:HGT:kpds5=7:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
> >>> mb:9hr fcst:NAve=0
> >>>
> >>
>
191:1882612:d=06080200:UGRD:kpds5=33:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
> >>> mb:9hr fcst:NAve=0
> >>>
> >>
>
192:1892706:d=06080200:VGRD:kpds5=34:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
> >>> mb:9hr fcst:NAve=0
> >>>
> >>
>
195:1922990:d=06080200:RH:kpds5=52:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
> >>> mb:9hr fcst:NAve=0
> >>>
> >>
>
197:1942780:d=06080200:TMP:kpds5=11:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
> >>> mb:9hr fcst:NAve=0
> >>>
> >>
>
198:1952874:d=06080200:HGT:kpds5=7:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
> >>> mb:9hr fcst:NAve=0
> >>>
> >>
>
202:1991258:d=06080200:UGRD:kpds5=33:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
> >>> mb:9hr fcst:NAve=0
> >>>
> >>
>
203:2001352:d=06080200:VGRD:kpds5=34:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
> >>> mb:9hr fcst:NAve=0
> >>>
> >>
>
206:2031636:d=06080200:RH:kpds5=52:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
> >>> mb:9hr fcst:NAve=0
> >>>
> >>
>
208:2051294:d=06080200:TMP:kpds5=11:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
> >>> mb:9hr fcst:NAve=0
> >>>
> >>
>
209:2061388:d=06080200:HGT:kpds5=7:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
> >>> mb:9hr fcst:NAve=0
> >>>
> >>> Would you mind taking a look at my files to see why I cannot
select a
> >>> pressure range? Here are the following files:
> >>>
> >>> http://dl.dropbox.com/u/9083643/WRF2GFS_d01_3D.009 (file
created from
> >>> WPP/copygb.exe interpolating my WRF domain to GFS grid003
domain)
> >>> http://dl.dropbox.com/u/9083643/gfs_3_20060802_0000_009.grb
(GFS
> >>> "observation" file)
> >>> http://dl.dropbox.com/u/9083643/GridStatConfig (my config file,
line
> 40
> >>> works, line 41 does not)
> >>>
> >>> Please let me know how I can bundle these statistics across
multiple
> >> levels
> >>> as possible with point_stat. Thanks and I look forward to
hearing from
> >> you
> >>> soon.
> >>>
> >>> Scott
> >>
>
>
------------------------------------------------
Subject: Re: [rt.rap.ucar.edu #41147] Need help using grid_stat for pressure range selection
From: John Halley Gotway
Time: Thu Sep 30 11:00:31 2010
Scott,
Using the current version of MET, I do believe that the only way you
can
access those records is by explicitly specifying the record number,
such
as "CAPE/R1343". Editing the source code to remove this limitation
would
actually be pretty easy.
However, this should work more as expected in METv3.0 - which we hope
to
release by the end of the day - assuming we get the user's guide
finished.
When you say "CAPE/Z0", MET looks for a record of CAPE that's defined
on a
"vertical level" type of level (i.e. meters above ground or meters
above
sea level), that has a level value of 0 - i.e. levels=(0,0)
When you say "CAPE/LAAA-BBB", MET looks for a record of CAPE that's
defined on any level type ("L" means that you don't care about the
level
type), that has a lower level value of AAA and an upper level value of
BBB. For example, "CAPE/L0-90" should match the CAPE record for
levels=(90,0). Try setting the "-v" verbosity option higher, and
hopefully Grid-Stat will tell you what GRIB record number it's
reading.
Playing around with the settings is exactly the correct thing to be
doing.
Unfortunately, it won't work in METv2.0, but it should work in
METv3.0.
Lastly, I think I should mention the caveat that the output of MET is
only
as good as the data you run through it. I'm guessing you don't have
high
confidence in your "observations" for these fields. It's fine to run
them
through Grid-Stat, but you're probably really doing more of a
comparison
of datasets than strictly verification.
Hope that helps.
John
>
> <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=41147 >
>
> Hi John,
>
> Thanks for taking a look. After sending the email I noticed the
MSTAV
> field
> was zero (WPP errror). However, there are other similar fields
(LFTX,
> 4LFTX,
> etc) that are non-zero with the same issue. Yes, I eagerly await
MET3.0
> since it appears to improve access to specific model fields. Trying
to
> further understand the current MET version, let's take the four CAPE
> fields
> as an example...
>
> $> wgrib WRFPRS_d01.009 | grep ":CAPE:"
>
1233:43884766:d=06080200:CAPE:kpds5=157:kpds6=1:kpds7=0:TR=10:P1=0:P2=9:TimeU=1:sfc:9hr
> fcst:NAve=0
>
1343:48954300:d=06080200:CAPE:kpds5=157:kpds6=116:kpds7=46080:TR=10:P1=0:P2=9:TimeU=1:180-
0
> mb above gnd:9hr fcst:NAve=0
>
1348:49252320:d=06080200:CAPE:kpds5=157:kpds6=116:kpds7=23040:TR=10:P1=0:P2=9:TimeU=1:90-
0
> mb above gnd:9hr fcst:NAve=0
>
1350:49367406:d=06080200:CAPE:kpds5=157:kpds6=116:kpds7=65280:TR=10:P1=0:P2=9:TimeU=1:255-
0
> mb above gnd:9hr fcst:NAve=0
>
> $> wgrib -V -d 1233 WRFPRS_d01.009
> rec 1233:43884766:date 2006080200 CAPE kpds5=157 kpds6=1 kpds7=0
> levels=(0,0) grid=255 sfc 9hr fcst:
> ...
>
> $> wgrib -V -d 1343 WRFPRS_d01.009
> rec 1343:48954300:date 2006080200 CAPE kpds5=157 kpds6=116
kpds7=46080
> levels=(180,0) grid=255 180-0 mb above gnd 9hr fcst:
> ...
>
> $> wgrib -V -d 1348 WRFPRS_d01.009
> rec 1348:49252320:date 2006080200 CAPE kpds5=157 kpds6=116
kpds7=23040
> levels=(90,0) grid=255 90-0 mb above gnd 9hr fcst:
> ...
>
> $> wgrib -V -d 1350 WRFPRS_d01.009
> rec 1350:49367406:date 2006080200 CAPE kpds5=157 kpds6=116
kpds7=65280
> levels=(255,0) grid=255 255-0 mb above gnd 9hr fcst:
> ...
>
> When I use "CAPE/Z0", does MET look for (1) simply the first CAPE
record
> in
> the file, or (2) match AAA=0 from "level(AAA,BBB)"? In an effort to
access
> record 1343, I tried "CAPE/Z180-0", "CAPE/L180-0", "CAPE/Z180", and
> "CAPE/L180". None of those worked. However, using "CAPE/R1343" does
work.
> I
> assume this is the best way to specifically select the field I want
using
> the current version of MET?
>
> Thanks
> Scott
>
>
>
> On Wed, Sep 29, 2010 at 2:18 PM, RAL HelpDesk {for John Halley
Gotway} <
> met_help at ucar.edu> wrote:
>
>> Scott,
>>
>> A few things to say here...
>>
>> I retrieved the data file you posted and took a look at the record
for
>> MSTAV using the Integrated Data Viewer tool (IDV) put out by
>> UCAR-Unidata.
>> I see that all the values in the record are 0. Don't
>> know if that means there's a problem in the model output?
>>
>> Next, you can use the -V option of wgrib to dump out more info
about
>> that
>> record as follows:
>>
>> wgrib WRFPRS_d01.009 -d 1201 -V
>> rec 1201:43047826:date 2006080200 MSTAV kpds5=207 kpds6=112
kpds7=100
>> levels=(0,100) grid=255 0-100 cm down 9hr fcst:
>> MSTAV=Moisture availability [%]
>> timerange 10 P1 0 P2 9 TimeU 1 nx 199 ny 149 GDS grid 3
num_in_ave 0
>> missing 0
>> center 7 subcenter 0 process 89 Table 2 scan: WE:SN winds(grid)
>> Lambert Conf: Lat1 27.762000 Lon1 -105.608000 Lov -87.500000
>> Latin1 50.000000 Latin2 30.000000 LatSP 0.000000 LonSP
0.000000
>> North Pole (199 x 149) Dx 18.000000 Dy 18.000000 scan 64 mode
137
>> min/max data 0 0 num bits 0 BDS_Ref 0 DecScale 0 BinScale 0
>>
>> This record is actually defined as a layer between 0 and 100. I
see
>> this
>> where the wgrib output says "levels=(0,100)". I tried to run Grid-
Stat
>> using "MSTAV/Z0-100", but it errors out saying that it
>> can only read ranges of pressure levels.
>>
>> That requirement is not really necessary, so we've removed that for
the
>> upcoming release of METv3.0. I was able to run this through Grid-
Stat
>> using
>> a beta release of METv3.0.
>>
>> So your options are:
>> - Modify the source code for METv2.0, to remove that stipulation
about
>> only
>> reading ranges of pressure levels.
>> - Wait for METv3.0 at the end of this week and try it with that
>> (recommended).
>>
>> Hope that helps.
>>
>> John
>>
>> RAL HelpDesk {for Scott Rabenhorst} wrote:
>> > <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=41147 >
>> >
>> > Hi John,
>> >
>> > Thanks for letting me know. Yes, I was under the impression
grid_stat
>> > selected multiple levels based on the comments and description in
the
>> > example configuration file. Thanks for the stat_analysis
explanation.
>> I
>> will
>> > try that approach to accomplish this.
>> >
>> > I have one other quick unrelated question. I know we've had
previous
>> > discussions regarding field levels and selection. Could you
mention
>> how
>> to
>> > explicitly determine (from wgrib) the level grid/point_stat will
"see"
>> when
>> > searching a grib file for a particular variable. For example, in
the
>> file
>> > below I cannot seem to find the correct notation to select the
"MSTAV"
>> > field. "MSTAV/Z0" and "MSTAV/L0" do not work. Wgrib dumps:
>> >
>>
1201:43047826:d=06080200:MSTAV:kpds5=207:kpds6=112:kpds7=100:TR=10:P1=0:P2=9:TimeU=1:0-
100
>> > cm down:9hr fcst:NAve=0
>> > I look up level 112 from NCEP 388 table 3, but this does not seem
to
>> > correlate with the MET LXXX notation. How do I know what level
MET
>> wants?
>> > The only thing that seems to work is "MSTAV/R1201". I'm sure
there is
>> > something simple I am missing.
>> >
>> > Here is a link to my file:
>> > http://dl.dropbox.com/u/9083643/WRFPRS_d01.009
>> >
>> > Thanks,
>> > Scott
>> >
>> >
>> > Thanks,
>> > Scott
>> >
>> >
>> > On Tue, Sep 28, 2010 at 12:39 PM, RAL HelpDesk {for John Halley
>> Gotway} <
>> > met_help at ucar.edu> wrote:
>> >
>> >> Scott,
>> >>
>> >> I think there's some confusion here about the difference in
>> functionality
>> >> between the Grid-Stat and Point-Stat tools.
>> >>
>> >> In Point-Stat, you can select a single pressure level or a range
of
>> >> pressure levels. If you've selected a range of levels, the
forecast
>> values
>> >> are interpolated to the pressure of the observation to
>> >> create matched pairs.
>> >>
>> >> In Grid-Stat, you select a single record from the forecast file
to be
>> >> compared against a single record from the observation file. The
data
>> must
>> >> be on the same grid and the values are compared grid-
>> >> point by grid-point. I took a look at the comments in the Grid-
Stat
>> config
>> >> file and see that it does state that it can read ranges of
pressure
>> levels.
>> >> This is a perhaps the point of confusion. Some
>> >> GRIB records are defined as a range themselves - really as a
layer.
>> But
>> >> it's still a single record, and a single value for each grid
point
>> for
>> that
>> >> range.
>> >>
>> >> But really, Grid-Stat can only read a single forecast record and
>> compare
>> it
>> >> a single observation record.
>> >>
>> >> If you're interested in the performance across multiple pressure
>> levels,
>> >> here's what you'd have to do:
>> >>
>> >> (1) Run Grid-Stat to verify your data at each of the pressure
levels
>> of
>> >> interest:
>> >> fcst_field[] = [ "HGT/P200", "TMP/P200", "RH/P200",
"HGT/P250",
>> >> "TMP/P250", "RH/P250", "HGT/P300", "TMP/P300", "RH/P300" ];
>> >> And write out contingency table counts (CTC) and partial sums
>> (SL1L2)
>> of
>> >> interest.
>> >>
>> >> (2) Use the Stat-Analysis tool to aggregate this data together,
for
>> >> example:
>> >> stat_analysis -job aggregate_stat -line_type SL1L2
-out_line_type
>> CNT
>> >> -fcst_var TMP -fcst_lev P200 -fcst_lev P250 -fcst_lev P300
>> >> or
>> >> stat_analysis -job aggregate_stat -line_type CTC
-out_line_type
>> CTS
>> >> -fcst_var TMP -fcst_lev P200 -fcst_lev P250 -fcst_lev P300
>> >>
>> >> I think I see what you'd really like to do here. You would like
>> Grid-Stat
>> >> to verify at 200mb, 250mb, and 300mb, and then combine all those
>> matched
>> >> pairs into a single set of output statistics. Is
>> >> that correct?
>> >>
>> >> Unfortuanately, Grid-Stat isn't set up to work like that at this
>> point.
>> >>
>> >> Hope that helps clarify.
>> >>
>> >> Thanks,
>> >> John
>> >>
>> >>
>> >> RAL HelpDesk {for Scott Rabenhorst} wrote:
>> >>> Mon Sep 27 18:46:20 2010: Request 41147 was acted upon.
>> >>> Transaction: Ticket created by scott.rabenhorst at gmail.com
>> >>> Queue: met_help
>> >>> Subject: Need help using grid_stat for pressure range
selection
>> >>> Owner: Nobody
>> >>> Requestors: scott.rabenhorst at gmail.com
>> >>> Status: new
>> >>> Ticket <URL:
>> https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=41147>
>> >>>
>> >>>
>> >>> Hello MET help,
>> >>>
>> >>> I am having a problem using grid_stat selecting a pressure
level
>> range.
>> >> When
>> >>> I select a single level (ie 500 mb) everything works fine.
However,
>> when
>> >> I
>> >>> select multiple levels I get the following error message:
>> >>>
>> >>> $> grid_stat WRF2GFS_d01_3D.009 gfs_3_20060802_0000_009.grb
>> >> GridStatConfig
>> >>> -outdir .
>> >>>
>> >>> GSL_RNG_TYPE=mt19937
>> >>> GSL_RNG_SEED=18446744072957894988
>> >>> Forecast File: WRF2GFS_d01_3D.009
>> >>> Observation File: gfs_3_20060802_0000_009.grb
>> >>> Configuration File: GridStatConfig
>> >>> ***WARNING***: process_scores() -> HGT/P300-200 not found in
GRIB
>> file:
>> >>> WRF2GFS_d01_3D.009
>> >>> ***WARNING***: process_scores() -> TMP/P300-200 not found in
GRIB
>> file:
>> >>> WRF2GFS_d01_3D.009
>> >>> ***WARNING***: process_scores() -> RH/P300-200 not found in
GRIB
>> file:
>> >>> WRF2GFS_d01_3D.009
>> >>> ERROR: derive_wind_record() -> can't find the UGRD and/or VGRD
>> record
>> for
>> >>> level values 200 and 300 when trying to derive the wind speed
field
>> >>>
>> >>> I quick dump using wgrid clearly shows these levels exist:
>> >>>
>> >>> $> wgrib WRF2GFS_d01_3D.009 | grep -E
>> ":HGT:|:TMP:|:RH:|:UGRD:|:VGRD:"
>> |
>> >>> egrep -E "300 mb|2[0-9]{2} mb"
>> >>>
>> >>>
>> >>
>>
180:1773964:d=06080200:UGRD:kpds5=33:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
>> >>> mb:9hr fcst:NAve=0
>> >>>
>> >>
>>
181:1784058:d=06080200:VGRD:kpds5=34:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
>> >>> mb:9hr fcst:NAve=0
>> >>>
>> >>
>>
184:1814076:d=06080200:RH:kpds5=52:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
>> >>> mb:9hr fcst:NAve=0
>> >>>
>> >>
>>
186:1833866:d=06080200:TMP:kpds5=11:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
>> >>> mb:9hr fcst:NAve=0
>> >>>
>> >>
>>
187:1844094:d=06080200:HGT:kpds5=7:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
>> >>> mb:9hr fcst:NAve=0
>> >>>
>> >>
>>
191:1882612:d=06080200:UGRD:kpds5=33:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
>> >>> mb:9hr fcst:NAve=0
>> >>>
>> >>
>>
192:1892706:d=06080200:VGRD:kpds5=34:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
>> >>> mb:9hr fcst:NAve=0
>> >>>
>> >>
>>
195:1922990:d=06080200:RH:kpds5=52:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
>> >>> mb:9hr fcst:NAve=0
>> >>>
>> >>
>>
197:1942780:d=06080200:TMP:kpds5=11:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
>> >>> mb:9hr fcst:NAve=0
>> >>>
>> >>
>>
198:1952874:d=06080200:HGT:kpds5=7:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
>> >>> mb:9hr fcst:NAve=0
>> >>>
>> >>
>>
202:1991258:d=06080200:UGRD:kpds5=33:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
>> >>> mb:9hr fcst:NAve=0
>> >>>
>> >>
>>
203:2001352:d=06080200:VGRD:kpds5=34:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
>> >>> mb:9hr fcst:NAve=0
>> >>>
>> >>
>>
206:2031636:d=06080200:RH:kpds5=52:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
>> >>> mb:9hr fcst:NAve=0
>> >>>
>> >>
>>
208:2051294:d=06080200:TMP:kpds5=11:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
>> >>> mb:9hr fcst:NAve=0
>> >>>
>> >>
>>
209:2061388:d=06080200:HGT:kpds5=7:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
>> >>> mb:9hr fcst:NAve=0
>> >>>
>> >>> Would you mind taking a look at my files to see why I cannot
select
>> a
>> >>> pressure range? Here are the following files:
>> >>>
>> >>> http://dl.dropbox.com/u/9083643/WRF2GFS_d01_3D.009 (file
created
>> from
>> >>> WPP/copygb.exe interpolating my WRF domain to GFS grid003
domain)
>> >>> http://dl.dropbox.com/u/9083643/gfs_3_20060802_0000_009.grb
(GFS
>> >>> "observation" file)
>> >>> http://dl.dropbox.com/u/9083643/GridStatConfig (my config
file,
>> line
>> 40
>> >>> works, line 41 does not)
>> >>>
>> >>> Please let me know how I can bundle these statistics across
multiple
>> >> levels
>> >>> as possible with point_stat. Thanks and I look forward to
hearing
>> from
>> >> you
>> >>> soon.
>> >>>
>> >>> Scott
>> >>
>>
>>
>
------------------------------------------------
Subject: Need help using grid_stat for pressure range selection
From: Scott Rabenhorst
Time: Thu Sep 30 13:03:10 2010
Hi John,
Thanks again for the explanation. This definitely helps me understand
what
MET is doing underneath. Yes, for this case I am comparing two
datasets. I
am using point_stat for observation verification. Looking forward to
the
release of MET 3.0! As always, thanks for your time and helpful
explanations.
Scott
On Thu, Sep 30, 2010 at 1:00 PM, RAL HelpDesk {for John Halley Gotway}
<
met_help at ucar.edu> wrote:
> Scott,
>
> Using the current version of MET, I do believe that the only way you
can
> access those records is by explicitly specifying the record number,
such
> as "CAPE/R1343". Editing the source code to remove this limitation
would
> actually be pretty easy.
>
> However, this should work more as expected in METv3.0 - which we
hope to
> release by the end of the day - assuming we get the user's guide
finished.
>
> When you say "CAPE/Z0", MET looks for a record of CAPE that's
defined on a
> "vertical level" type of level (i.e. meters above ground or meters
above
> sea level), that has a level value of 0 - i.e. levels=(0,0)
>
> When you say "CAPE/LAAA-BBB", MET looks for a record of CAPE that's
> defined on any level type ("L" means that you don't care about the
level
> type), that has a lower level value of AAA and an upper level value
of
> BBB. For example, "CAPE/L0-90" should match the CAPE record for
> levels=(90,0). Try setting the "-v" verbosity option higher, and
> hopefully Grid-Stat will tell you what GRIB record number it's
reading.
>
> Playing around with the settings is exactly the correct thing to be
doing.
> Unfortunately, it won't work in METv2.0, but it should work in
METv3.0.
>
> Lastly, I think I should mention the caveat that the output of MET
is only
> as good as the data you run through it. I'm guessing you don't have
high
> confidence in your "observations" for these fields. It's fine to
run them
> through Grid-Stat, but you're probably really doing more of a
comparison
> of datasets than strictly verification.
>
> Hope that helps.
>
> John
>
> >
> > <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=41147 >
> >
> > Hi John,
> >
> > Thanks for taking a look. After sending the email I noticed the
MSTAV
> > field
> > was zero (WPP errror). However, there are other similar fields
(LFTX,
> > 4LFTX,
> > etc) that are non-zero with the same issue. Yes, I eagerly await
MET3.0
> > since it appears to improve access to specific model fields.
Trying to
> > further understand the current MET version, let's take the four
CAPE
> > fields
> > as an example...
> >
> > $> wgrib WRFPRS_d01.009 | grep ":CAPE:"
> >
>
1233:43884766:d=06080200:CAPE:kpds5=157:kpds6=1:kpds7=0:TR=10:P1=0:P2=9:TimeU=1:sfc:9hr
> > fcst:NAve=0
> >
>
1343:48954300:d=06080200:CAPE:kpds5=157:kpds6=116:kpds7=46080:TR=10:P1=0:P2=9:TimeU=1:180-
0
> > mb above gnd:9hr fcst:NAve=0
> >
>
1348:49252320:d=06080200:CAPE:kpds5=157:kpds6=116:kpds7=23040:TR=10:P1=0:P2=9:TimeU=1:90-
0
> > mb above gnd:9hr fcst:NAve=0
> >
>
1350:49367406:d=06080200:CAPE:kpds5=157:kpds6=116:kpds7=65280:TR=10:P1=0:P2=9:TimeU=1:255-
0
> > mb above gnd:9hr fcst:NAve=0
> >
> > $> wgrib -V -d 1233 WRFPRS_d01.009
> > rec 1233:43884766:date 2006080200 CAPE kpds5=157 kpds6=1 kpds7=0
> > levels=(0,0) grid=255 sfc 9hr fcst:
> > ...
> >
> > $> wgrib -V -d 1343 WRFPRS_d01.009
> > rec 1343:48954300:date 2006080200 CAPE kpds5=157 kpds6=116
kpds7=46080
> > levels=(180,0) grid=255 180-0 mb above gnd 9hr fcst:
> > ...
> >
> > $> wgrib -V -d 1348 WRFPRS_d01.009
> > rec 1348:49252320:date 2006080200 CAPE kpds5=157 kpds6=116
kpds7=23040
> > levels=(90,0) grid=255 90-0 mb above gnd 9hr fcst:
> > ...
> >
> > $> wgrib -V -d 1350 WRFPRS_d01.009
> > rec 1350:49367406:date 2006080200 CAPE kpds5=157 kpds6=116
kpds7=65280
> > levels=(255,0) grid=255 255-0 mb above gnd 9hr fcst:
> > ...
> >
> > When I use "CAPE/Z0", does MET look for (1) simply the first CAPE
record
> > in
> > the file, or (2) match AAA=0 from "level(AAA,BBB)"? In an effort
to
> access
> > record 1343, I tried "CAPE/Z180-0", "CAPE/L180-0", "CAPE/Z180",
and
> > "CAPE/L180". None of those worked. However, using "CAPE/R1343"
does work.
> > I
> > assume this is the best way to specifically select the field I
want using
> > the current version of MET?
> >
> > Thanks
> > Scott
> >
> >
> >
> > On Wed, Sep 29, 2010 at 2:18 PM, RAL HelpDesk {for John Halley
Gotway} <
> > met_help at ucar.edu> wrote:
> >
> >> Scott,
> >>
> >> A few things to say here...
> >>
> >> I retrieved the data file you posted and took a look at the
record for
> >> MSTAV using the Integrated Data Viewer tool (IDV) put out by
> >> UCAR-Unidata.
> >> I see that all the values in the record are 0. Don't
> >> know if that means there's a problem in the model output?
> >>
> >> Next, you can use the -V option of wgrib to dump out more info
about
> >> that
> >> record as follows:
> >>
> >> wgrib WRFPRS_d01.009 -d 1201 -V
> >> rec 1201:43047826:date 2006080200 MSTAV kpds5=207 kpds6=112
kpds7=100
> >> levels=(0,100) grid=255 0-100 cm down 9hr fcst:
> >> MSTAV=Moisture availability [%]
> >> timerange 10 P1 0 P2 9 TimeU 1 nx 199 ny 149 GDS grid 3
num_in_ave 0
> >> missing 0
> >> center 7 subcenter 0 process 89 Table 2 scan: WE:SN winds(grid)
> >> Lambert Conf: Lat1 27.762000 Lon1 -105.608000 Lov -87.500000
> >> Latin1 50.000000 Latin2 30.000000 LatSP 0.000000 LonSP
0.000000
> >> North Pole (199 x 149) Dx 18.000000 Dy 18.000000 scan 64
mode 137
> >> min/max data 0 0 num bits 0 BDS_Ref 0 DecScale 0 BinScale 0
> >>
> >> This record is actually defined as a layer between 0 and 100. I
see
> >> this
> >> where the wgrib output says "levels=(0,100)". I tried to run
Grid-Stat
> >> using "MSTAV/Z0-100", but it errors out saying that it
> >> can only read ranges of pressure levels.
> >>
> >> That requirement is not really necessary, so we've removed that
for the
> >> upcoming release of METv3.0. I was able to run this through
Grid-Stat
> >> using
> >> a beta release of METv3.0.
> >>
> >> So your options are:
> >> - Modify the source code for METv2.0, to remove that stipulation
about
> >> only
> >> reading ranges of pressure levels.
> >> - Wait for METv3.0 at the end of this week and try it with that
> >> (recommended).
> >>
> >> Hope that helps.
> >>
> >> John
> >>
> >> RAL HelpDesk {for Scott Rabenhorst} wrote:
> >> > <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=41147 >
> >> >
> >> > Hi John,
> >> >
> >> > Thanks for letting me know. Yes, I was under the impression
grid_stat
> >> > selected multiple levels based on the comments and description
in the
> >> > example configuration file. Thanks for the stat_analysis
explanation.
> >> I
> >> will
> >> > try that approach to accomplish this.
> >> >
> >> > I have one other quick unrelated question. I know we've had
previous
> >> > discussions regarding field levels and selection. Could you
mention
> >> how
> >> to
> >> > explicitly determine (from wgrib) the level grid/point_stat
will "see"
> >> when
> >> > searching a grib file for a particular variable. For example,
in the
> >> file
> >> > below I cannot seem to find the correct notation to select the
"MSTAV"
> >> > field. "MSTAV/Z0" and "MSTAV/L0" do not work. Wgrib dumps:
> >> >
> >>
>
1201:43047826:d=06080200:MSTAV:kpds5=207:kpds6=112:kpds7=100:TR=10:P1=0:P2=9:TimeU=1:0-
100
> >> > cm down:9hr fcst:NAve=0
> >> > I look up level 112 from NCEP 388 table 3, but this does not
seem to
> >> > correlate with the MET LXXX notation. How do I know what level
MET
> >> wants?
> >> > The only thing that seems to work is "MSTAV/R1201". I'm sure
there is
> >> > something simple I am missing.
> >> >
> >> > Here is a link to my file:
> >> > http://dl.dropbox.com/u/9083643/WRFPRS_d01.009
> >> >
> >> > Thanks,
> >> > Scott
> >> >
> >> >
> >> > Thanks,
> >> > Scott
> >> >
> >> >
> >> > On Tue, Sep 28, 2010 at 12:39 PM, RAL HelpDesk {for John Halley
> >> Gotway} <
> >> > met_help at ucar.edu> wrote:
> >> >
> >> >> Scott,
> >> >>
> >> >> I think there's some confusion here about the difference in
> >> functionality
> >> >> between the Grid-Stat and Point-Stat tools.
> >> >>
> >> >> In Point-Stat, you can select a single pressure level or a
range of
> >> >> pressure levels. If you've selected a range of levels, the
forecast
> >> values
> >> >> are interpolated to the pressure of the observation to
> >> >> create matched pairs.
> >> >>
> >> >> In Grid-Stat, you select a single record from the forecast
file to be
> >> >> compared against a single record from the observation file.
The data
> >> must
> >> >> be on the same grid and the values are compared grid-
> >> >> point by grid-point. I took a look at the comments in the
Grid-Stat
> >> config
> >> >> file and see that it does state that it can read ranges of
pressure
> >> levels.
> >> >> This is a perhaps the point of confusion. Some
> >> >> GRIB records are defined as a range themselves - really as a
layer.
> >> But
> >> >> it's still a single record, and a single value for each grid
point
> >> for
> >> that
> >> >> range.
> >> >>
> >> >> But really, Grid-Stat can only read a single forecast record
and
> >> compare
> >> it
> >> >> a single observation record.
> >> >>
> >> >> If you're interested in the performance across multiple
pressure
> >> levels,
> >> >> here's what you'd have to do:
> >> >>
> >> >> (1) Run Grid-Stat to verify your data at each of the pressure
levels
> >> of
> >> >> interest:
> >> >> fcst_field[] = [ "HGT/P200", "TMP/P200", "RH/P200",
"HGT/P250",
> >> >> "TMP/P250", "RH/P250", "HGT/P300", "TMP/P300", "RH/P300" ];
> >> >> And write out contingency table counts (CTC) and partial
sums
> >> (SL1L2)
> >> of
> >> >> interest.
> >> >>
> >> >> (2) Use the Stat-Analysis tool to aggregate this data
together, for
> >> >> example:
> >> >> stat_analysis -job aggregate_stat -line_type SL1L2
-out_line_type
> >> CNT
> >> >> -fcst_var TMP -fcst_lev P200 -fcst_lev P250 -fcst_lev P300
> >> >> or
> >> >> stat_analysis -job aggregate_stat -line_type CTC
-out_line_type
> >> CTS
> >> >> -fcst_var TMP -fcst_lev P200 -fcst_lev P250 -fcst_lev P300
> >> >>
> >> >> I think I see what you'd really like to do here. You would
like
> >> Grid-Stat
> >> >> to verify at 200mb, 250mb, and 300mb, and then combine all
those
> >> matched
> >> >> pairs into a single set of output statistics. Is
> >> >> that correct?
> >> >>
> >> >> Unfortuanately, Grid-Stat isn't set up to work like that at
this
> >> point.
> >> >>
> >> >> Hope that helps clarify.
> >> >>
> >> >> Thanks,
> >> >> John
> >> >>
> >> >>
> >> >> RAL HelpDesk {for Scott Rabenhorst} wrote:
> >> >>> Mon Sep 27 18:46:20 2010: Request 41147 was acted upon.
> >> >>> Transaction: Ticket created by scott.rabenhorst at gmail.com
> >> >>> Queue: met_help
> >> >>> Subject: Need help using grid_stat for pressure range
selection
> >> >>> Owner: Nobody
> >> >>> Requestors: scott.rabenhorst at gmail.com
> >> >>> Status: new
> >> >>> Ticket <URL:
> >> https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=41147>
> >> >>>
> >> >>>
> >> >>> Hello MET help,
> >> >>>
> >> >>> I am having a problem using grid_stat selecting a pressure
level
> >> range.
> >> >> When
> >> >>> I select a single level (ie 500 mb) everything works fine.
However,
> >> when
> >> >> I
> >> >>> select multiple levels I get the following error message:
> >> >>>
> >> >>> $> grid_stat WRF2GFS_d01_3D.009 gfs_3_20060802_0000_009.grb
> >> >> GridStatConfig
> >> >>> -outdir .
> >> >>>
> >> >>> GSL_RNG_TYPE=mt19937
> >> >>> GSL_RNG_SEED=18446744072957894988
> >> >>> Forecast File: WRF2GFS_d01_3D.009
> >> >>> Observation File: gfs_3_20060802_0000_009.grb
> >> >>> Configuration File: GridStatConfig
> >> >>> ***WARNING***: process_scores() -> HGT/P300-200 not found in
GRIB
> >> file:
> >> >>> WRF2GFS_d01_3D.009
> >> >>> ***WARNING***: process_scores() -> TMP/P300-200 not found in
GRIB
> >> file:
> >> >>> WRF2GFS_d01_3D.009
> >> >>> ***WARNING***: process_scores() -> RH/P300-200 not found in
GRIB
> >> file:
> >> >>> WRF2GFS_d01_3D.009
> >> >>> ERROR: derive_wind_record() -> can't find the UGRD and/or
VGRD
> >> record
> >> for
> >> >>> level values 200 and 300 when trying to derive the wind speed
field
> >> >>>
> >> >>> I quick dump using wgrid clearly shows these levels exist:
> >> >>>
> >> >>> $> wgrib WRF2GFS_d01_3D.009 | grep -E
> >> ":HGT:|:TMP:|:RH:|:UGRD:|:VGRD:"
> >> |
> >> >>> egrep -E "300 mb|2[0-9]{2} mb"
> >> >>>
> >> >>>
> >> >>
> >>
>
180:1773964:d=06080200:UGRD:kpds5=33:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
> >> >>> mb:9hr fcst:NAve=0
> >> >>>
> >> >>
> >>
>
181:1784058:d=06080200:VGRD:kpds5=34:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
> >> >>> mb:9hr fcst:NAve=0
> >> >>>
> >> >>
> >>
>
184:1814076:d=06080200:RH:kpds5=52:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
> >> >>> mb:9hr fcst:NAve=0
> >> >>>
> >> >>
> >>
>
186:1833866:d=06080200:TMP:kpds5=11:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
> >> >>> mb:9hr fcst:NAve=0
> >> >>>
> >> >>
> >>
>
187:1844094:d=06080200:HGT:kpds5=7:kpds6=100:kpds7=300:TR=10:P1=0:P2=9:TimeU=1:300
> >> >>> mb:9hr fcst:NAve=0
> >> >>>
> >> >>
> >>
>
191:1882612:d=06080200:UGRD:kpds5=33:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
> >> >>> mb:9hr fcst:NAve=0
> >> >>>
> >> >>
> >>
>
192:1892706:d=06080200:VGRD:kpds5=34:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
> >> >>> mb:9hr fcst:NAve=0
> >> >>>
> >> >>
> >>
>
195:1922990:d=06080200:RH:kpds5=52:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
> >> >>> mb:9hr fcst:NAve=0
> >> >>>
> >> >>
> >>
>
197:1942780:d=06080200:TMP:kpds5=11:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
> >> >>> mb:9hr fcst:NAve=0
> >> >>>
> >> >>
> >>
>
198:1952874:d=06080200:HGT:kpds5=7:kpds6=100:kpds7=250:TR=10:P1=0:P2=9:TimeU=1:250
> >> >>> mb:9hr fcst:NAve=0
> >> >>>
> >> >>
> >>
>
202:1991258:d=06080200:UGRD:kpds5=33:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
> >> >>> mb:9hr fcst:NAve=0
> >> >>>
> >> >>
> >>
>
203:2001352:d=06080200:VGRD:kpds5=34:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
> >> >>> mb:9hr fcst:NAve=0
> >> >>>
> >> >>
> >>
>
206:2031636:d=06080200:RH:kpds5=52:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
> >> >>> mb:9hr fcst:NAve=0
> >> >>>
> >> >>
> >>
>
208:2051294:d=06080200:TMP:kpds5=11:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
> >> >>> mb:9hr fcst:NAve=0
> >> >>>
> >> >>
> >>
>
209:2061388:d=06080200:HGT:kpds5=7:kpds6=100:kpds7=200:TR=10:P1=0:P2=9:TimeU=1:200
> >> >>> mb:9hr fcst:NAve=0
> >> >>>
> >> >>> Would you mind taking a look at my files to see why I cannot
select
> >> a
> >> >>> pressure range? Here are the following files:
> >> >>>
> >> >>> http://dl.dropbox.com/u/9083643/WRF2GFS_d01_3D.009 (file
created
> >> from
> >> >>> WPP/copygb.exe interpolating my WRF domain to GFS grid003
domain)
> >> >>> http://dl.dropbox.com/u/9083643/gfs_3_20060802_0000_009.grb
(GFS
> >> >>> "observation" file)
> >> >>> http://dl.dropbox.com/u/9083643/GridStatConfig (my config
file,
> >> line
> >> 40
> >> >>> works, line 41 does not)
> >> >>>
> >> >>> Please let me know how I can bundle these statistics across
multiple
> >> >> levels
> >> >>> as possible with point_stat. Thanks and I look forward to
hearing
> >> from
> >> >> you
> >> >>> soon.
> >> >>>
> >> >>> Scott
> >> >>
> >>
> >>
> >
>
>
>
>
------------------------------------------------
More information about the Met_help
mailing list