[Met_help] [rt.rap.ucar.edu #81747] History for Help using Point_Stat with a grib2 subset file
John Halley Gotway via RT
met_help at ucar.edu
Fri Aug 25 11:30:53 MDT 2017
----------------------------------------------------------------
Initial Request
----------------------------------------------------------------
Hi,
I have a grib2 file, which contains a single variable, at a single level,
with multiple forecast times. It looks something like this:
1:80:d=2017082411:WIND:surface:30 min fcst:
2:1135674:d=2017082411:WIND:surface:90 min fcst:
3:2263712:d=2017082411:WIND:surface:150 min fcst:
4:3386176:d=2017082411:WIND:surface:210 min fcst:
5:4489796:d=2017082411:WIND:surface:270 min fcst:
6:5601068:d=2017082411:WIND:surface:330 min fcst:
...
43:46687965:d=2017082411:WIND:surface:3270 min fcst:
44:47756611:d=2017082411:WIND:surface:3450 min fcst:
45:48834960:d=2017082411:WIND:surface:3630 min fcst:
or, like this:
1:80:d=2017082412:WIND:surface:66 hour fcst:
2:1111020:d=2017082412:WIND:surface:72 hour fcst:
3:2207967:d=2017082412:WIND:surface:78 hour fcst:
4:3277465:d=2017082412:WIND:surface:84 hour fcst:
...
15:15078235:d=2017082412:WIND:surface:150 hour fcst:
16:15923792:d=2017082412:WIND:surface:156 hour fcst:
In my initial processing, I create a netCDF file from a prepbufr file,
where I pull out data from 11z to 12:59:59z (for this example). The
command I used to create this is:
/opt/MET6/met6.0/bin/pb2nc
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
gfs.t12z.prepbufr.nr
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
uv_wind_pb_2017082012_12.nc
/opc_test/home/opc_test/all_opc/tables/met_verif/PB2NCConfig_working
-valid_beg 20170824_110000 -valid_end 20170824_125959 -v 2
So, then, I tried using this *.nc file with my grib2 file (ds.wspd.bin),
using this command:
/opt/MET6/met6.0/bin/point_stat
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/ds.wspd.2017082411.conus1to3.bin
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
uv_wind_pb_2017082012_11.nc
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/PointStatConfig_FCST_GRID_mask
-obs_valid_beg 20170824_110000 -obs_valid_end 20170824_125959 -outdir
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/ -v 2
Where I've set the levels in my config file like this:
// Forecast and observation fields to be verified
//
fcst = {
field = [
{
name = "WIND";
level = "surface" ;
cat_thresh = [ >=0.0, >=1.0, >=5.0, >=17.0, >=24.0, >=33.0 ];
cat_thresh = [ >=0.0, >=8.0, >=17.0, >=28.0, >=34.0, >=48.0, >=64.0
];
}
];
}
obs = {
field = [
{
message_type = [ "ASCATW"];
name = "WIND";
level = [ "P1013" ];
cat_thresh = [ >=0.0, >=8.0, >=17.0, >=28.0, >=34.0, >=48.0,
>=64.0 ];
}
];
But, I get the error:
DEBUG 1: Default Config File:
/opt/MET6/met6.0/share/met/config/PointStatConfig_default
DEBUG 1: User Config File:
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/PointStatConfig_FCST_GRID_mask
ERROR :
ERROR : VarInfo::set_level_info_grib() - failed to parse level string
'surface'
ERROR :
So, it's not seeing that the level is "surface" in the grib2 file. I'm not
sure how to properly set "level" to get these files to match up.
Thanks in advance!
Roz
--
Rosalyn MacCracken
Support Scientist
Ocean Applilcations Branch
NOAA/NWS Ocean Prediction Center
NCWCP
5830 University Research Ct
College Park, MD 20740-3818
(p) 301-683-1551
rosalyn.maccracken at noaa.gov
----------------------------------------------------------------
Complete Ticket History
----------------------------------------------------------------
Subject: Help using Point_Stat with a grib2 subset file
From: John Halley Gotway
Time: Thu Aug 24 14:11:36 2017
Roz,
Please try using "Z0" instead of the string "surface". Listed below
is an
excerpt from the met-6.0/datat/config/README file which is also
included in
the MET Users Guide:
// - The "level" entry specifies a level type and value:
// - ANNN for accumulation interval NNN
// - ZNNN for vertical level NNN
// - ZNNN-NNN for a range of vertical levels
// - PNNN for pressure level NNN in hPa
// - PNNN-NNN for a range of pressure levels in hPa
// - LNNN for a generic level type
// - RNNN for a specific GRIB record number
Using "Z0" should work for surface.
Thanks,
John
On Thu, Aug 24, 2017 at 1:48 PM, Rosalyn MacCracken - NOAA Affiliate
via RT
<met_help at ucar.edu> wrote:
>
> Thu Aug 24 13:48:42 2017: Request 81747 was acted upon.
> Transaction: Ticket created by rosalyn.maccracken at noaa.gov
> Queue: met_help
> Subject: Help using Point_Stat with a grib2 subset file
> Owner: Nobody
> Requestors: rosalyn.maccracken at noaa.gov
> Status: new
> Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=81747 >
>
>
> Hi,
>
> I have a grib2 file, which contains a single variable, at a single
level,
> with multiple forecast times. It looks something like this:
>
> 1:80:d=2017082411:WIND:surface:30 min fcst:
> 2:1135674:d=2017082411:WIND:surface:90 min fcst:
> 3:2263712:d=2017082411:WIND:surface:150 min fcst:
> 4:3386176:d=2017082411:WIND:surface:210 min fcst:
> 5:4489796:d=2017082411:WIND:surface:270 min fcst:
> 6:5601068:d=2017082411:WIND:surface:330 min fcst:
> ...
> 43:46687965:d=2017082411:WIND:surface:3270 min fcst:
> 44:47756611:d=2017082411:WIND:surface:3450 min fcst:
> 45:48834960:d=2017082411:WIND:surface:3630 min fcst:
>
> or, like this:
> 1:80:d=2017082412:WIND:surface:66 hour fcst:
> 2:1111020:d=2017082412:WIND:surface:72 hour fcst:
> 3:2207967:d=2017082412:WIND:surface:78 hour fcst:
> 4:3277465:d=2017082412:WIND:surface:84 hour fcst:
> ...
> 15:15078235:d=2017082412:WIND:surface:150 hour fcst:
> 16:15923792:d=2017082412:WIND:surface:156 hour fcst:
>
> In my initial processing, I create a netCDF file from a prepbufr
file,
> where I pull out data from 11z to 12:59:59z (for this example). The
> command I used to create this is:
> /opt/MET6/met6.0/bin/pb2nc
> /opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> gfs.t12z.prepbufr.nr
> /opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> uv_wind_pb_2017082012_12.nc
> /opc_test/home/opc_test/all_opc/tables/met_verif/PB2NCConfig_working
> -valid_beg 20170824_110000 -valid_end 20170824_125959 -v 2
>
> So, then, I tried using this *.nc file with my grib2 file
(ds.wspd.bin),
> using this command:
> /opt/MET6/met6.0/bin/point_stat
> /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> test_input/ds.wspd.2017082411.conus1to3.bin
> /opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> uv_wind_pb_2017082012_11.nc
> /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> test_input/PointStatConfig_FCST_GRID_mask
> -obs_valid_beg 20170824_110000 -obs_valid_end 20170824_125959
-outdir
> /opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
-v 2
>
> Where I've set the levels in my config file like this:
> // Forecast and observation fields to be verified
> //
> fcst = {
> field = [
> {
> name = "WIND";
> level = "surface" ;
> cat_thresh = [ >=0.0, >=1.0, >=5.0, >=17.0, >=24.0, >=33.0 ];
> cat_thresh = [ >=0.0, >=8.0, >=17.0, >=28.0, >=34.0, >=48.0,
>=64.0
> ];
> }
> ];
>
> }
>
> obs = {
> field = [
> {
> message_type = [ "ASCATW"];
> name = "WIND";
> level = [ "P1013" ];
> cat_thresh = [ >=0.0, >=8.0, >=17.0, >=28.0, >=34.0,
>=48.0,
> >=64.0 ];
> }
> ];
>
> But, I get the error:
> DEBUG 1: Default Config File:
> /opt/MET6/met6.0/share/met/config/PointStatConfig_default
> DEBUG 1: User Config File:
> /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> test_input/PointStatConfig_FCST_GRID_mask
> ERROR :
> ERROR : VarInfo::set_level_info_grib() - failed to parse level
string
> 'surface'
> ERROR :
>
> So, it's not seeing that the level is "surface" in the grib2 file.
I'm not
> sure how to properly set "level" to get these files to match up.
>
> Thanks in advance!
>
> Roz
>
>
> --
> Rosalyn MacCracken
> Support Scientist
>
> Ocean Applilcations Branch
> NOAA/NWS Ocean Prediction Center
> NCWCP
> 5830 University Research Ct
> College Park, MD 20740-3818
>
> (p) 301-683-1551
> rosalyn.maccracken at noaa.gov
>
>
------------------------------------------------
Subject: Help using Point_Stat with a grib2 subset file
From: Rosalyn MacCracken - NOAA Affiliate
Time: Thu Aug 24 14:37:55 2017
Hi John,
So, switching it to "Z0" worked, but, it didn't work because it
couldn't
find any matches. I wonder if the grid isn't the same, because I
tried to
use the masks that I created and I got this error:
DEBUG 2: Processing masking regions.
ERROR :
ERROR : parse_poly_mask() -> The masking and verification grids do
not
match:
ERROR : Projection: Lat/Lon Nx: 1440 Ny: 721 lat_ll: -90.000 lon_ll:
-0.000 delta_lat: 0.250 delta_lon: 0.250 !=
ERROR : Projection: Lambert Conformal Nx: 2145 Ny: 1377 Lat_LL:
20.192
Lon_LL: 121.554 Lon_orient: 95.000 Alpha: 6509.082 Cone: 0.423 Bx:
1088.0030 By: 5483.6617
ERROR :
So, I did a wgrib -V, and got this output:
wgrib2 -V -d 1 ds.wspd.2017082411.conus1to3.bin
1:80:vt=2017082412:surface:30 min fcst:WIND Wind Speed [m/s]:
ndata=2953665:undef=660550:mean=3.86426:min=0:max=22.1
grid_template=30:winds(N/S):
Lambert Conformal: (2145 x 1377) input WE|EW:SN output WE:SN res 0
Lat1 20.191999 Lon1 238.445999 LoV 265.000000
LatD 25.000000 Latin1 25.000000 Latin2 25.000000
LatSP -90.000000 LonSP 0.000000
North Pole (2145 x 1377) Dx 2539.703000 m Dy 2539.703000 m mode 0
Then, I removed the masks, and ran it again, and got this output that
made
me think that the grids aren't the same (ASCAT point data vs. forecast
grids):
DEBUG 1: Forecast File:
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/ds.wspd.2017082411.conus1to3.bin
DEBUG 1: Observation File:
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
uv_wind_pb_2017082012_12.nc
DEBUG 2:
DEBUG 2:
--------------------------------------------------------------------------------
DEBUG 2:
DEBUG 2: Reading data for WIND/Z0.
WARNING:
WARNING: MetGrib2DataFile::data_plane_array() - Multiple exact
matching
records found for "WIND/Z0" - records 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30,
31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
WARNING:
DEBUG 2: Processing masking regions.
DEBUG 2: For WIND/Z0 found 1 forecast levels and 0 climatology levels.
DEBUG 2:
DEBUG 2:
--------------------------------------------------------------------------------
DEBUG 2:
DEBUG 2: Searching 232131 observations from 77377 messages.
DEBUG 2:
DEBUG 2:
--------------------------------------------------------------------------------
DEBUG 2:
DEBUG 2: Processing WIND/Z0 versus WIND/P1013, for observation type
ASCATW,
over region FULL, for interpolation method NEAREST(4), using 0 pairs.
DEBUG 2:
DEBUG 2:
--------------------------------------------------------------------------------
DEBUG 2:
Any ideas of how to fix this? Do I increase my search radius? Is
that
these lines in the config file?:
// Interpolation methods
//
interp = {
vld_thresh = 1.0;
type = [
{
method = NEAREST;
width = 2;
}
];
Thanks in advance!
Roz
On Thu, Aug 24, 2017 at 4:11 PM, John Halley Gotway via RT <
met_help at ucar.edu> wrote:
> Roz,
>
> Please try using "Z0" instead of the string "surface". Listed below
is an
> excerpt from the met-6.0/datat/config/README file which is also
included in
> the MET Users Guide:
>
> // - The "level" entry specifies a level type and value:
> // - ANNN for accumulation interval NNN
> // - ZNNN for vertical level NNN
> // - ZNNN-NNN for a range of vertical levels
> // - PNNN for pressure level NNN in hPa
> // - PNNN-NNN for a range of pressure levels in hPa
> // - LNNN for a generic level type
> // - RNNN for a specific GRIB record number
>
> Using "Z0" should work for surface.
>
> Thanks,
> John
>
> On Thu, Aug 24, 2017 at 1:48 PM, Rosalyn MacCracken - NOAA Affiliate
via RT
> <met_help at ucar.edu> wrote:
>
> >
> > Thu Aug 24 13:48:42 2017: Request 81747 was acted upon.
> > Transaction: Ticket created by rosalyn.maccracken at noaa.gov
> > Queue: met_help
> > Subject: Help using Point_Stat with a grib2 subset file
> > Owner: Nobody
> > Requestors: rosalyn.maccracken at noaa.gov
> > Status: new
> > Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=81747 >
> >
> >
> > Hi,
> >
> > I have a grib2 file, which contains a single variable, at a single
level,
> > with multiple forecast times. It looks something like this:
> >
> > 1:80:d=2017082411:WIND:surface:30 min fcst:
> > 2:1135674:d=2017082411:WIND:surface:90 min fcst:
> > 3:2263712:d=2017082411:WIND:surface:150 min fcst:
> > 4:3386176:d=2017082411:WIND:surface:210 min fcst:
> > 5:4489796:d=2017082411:WIND:surface:270 min fcst:
> > 6:5601068:d=2017082411:WIND:surface:330 min fcst:
> > ...
> > 43:46687965:d=2017082411:WIND:surface:3270 min fcst:
> > 44:47756611:d=2017082411:WIND:surface:3450 min fcst:
> > 45:48834960:d=2017082411:WIND:surface:3630 min fcst:
> >
> > or, like this:
> > 1:80:d=2017082412:WIND:surface:66 hour fcst:
> > 2:1111020:d=2017082412:WIND:surface:72 hour fcst:
> > 3:2207967:d=2017082412:WIND:surface:78 hour fcst:
> > 4:3277465:d=2017082412:WIND:surface:84 hour fcst:
> > ...
> > 15:15078235:d=2017082412:WIND:surface:150 hour fcst:
> > 16:15923792:d=2017082412:WIND:surface:156 hour fcst:
> >
> > In my initial processing, I create a netCDF file from a prepbufr
file,
> > where I pull out data from 11z to 12:59:59z (for this example).
The
> > command I used to create this is:
> > /opt/MET6/met6.0/bin/pb2nc
> > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> > gfs.t12z.prepbufr.nr
> > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> > uv_wind_pb_2017082012_12.nc
> >
/opc_test/home/opc_test/all_opc/tables/met_verif/PB2NCConfig_working
> > -valid_beg 20170824_110000 -valid_end 20170824_125959 -v 2
> >
> > So, then, I tried using this *.nc file with my grib2 file
(ds.wspd.bin),
> > using this command:
> > /opt/MET6/met6.0/bin/point_stat
> > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > test_input/ds.wspd.2017082411.conus1to3.bin
> > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> > uv_wind_pb_2017082012_11.nc
> > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > test_input/PointStatConfig_FCST_GRID_mask
> > -obs_valid_beg 20170824_110000 -obs_valid_end 20170824_125959
-outdir
> > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
-v 2
> >
> > Where I've set the levels in my config file like this:
> > // Forecast and observation fields to be verified
> > //
> > fcst = {
> > field = [
> > {
> > name = "WIND";
> > level = "surface" ;
> > cat_thresh = [ >=0.0, >=1.0, >=5.0, >=17.0, >=24.0, >=33.0
];
> > cat_thresh = [ >=0.0, >=8.0, >=17.0, >=28.0, >=34.0,
>=48.0,
> >=64.0
> > ];
> > }
> > ];
> >
> > }
> >
> > obs = {
> > field = [
> > {
> > message_type = [ "ASCATW"];
> > name = "WIND";
> > level = [ "P1013" ];
> > cat_thresh = [ >=0.0, >=8.0, >=17.0, >=28.0, >=34.0,
>=48.0,
> > >=64.0 ];
> > }
> > ];
> >
> > But, I get the error:
> > DEBUG 1: Default Config File:
> > /opt/MET6/met6.0/share/met/config/PointStatConfig_default
> > DEBUG 1: User Config File:
> > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > test_input/PointStatConfig_FCST_GRID_mask
> > ERROR :
> > ERROR : VarInfo::set_level_info_grib() - failed to parse level
string
> > 'surface'
> > ERROR :
> >
> > So, it's not seeing that the level is "surface" in the grib2 file.
I'm
> not
> > sure how to properly set "level" to get these files to match up.
> >
> > Thanks in advance!
> >
> > Roz
> >
> >
> > --
> > Rosalyn MacCracken
> > Support Scientist
> >
> > Ocean Applilcations Branch
> > NOAA/NWS Ocean Prediction Center
> > NCWCP
> > 5830 University Research Ct
> > College Park, MD 20740-3818
> >
> > (p) 301-683-1551
> > rosalyn.maccracken at noaa.gov
> >
> >
>
>
--
Rosalyn MacCracken
Support Scientist
Ocean Applilcations Branch
NOAA/NWS Ocean Prediction Center
NCWCP
5830 University Research Ct
College Park, MD 20740-3818
(p) 301-683-1551
rosalyn.maccracken at noaa.gov
------------------------------------------------
Subject: Help using Point_Stat with a grib2 subset file
From: John Halley Gotway
Time: Thu Aug 24 15:11:04 2017
Roz,
First, please rerun Point-Stat using verbosity level 4 (-v 4).
That'll
dump out a list of reason *why* the observations were rejected.
And I'm concerned about the following warning message:
WARNING: MetGrib2DataFile::data_plane_array() - Multiple exact
matching
records found for "WIND/Z0" - records 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30,
31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
Your file contains multiple output times in it. I'm guessing that you
have
told Point-Stat which *one* you want to evaluate. Point-Stat is
designed
to be run once per output time.
In the config file, you can specify "lead_time" or "valid_time" to
explicitly tell Point-Stat which field you want to use.
For example:
name = "WIND"; level = "Z0"; lead_time = "12";
That'll tell it to evaluate the 12 hour lead time.
John
On Thu, Aug 24, 2017 at 2:37 PM, Rosalyn MacCracken - NOAA Affiliate
via RT
<met_help at ucar.edu> wrote:
>
> <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=81747 >
>
> Hi John,
>
> So, switching it to "Z0" worked, but, it didn't work because it
couldn't
> find any matches. I wonder if the grid isn't the same, because I
tried to
> use the masks that I created and I got this error:
> DEBUG 2: Processing masking regions.
> ERROR :
> ERROR : parse_poly_mask() -> The masking and verification grids do
not
> match:
> ERROR : Projection: Lat/Lon Nx: 1440 Ny: 721 lat_ll: -90.000
lon_ll:
> -0.000 delta_lat: 0.250 delta_lon: 0.250 !=
> ERROR : Projection: Lambert Conformal Nx: 2145 Ny: 1377 Lat_LL:
20.192
> Lon_LL: 121.554 Lon_orient: 95.000 Alpha: 6509.082 Cone: 0.423 Bx:
> 1088.0030 By: 5483.6617
> ERROR :
>
>
> So, I did a wgrib -V, and got this output:
> wgrib2 -V -d 1 ds.wspd.2017082411.conus1to3.bin
> 1:80:vt=2017082412:surface:30 min fcst:WIND Wind Speed [m/s]:
> ndata=2953665:undef=660550:mean=3.86426:min=0:max=22.1
> grid_template=30:winds(N/S):
> Lambert Conformal: (2145 x 1377) input WE|EW:SN output WE:SN res
0
> Lat1 20.191999 Lon1 238.445999 LoV 265.000000
> LatD 25.000000 Latin1 25.000000 Latin2 25.000000
> LatSP -90.000000 LonSP 0.000000
> North Pole (2145 x 1377) Dx 2539.703000 m Dy 2539.703000 m mode
0
>
>
> Then, I removed the masks, and ran it again, and got this output
that made
> me think that the grids aren't the same (ASCAT point data vs.
forecast
> grids):
> DEBUG 1: Forecast File:
> /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> test_input/ds.wspd.2017082411.conus1to3.bin
> DEBUG 1: Observation File:
> /opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> uv_wind_pb_2017082012_12.nc
> DEBUG 2:
> DEBUG 2:
> ------------------------------------------------------------
> --------------------
> DEBUG 2:
> DEBUG 2: Reading data for WIND/Z0.
> WARNING:
> WARNING: MetGrib2DataFile::data_plane_array() - Multiple exact
matching
> records found for "WIND/Z0" - records 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11,
> 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30,
> 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
> WARNING:
> DEBUG 2: Processing masking regions.
> DEBUG 2: For WIND/Z0 found 1 forecast levels and 0 climatology
levels.
> DEBUG 2:
> DEBUG 2:
> ------------------------------------------------------------
> --------------------
> DEBUG 2:
> DEBUG 2: Searching 232131 observations from 77377 messages.
> DEBUG 2:
> DEBUG 2:
> ------------------------------------------------------------
> --------------------
> DEBUG 2:
> DEBUG 2: Processing WIND/Z0 versus WIND/P1013, for observation type
ASCATW,
> over region FULL, for interpolation method NEAREST(4), using 0
pairs.
> DEBUG 2:
> DEBUG 2:
> ------------------------------------------------------------
> --------------------
> DEBUG 2:
>
>
> Any ideas of how to fix this? Do I increase my search radius? Is
that
> these lines in the config file?:
> // Interpolation methods
> //
> interp = {
> vld_thresh = 1.0;
>
> type = [
> {
> method = NEAREST;
> width = 2;
> }
> ];
>
> Thanks in advance!
>
> Roz
>
> On Thu, Aug 24, 2017 at 4:11 PM, John Halley Gotway via RT <
> met_help at ucar.edu> wrote:
>
> > Roz,
> >
> > Please try using "Z0" instead of the string "surface". Listed
below is
> an
> > excerpt from the met-6.0/datat/config/README file which is also
included
> in
> > the MET Users Guide:
> >
> > // - The "level" entry specifies a level type and value:
> > // - ANNN for accumulation interval NNN
> > // - ZNNN for vertical level NNN
> > // - ZNNN-NNN for a range of vertical levels
> > // - PNNN for pressure level NNN in hPa
> > // - PNNN-NNN for a range of pressure levels in hPa
> > // - LNNN for a generic level type
> > // - RNNN for a specific GRIB record number
> >
> > Using "Z0" should work for surface.
> >
> > Thanks,
> > John
> >
> > On Thu, Aug 24, 2017 at 1:48 PM, Rosalyn MacCracken - NOAA
Affiliate via
> RT
> > <met_help at ucar.edu> wrote:
> >
> > >
> > > Thu Aug 24 13:48:42 2017: Request 81747 was acted upon.
> > > Transaction: Ticket created by rosalyn.maccracken at noaa.gov
> > > Queue: met_help
> > > Subject: Help using Point_Stat with a grib2 subset file
> > > Owner: Nobody
> > > Requestors: rosalyn.maccracken at noaa.gov
> > > Status: new
> > > Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=81747
> >
> > >
> > >
> > > Hi,
> > >
> > > I have a grib2 file, which contains a single variable, at a
single
> level,
> > > with multiple forecast times. It looks something like this:
> > >
> > > 1:80:d=2017082411:WIND:surface:30 min fcst:
> > > 2:1135674:d=2017082411:WIND:surface:90 min fcst:
> > > 3:2263712:d=2017082411:WIND:surface:150 min fcst:
> > > 4:3386176:d=2017082411:WIND:surface:210 min fcst:
> > > 5:4489796:d=2017082411:WIND:surface:270 min fcst:
> > > 6:5601068:d=2017082411:WIND:surface:330 min fcst:
> > > ...
> > > 43:46687965:d=2017082411:WIND:surface:3270 min fcst:
> > > 44:47756611:d=2017082411:WIND:surface:3450 min fcst:
> > > 45:48834960:d=2017082411:WIND:surface:3630 min fcst:
> > >
> > > or, like this:
> > > 1:80:d=2017082412:WIND:surface:66 hour fcst:
> > > 2:1111020:d=2017082412:WIND:surface:72 hour fcst:
> > > 3:2207967:d=2017082412:WIND:surface:78 hour fcst:
> > > 4:3277465:d=2017082412:WIND:surface:84 hour fcst:
> > > ...
> > > 15:15078235:d=2017082412:WIND:surface:150 hour fcst:
> > > 16:15923792:d=2017082412:WIND:surface:156 hour fcst:
> > >
> > > In my initial processing, I create a netCDF file from a prepbufr
file,
> > > where I pull out data from 11z to 12:59:59z (for this example).
The
> > > command I used to create this is:
> > > /opt/MET6/met6.0/bin/pb2nc
> > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> > > gfs.t12z.prepbufr.nr
> > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> > > uv_wind_pb_2017082012_12.nc
> > >
/opc_test/home/opc_test/all_opc/tables/met_verif/PB2NCConfig_working
> > > -valid_beg 20170824_110000 -valid_end 20170824_125959 -v 2
> > >
> > > So, then, I tried using this *.nc file with my grib2 file
> (ds.wspd.bin),
> > > using this command:
> > > /opt/MET6/met6.0/bin/point_stat
> > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > test_input/ds.wspd.2017082411.conus1to3.bin
> > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> > > uv_wind_pb_2017082012_11.nc
> > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > test_input/PointStatConfig_FCST_GRID_mask
> > > -obs_valid_beg 20170824_110000 -obs_valid_end 20170824_125959
-outdir
> > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/ -v
> 2
> > >
> > > Where I've set the levels in my config file like this:
> > > // Forecast and observation fields to be verified
> > > //
> > > fcst = {
> > > field = [
> > > {
> > > name = "WIND";
> > > level = "surface" ;
> > > cat_thresh = [ >=0.0, >=1.0, >=5.0, >=17.0, >=24.0,
>=33.0 ];
> > > cat_thresh = [ >=0.0, >=8.0, >=17.0, >=28.0, >=34.0,
>=48.0,
> > >=64.0
> > > ];
> > > }
> > > ];
> > >
> > > }
> > >
> > > obs = {
> > > field = [
> > > {
> > > message_type = [ "ASCATW"];
> > > name = "WIND";
> > > level = [ "P1013" ];
> > > cat_thresh = [ >=0.0, >=8.0, >=17.0, >=28.0,
>=34.0,
> >=48.0,
> > > >=64.0 ];
> > > }
> > > ];
> > >
> > > But, I get the error:
> > > DEBUG 1: Default Config File:
> > > /opt/MET6/met6.0/share/met/config/PointStatConfig_default
> > > DEBUG 1: User Config File:
> > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > test_input/PointStatConfig_FCST_GRID_mask
> > > ERROR :
> > > ERROR : VarInfo::set_level_info_grib() - failed to parse level
string
> > > 'surface'
> > > ERROR :
> > >
> > > So, it's not seeing that the level is "surface" in the grib2
file. I'm
> > not
> > > sure how to properly set "level" to get these files to match up.
> > >
> > > Thanks in advance!
> > >
> > > Roz
> > >
> > >
> > > --
> > > Rosalyn MacCracken
> > > Support Scientist
> > >
> > > Ocean Applilcations Branch
> > > NOAA/NWS Ocean Prediction Center
> > > NCWCP
> > > 5830 University Research Ct
> > > College Park, MD 20740-3818
> > >
> > > (p) 301-683-1551
> > > rosalyn.maccracken at noaa.gov
> > >
> > >
> >
> >
>
>
> --
> Rosalyn MacCracken
> Support Scientist
>
> Ocean Applilcations Branch
> NOAA/NWS Ocean Prediction Center
> NCWCP
> 5830 University Research Ct
> College Park, MD 20740-3818
>
> (p) 301-683-1551
> rosalyn.maccracken at noaa.gov
>
>
------------------------------------------------
Subject: Help using Point_Stat with a grib2 subset file
From: Rosalyn MacCracken - NOAA Affiliate
Time: Fri Aug 25 09:01:38 2017
Hi John,
I think I got it to work. I used a time range in the point_stat
statement:
-obs_valid_beg 20170824_120000 -obs_valid_end 20170824_135959
and then tried a different forecast grid (Guam), which I thought would
have
more pairs of data with the ASCAT. I originally tried the CONUS file,
so,
maybe there wasn't anything that matches up at that point.
So, I tried Guam, and I got this output:
DEBUG 2: Processing WIND/Z0 versus WIND/P1013, for observation type
ASCATW,
over region FULL, for interpolation method NEAREST(4), using 127
pairs.
DEBUG 3: Number of matched pairs = 127
DEBUG 3: Observations processed = 296952
DEBUG 3: Rejected: SID exclusion = 0
DEBUG 3: Rejected: GRIB code = 197968
DEBUG 3: Rejected: valid time = 52634
DEBUG 3: Rejected: bad obs value = 0
DEBUG 3: Rejected: off the grid = 46223
First, it did match up the correct forecast lead time. I have many
forecast lead times that I'm interested in, so, I wasn't sure if I
could
put multiple lead times in the config file. Is that possible?
So, can the two files that are being compared be on different
projections?
Or, do they need to be on the same projection?
Roz
On Thu, Aug 24, 2017 at 5:11 PM, John Halley Gotway via RT <
met_help at ucar.edu> wrote:
> Roz,
>
> First, please rerun Point-Stat using verbosity level 4 (-v 4).
That'll
> dump out a list of reason *why* the observations were rejected.
>
> And I'm concerned about the following warning message:
>
> WARNING: MetGrib2DataFile::data_plane_array() - Multiple exact
matching
> records found for "WIND/Z0" - records 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11,
> 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30,
> 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
>
> Your file contains multiple output times in it. I'm guessing that
you have
> told Point-Stat which *one* you want to evaluate. Point-Stat is
designed
> to be run once per output time.
>
> In the config file, you can specify "lead_time" or "valid_time" to
> explicitly tell Point-Stat which field you want to use.
>
> For example:
> name = "WIND"; level = "Z0"; lead_time = "12";
>
> That'll tell it to evaluate the 12 hour lead time.
>
> John
>
>
> On Thu, Aug 24, 2017 at 2:37 PM, Rosalyn MacCracken - NOAA Affiliate
via RT
> <met_help at ucar.edu> wrote:
>
> >
> > <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=81747 >
> >
> > Hi John,
> >
> > So, switching it to "Z0" worked, but, it didn't work because it
couldn't
> > find any matches. I wonder if the grid isn't the same, because I
tried
> to
> > use the masks that I created and I got this error:
> > DEBUG 2: Processing masking regions.
> > ERROR :
> > ERROR : parse_poly_mask() -> The masking and verification grids
do not
> > match:
> > ERROR : Projection: Lat/Lon Nx: 1440 Ny: 721 lat_ll: -90.000
lon_ll:
> > -0.000 delta_lat: 0.250 delta_lon: 0.250 !=
> > ERROR : Projection: Lambert Conformal Nx: 2145 Ny: 1377 Lat_LL:
20.192
> > Lon_LL: 121.554 Lon_orient: 95.000 Alpha: 6509.082 Cone: 0.423 Bx:
> > 1088.0030 By: 5483.6617
> > ERROR :
> >
> >
> > So, I did a wgrib -V, and got this output:
> > wgrib2 -V -d 1 ds.wspd.2017082411.conus1to3.bin
> > 1:80:vt=2017082412:surface:30 min fcst:WIND Wind Speed [m/s]:
> > ndata=2953665:undef=660550:mean=3.86426:min=0:max=22.1
> > grid_template=30:winds(N/S):
> > Lambert Conformal: (2145 x 1377) input WE|EW:SN output WE:SN
res 0
> > Lat1 20.191999 Lon1 238.445999 LoV 265.000000
> > LatD 25.000000 Latin1 25.000000 Latin2 25.000000
> > LatSP -90.000000 LonSP 0.000000
> > North Pole (2145 x 1377) Dx 2539.703000 m Dy 2539.703000 m
mode 0
> >
> >
> > Then, I removed the masks, and ran it again, and got this output
that
> made
> > me think that the grids aren't the same (ASCAT point data vs.
forecast
> > grids):
> > DEBUG 1: Forecast File:
> > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > test_input/ds.wspd.2017082411.conus1to3.bin
> > DEBUG 1: Observation File:
> > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> > uv_wind_pb_2017082012_12.nc
> > DEBUG 2:
> > DEBUG 2:
> > ------------------------------------------------------------
> > --------------------
> > DEBUG 2:
> > DEBUG 2: Reading data for WIND/Z0.
> > WARNING:
> > WARNING: MetGrib2DataFile::data_plane_array() - Multiple exact
matching
> > records found for "WIND/Z0" - records 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11,
> > 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29,
> 30,
> > 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
> > WARNING:
> > DEBUG 2: Processing masking regions.
> > DEBUG 2: For WIND/Z0 found 1 forecast levels and 0 climatology
levels.
> > DEBUG 2:
> > DEBUG 2:
> > ------------------------------------------------------------
> > --------------------
> > DEBUG 2:
> > DEBUG 2: Searching 232131 observations from 77377 messages.
> > DEBUG 2:
> > DEBUG 2:
> > ------------------------------------------------------------
> > --------------------
> > DEBUG 2:
> > DEBUG 2: Processing WIND/Z0 versus WIND/P1013, for observation
type
> ASCATW,
> > over region FULL, for interpolation method NEAREST(4), using 0
pairs.
> > DEBUG 2:
> > DEBUG 2:
> > ------------------------------------------------------------
> > --------------------
> > DEBUG 2:
> >
> >
> > Any ideas of how to fix this? Do I increase my search radius? Is
that
> > these lines in the config file?:
> > // Interpolation methods
> > //
> > interp = {
> > vld_thresh = 1.0;
> >
> > type = [
> > {
> > method = NEAREST;
> > width = 2;
> > }
> > ];
> >
> > Thanks in advance!
> >
> > Roz
> >
> > On Thu, Aug 24, 2017 at 4:11 PM, John Halley Gotway via RT <
> > met_help at ucar.edu> wrote:
> >
> > > Roz,
> > >
> > > Please try using "Z0" instead of the string "surface". Listed
below is
> > an
> > > excerpt from the met-6.0/datat/config/README file which is also
> included
> > in
> > > the MET Users Guide:
> > >
> > > // - The "level" entry specifies a level type and value:
> > > // - ANNN for accumulation interval NNN
> > > // - ZNNN for vertical level NNN
> > > // - ZNNN-NNN for a range of vertical levels
> > > // - PNNN for pressure level NNN in hPa
> > > // - PNNN-NNN for a range of pressure levels in hPa
> > > // - LNNN for a generic level type
> > > // - RNNN for a specific GRIB record number
> > >
> > > Using "Z0" should work for surface.
> > >
> > > Thanks,
> > > John
> > >
> > > On Thu, Aug 24, 2017 at 1:48 PM, Rosalyn MacCracken - NOAA
Affiliate
> via
> > RT
> > > <met_help at ucar.edu> wrote:
> > >
> > > >
> > > > Thu Aug 24 13:48:42 2017: Request 81747 was acted upon.
> > > > Transaction: Ticket created by rosalyn.maccracken at noaa.gov
> > > > Queue: met_help
> > > > Subject: Help using Point_Stat with a grib2 subset file
> > > > Owner: Nobody
> > > > Requestors: rosalyn.maccracken at noaa.gov
> > > > Status: new
> > > > Ticket <URL: https://rt.rap.ucar.edu/rt/
> Ticket/Display.html?id=81747
> > >
> > > >
> > > >
> > > > Hi,
> > > >
> > > > I have a grib2 file, which contains a single variable, at a
single
> > level,
> > > > with multiple forecast times. It looks something like this:
> > > >
> > > > 1:80:d=2017082411:WIND:surface:30 min fcst:
> > > > 2:1135674:d=2017082411:WIND:surface:90 min fcst:
> > > > 3:2263712:d=2017082411:WIND:surface:150 min fcst:
> > > > 4:3386176:d=2017082411:WIND:surface:210 min fcst:
> > > > 5:4489796:d=2017082411:WIND:surface:270 min fcst:
> > > > 6:5601068:d=2017082411:WIND:surface:330 min fcst:
> > > > ...
> > > > 43:46687965:d=2017082411:WIND:surface:3270 min fcst:
> > > > 44:47756611:d=2017082411:WIND:surface:3450 min fcst:
> > > > 45:48834960:d=2017082411:WIND:surface:3630 min fcst:
> > > >
> > > > or, like this:
> > > > 1:80:d=2017082412:WIND:surface:66 hour fcst:
> > > > 2:1111020:d=2017082412:WIND:surface:72 hour fcst:
> > > > 3:2207967:d=2017082412:WIND:surface:78 hour fcst:
> > > > 4:3277465:d=2017082412:WIND:surface:84 hour fcst:
> > > > ...
> > > > 15:15078235:d=2017082412:WIND:surface:150 hour fcst:
> > > > 16:15923792:d=2017082412:WIND:surface:156 hour fcst:
> > > >
> > > > In my initial processing, I create a netCDF file from a
prepbufr
> file,
> > > > where I pull out data from 11z to 12:59:59z (for this
example). The
> > > > command I used to create this is:
> > > > /opt/MET6/met6.0/bin/pb2nc
> > > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> > > > gfs.t12z.prepbufr.nr
> > > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> > > > uv_wind_pb_2017082012_12.nc
> > > >
/opc_test/home/opc_test/all_opc/tables/met_verif/PB2NCConfig_working
> > > > -valid_beg 20170824_110000 -valid_end 20170824_125959 -v 2
> > > >
> > > > So, then, I tried using this *.nc file with my grib2 file
> > (ds.wspd.bin),
> > > > using this command:
> > > > /opt/MET6/met6.0/bin/point_stat
> > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > > test_input/ds.wspd.2017082411.conus1to3.bin
> > > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> > > > uv_wind_pb_2017082012_11.nc
> > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > > test_input/PointStatConfig_FCST_GRID_mask
> > > > -obs_valid_beg 20170824_110000 -obs_valid_end 20170824_125959
-outdir
> > > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> -v
> > 2
> > > >
> > > > Where I've set the levels in my config file like this:
> > > > // Forecast and observation fields to be verified
> > > > //
> > > > fcst = {
> > > > field = [
> > > > {
> > > > name = "WIND";
> > > > level = "surface" ;
> > > > cat_thresh = [ >=0.0, >=1.0, >=5.0, >=17.0, >=24.0,
>=33.0 ];
> > > > cat_thresh = [ >=0.0, >=8.0, >=17.0, >=28.0, >=34.0,
>=48.0,
> > > >=64.0
> > > > ];
> > > > }
> > > > ];
> > > >
> > > > }
> > > >
> > > > obs = {
> > > > field = [
> > > > {
> > > > message_type = [ "ASCATW"];
> > > > name = "WIND";
> > > > level = [ "P1013" ];
> > > > cat_thresh = [ >=0.0, >=8.0, >=17.0, >=28.0,
>=34.0,
> > >=48.0,
> > > > >=64.0 ];
> > > > }
> > > > ];
> > > >
> > > > But, I get the error:
> > > > DEBUG 1: Default Config File:
> > > > /opt/MET6/met6.0/share/met/config/PointStatConfig_default
> > > > DEBUG 1: User Config File:
> > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > > test_input/PointStatConfig_FCST_GRID_mask
> > > > ERROR :
> > > > ERROR : VarInfo::set_level_info_grib() - failed to parse
level
> string
> > > > 'surface'
> > > > ERROR :
> > > >
> > > > So, it's not seeing that the level is "surface" in the grib2
file.
> I'm
> > > not
> > > > sure how to properly set "level" to get these files to match
up.
> > > >
> > > > Thanks in advance!
> > > >
> > > > Roz
> > > >
> > > >
> > > > --
> > > > Rosalyn MacCracken
> > > > Support Scientist
> > > >
> > > > Ocean Applilcations Branch
> > > > NOAA/NWS Ocean Prediction Center
> > > > NCWCP
> > > > 5830 University Research Ct
> > > > College Park, MD 20740-3818
> > > >
> > > > (p) 301-683-1551
> > > > rosalyn.maccracken at noaa.gov
> > > >
> > > >
> > >
> > >
> >
> >
> > --
> > Rosalyn MacCracken
> > Support Scientist
> >
> > Ocean Applilcations Branch
> > NOAA/NWS Ocean Prediction Center
> > NCWCP
> > 5830 University Research Ct
> > College Park, MD 20740-3818
> >
> > (p) 301-683-1551
> > rosalyn.maccracken at noaa.gov
> >
> >
>
>
--
Rosalyn MacCracken
Support Scientist
Ocean Applilcations Branch
NOAA/NWS Ocean Prediction Center
NCWCP
5830 University Research Ct
College Park, MD 20740-3818
(p) 301-683-1551
rosalyn.maccracken at noaa.gov
------------------------------------------------
Subject: Help using Point_Stat with a grib2 subset file
From: John Halley Gotway
Time: Fri Aug 25 09:59:12 2017
Roz,
The MET tools are almost always run once for each point in time.
Technically, when running Grid-Stat you could configure it to process
multiple times in a single call by specifying separate timing info for
each
field being evaluated.
While you could set up the config file the same way for Point-Stat,
the
logic for time won't work well. Point-Stat defines the matching
observation time window only once. That time window is either set on
the
command line (using -obs_valid_beg and -obs_valid_end) or using the
"obs_window" setting from the config file. When processing multiple
lead
times from the same file, you'd only want to use point observations
that
are +/- 30 minutes or +/- 1 hour or something around the forecast
valid
time. But currently, that time window is set only once... and doesn't
change when the forecast valid times change.
I can see how the logic could be adjusted to do what I describe... and
that'd probably be a good enhancement. If doing that, we should
probably
make other tweaks to the logic to make this whole thing easier.
With the current state of the tools, I'd recommend using a script to
loop
over the times in your file and call Point-Stat once for each time.
Then
reference the timing info in the config file (e.g. lead_time = "12";)
to
make sure you're processing the data you intend.
John
On Fri, Aug 25, 2017 at 9:01 AM, Rosalyn MacCracken - NOAA Affiliate
via RT
<met_help at ucar.edu> wrote:
>
> <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=81747 >
>
> Hi John,
>
> I think I got it to work. I used a time range in the point_stat
statement:
> -obs_valid_beg 20170824_120000 -obs_valid_end 20170824_135959
> and then tried a different forecast grid (Guam), which I thought
would have
> more pairs of data with the ASCAT. I originally tried the CONUS
file, so,
> maybe there wasn't anything that matches up at that point.
>
> So, I tried Guam, and I got this output:
> DEBUG 2: Processing WIND/Z0 versus WIND/P1013, for observation type
ASCATW,
> over region FULL, for interpolation method NEAREST(4), using 127
pairs.
> DEBUG 3: Number of matched pairs = 127
> DEBUG 3: Observations processed = 296952
> DEBUG 3: Rejected: SID exclusion = 0
> DEBUG 3: Rejected: GRIB code = 197968
> DEBUG 3: Rejected: valid time = 52634
> DEBUG 3: Rejected: bad obs value = 0
> DEBUG 3: Rejected: off the grid = 46223
>
> First, it did match up the correct forecast lead time. I have many
> forecast lead times that I'm interested in, so, I wasn't sure if I
could
> put multiple lead times in the config file. Is that possible?
>
> So, can the two files that are being compared be on different
projections?
> Or, do they need to be on the same projection?
>
> Roz
>
> On Thu, Aug 24, 2017 at 5:11 PM, John Halley Gotway via RT <
> met_help at ucar.edu> wrote:
>
> > Roz,
> >
> > First, please rerun Point-Stat using verbosity level 4 (-v 4).
That'll
> > dump out a list of reason *why* the observations were rejected.
> >
> > And I'm concerned about the following warning message:
> >
> > WARNING: MetGrib2DataFile::data_plane_array() - Multiple exact
matching
> > records found for "WIND/Z0" - records 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11,
> > 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29,
> 30,
> > 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
> >
> > Your file contains multiple output times in it. I'm guessing that
you
> have
> > told Point-Stat which *one* you want to evaluate. Point-Stat is
designed
> > to be run once per output time.
> >
> > In the config file, you can specify "lead_time" or "valid_time" to
> > explicitly tell Point-Stat which field you want to use.
> >
> > For example:
> > name = "WIND"; level = "Z0"; lead_time = "12";
> >
> > That'll tell it to evaluate the 12 hour lead time.
> >
> > John
> >
> >
> > On Thu, Aug 24, 2017 at 2:37 PM, Rosalyn MacCracken - NOAA
Affiliate via
> RT
> > <met_help at ucar.edu> wrote:
> >
> > >
> > > <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=81747 >
> > >
> > > Hi John,
> > >
> > > So, switching it to "Z0" worked, but, it didn't work because it
> couldn't
> > > find any matches. I wonder if the grid isn't the same, because
I tried
> > to
> > > use the masks that I created and I got this error:
> > > DEBUG 2: Processing masking regions.
> > > ERROR :
> > > ERROR : parse_poly_mask() -> The masking and verification grids
do not
> > > match:
> > > ERROR : Projection: Lat/Lon Nx: 1440 Ny: 721 lat_ll: -90.000
lon_ll:
> > > -0.000 delta_lat: 0.250 delta_lon: 0.250 !=
> > > ERROR : Projection: Lambert Conformal Nx: 2145 Ny: 1377 Lat_LL:
20.192
> > > Lon_LL: 121.554 Lon_orient: 95.000 Alpha: 6509.082 Cone: 0.423
Bx:
> > > 1088.0030 By: 5483.6617
> > > ERROR :
> > >
> > >
> > > So, I did a wgrib -V, and got this output:
> > > wgrib2 -V -d 1 ds.wspd.2017082411.conus1to3.bin
> > > 1:80:vt=2017082412:surface:30 min fcst:WIND Wind Speed [m/s]:
> > > ndata=2953665:undef=660550:mean=3.86426:min=0:max=22.1
> > > grid_template=30:winds(N/S):
> > > Lambert Conformal: (2145 x 1377) input WE|EW:SN output WE:SN
res 0
> > > Lat1 20.191999 Lon1 238.445999 LoV 265.000000
> > > LatD 25.000000 Latin1 25.000000 Latin2 25.000000
> > > LatSP -90.000000 LonSP 0.000000
> > > North Pole (2145 x 1377) Dx 2539.703000 m Dy 2539.703000 m
mode 0
> > >
> > >
> > > Then, I removed the masks, and ran it again, and got this output
that
> > made
> > > me think that the grids aren't the same (ASCAT point data vs.
forecast
> > > grids):
> > > DEBUG 1: Forecast File:
> > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > test_input/ds.wspd.2017082411.conus1to3.bin
> > > DEBUG 1: Observation File:
> > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> > > uv_wind_pb_2017082012_12.nc
> > > DEBUG 2:
> > > DEBUG 2:
> > > ------------------------------------------------------------
> > > --------------------
> > > DEBUG 2:
> > > DEBUG 2: Reading data for WIND/Z0.
> > > WARNING:
> > > WARNING: MetGrib2DataFile::data_plane_array() - Multiple exact
> matching
> > > records found for "WIND/Z0" - records 1, 2, 3, 4, 5, 6, 7, 8, 9,
10,
> 11,
> > > 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29,
> > 30,
> > > 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
> > > WARNING:
> > > DEBUG 2: Processing masking regions.
> > > DEBUG 2: For WIND/Z0 found 1 forecast levels and 0 climatology
levels.
> > > DEBUG 2:
> > > DEBUG 2:
> > > ------------------------------------------------------------
> > > --------------------
> > > DEBUG 2:
> > > DEBUG 2: Searching 232131 observations from 77377 messages.
> > > DEBUG 2:
> > > DEBUG 2:
> > > ------------------------------------------------------------
> > > --------------------
> > > DEBUG 2:
> > > DEBUG 2: Processing WIND/Z0 versus WIND/P1013, for observation
type
> > ASCATW,
> > > over region FULL, for interpolation method NEAREST(4), using 0
pairs.
> > > DEBUG 2:
> > > DEBUG 2:
> > > ------------------------------------------------------------
> > > --------------------
> > > DEBUG 2:
> > >
> > >
> > > Any ideas of how to fix this? Do I increase my search radius?
Is that
> > > these lines in the config file?:
> > > // Interpolation methods
> > > //
> > > interp = {
> > > vld_thresh = 1.0;
> > >
> > > type = [
> > > {
> > > method = NEAREST;
> > > width = 2;
> > > }
> > > ];
> > >
> > > Thanks in advance!
> > >
> > > Roz
> > >
> > > On Thu, Aug 24, 2017 at 4:11 PM, John Halley Gotway via RT <
> > > met_help at ucar.edu> wrote:
> > >
> > > > Roz,
> > > >
> > > > Please try using "Z0" instead of the string "surface". Listed
below
> is
> > > an
> > > > excerpt from the met-6.0/datat/config/README file which is
also
> > included
> > > in
> > > > the MET Users Guide:
> > > >
> > > > // - The "level" entry specifies a level type and value:
> > > > // - ANNN for accumulation interval NNN
> > > > // - ZNNN for vertical level NNN
> > > > // - ZNNN-NNN for a range of vertical levels
> > > > // - PNNN for pressure level NNN in hPa
> > > > // - PNNN-NNN for a range of pressure levels in hPa
> > > > // - LNNN for a generic level type
> > > > // - RNNN for a specific GRIB record number
> > > >
> > > > Using "Z0" should work for surface.
> > > >
> > > > Thanks,
> > > > John
> > > >
> > > > On Thu, Aug 24, 2017 at 1:48 PM, Rosalyn MacCracken - NOAA
Affiliate
> > via
> > > RT
> > > > <met_help at ucar.edu> wrote:
> > > >
> > > > >
> > > > > Thu Aug 24 13:48:42 2017: Request 81747 was acted upon.
> > > > > Transaction: Ticket created by rosalyn.maccracken at noaa.gov
> > > > > Queue: met_help
> > > > > Subject: Help using Point_Stat with a grib2 subset file
> > > > > Owner: Nobody
> > > > > Requestors: rosalyn.maccracken at noaa.gov
> > > > > Status: new
> > > > > Ticket <URL: https://rt.rap.ucar.edu/rt/
> > Ticket/Display.html?id=81747
> > > >
> > > > >
> > > > >
> > > > > Hi,
> > > > >
> > > > > I have a grib2 file, which contains a single variable, at a
single
> > > level,
> > > > > with multiple forecast times. It looks something like this:
> > > > >
> > > > > 1:80:d=2017082411:WIND:surface:30 min fcst:
> > > > > 2:1135674:d=2017082411:WIND:surface:90 min fcst:
> > > > > 3:2263712:d=2017082411:WIND:surface:150 min fcst:
> > > > > 4:3386176:d=2017082411:WIND:surface:210 min fcst:
> > > > > 5:4489796:d=2017082411:WIND:surface:270 min fcst:
> > > > > 6:5601068:d=2017082411:WIND:surface:330 min fcst:
> > > > > ...
> > > > > 43:46687965:d=2017082411:WIND:surface:3270 min fcst:
> > > > > 44:47756611:d=2017082411:WIND:surface:3450 min fcst:
> > > > > 45:48834960:d=2017082411:WIND:surface:3630 min fcst:
> > > > >
> > > > > or, like this:
> > > > > 1:80:d=2017082412:WIND:surface:66 hour fcst:
> > > > > 2:1111020:d=2017082412:WIND:surface:72 hour fcst:
> > > > > 3:2207967:d=2017082412:WIND:surface:78 hour fcst:
> > > > > 4:3277465:d=2017082412:WIND:surface:84 hour fcst:
> > > > > ...
> > > > > 15:15078235:d=2017082412:WIND:surface:150 hour fcst:
> > > > > 16:15923792:d=2017082412:WIND:surface:156 hour fcst:
> > > > >
> > > > > In my initial processing, I create a netCDF file from a
prepbufr
> > file,
> > > > > where I pull out data from 11z to 12:59:59z (for this
example).
> The
> > > > > command I used to create this is:
> > > > > /opt/MET6/met6.0/bin/pb2nc
> > > > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> > > > > gfs.t12z.prepbufr.nr
> > > > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> > > > > uv_wind_pb_2017082012_12.nc
> > > > > /opc_test/home/opc_test/all_opc/tables/met_verif/
> PB2NCConfig_working
> > > > > -valid_beg 20170824_110000 -valid_end 20170824_125959 -v 2
> > > > >
> > > > > So, then, I tried using this *.nc file with my grib2 file
> > > (ds.wspd.bin),
> > > > > using this command:
> > > > > /opt/MET6/met6.0/bin/point_stat
> > > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > > > test_input/ds.wspd.2017082411.conus1to3.bin
> > > > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> > > > > uv_wind_pb_2017082012_11.nc
> > > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > > > test_input/PointStatConfig_FCST_GRID_mask
> > > > > -obs_valid_beg 20170824_110000 -obs_valid_end
20170824_125959
> -outdir
> > > > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> > -v
> > > 2
> > > > >
> > > > > Where I've set the levels in my config file like this:
> > > > > // Forecast and observation fields to be verified
> > > > > //
> > > > > fcst = {
> > > > > field = [
> > > > > {
> > > > > name = "WIND";
> > > > > level = "surface" ;
> > > > > cat_thresh = [ >=0.0, >=1.0, >=5.0, >=17.0, >=24.0,
>=33.0
> ];
> > > > > cat_thresh = [ >=0.0, >=8.0, >=17.0, >=28.0, >=34.0,
>=48.0,
> > > > >=64.0
> > > > > ];
> > > > > }
> > > > > ];
> > > > >
> > > > > }
> > > > >
> > > > > obs = {
> > > > > field = [
> > > > > {
> > > > > message_type = [ "ASCATW"];
> > > > > name = "WIND";
> > > > > level = [ "P1013" ];
> > > > > cat_thresh = [ >=0.0, >=8.0, >=17.0, >=28.0,
>=34.0,
> > > >=48.0,
> > > > > >=64.0 ];
> > > > > }
> > > > > ];
> > > > >
> > > > > But, I get the error:
> > > > > DEBUG 1: Default Config File:
> > > > > /opt/MET6/met6.0/share/met/config/PointStatConfig_default
> > > > > DEBUG 1: User Config File:
> > > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > > > test_input/PointStatConfig_FCST_GRID_mask
> > > > > ERROR :
> > > > > ERROR : VarInfo::set_level_info_grib() - failed to parse
level
> > string
> > > > > 'surface'
> > > > > ERROR :
> > > > >
> > > > > So, it's not seeing that the level is "surface" in the grib2
file.
> > I'm
> > > > not
> > > > > sure how to properly set "level" to get these files to match
up.
> > > > >
> > > > > Thanks in advance!
> > > > >
> > > > > Roz
> > > > >
> > > > >
> > > > > --
> > > > > Rosalyn MacCracken
> > > > > Support Scientist
> > > > >
> > > > > Ocean Applilcations Branch
> > > > > NOAA/NWS Ocean Prediction Center
> > > > > NCWCP
> > > > > 5830 University Research Ct
> > > > > College Park, MD 20740-3818
> > > > >
> > > > > (p) 301-683-1551
> > > > > rosalyn.maccracken at noaa.gov
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> > > --
> > > Rosalyn MacCracken
> > > Support Scientist
> > >
> > > Ocean Applilcations Branch
> > > NOAA/NWS Ocean Prediction Center
> > > NCWCP
> > > 5830 University Research Ct
> > > College Park, MD 20740-3818
> > >
> > > (p) 301-683-1551
> > > rosalyn.maccracken at noaa.gov
> > >
> > >
> >
> >
>
>
> --
> Rosalyn MacCracken
> Support Scientist
>
> Ocean Applilcations Branch
> NOAA/NWS Ocean Prediction Center
> NCWCP
> 5830 University Research Ct
> College Park, MD 20740-3818
>
> (p) 301-683-1551
> rosalyn.maccracken at noaa.gov
>
>
------------------------------------------------
Subject: Help using Point_Stat with a grib2 subset file
From: Rosalyn MacCracken - NOAA Affiliate
Time: Fri Aug 25 10:49:35 2017
Hi John,
Thanks for the info. For my GFS processing, the forecast files are
broken
apart by lead time, so, I do process those files individually the way
you
mention above. The challenge came in when I added the forecast grids
to my
processing. All the forecast lead times are put in to one file. I
was
hoping to avoid writing an additional step to break that file apart.
But,
as it turns out, I think the challenge comes in to actually match up
the
location of ASCAT with the forecast grids. There isn't many times
during
24 hours when the satallite records data over the locations of the
forecast
grids. So, I'm going to have to sort that out first, before moving
on.
But, you know, then it might become obvious on how to proceed with
this.
Roz
On Fri, Aug 25, 2017 at 11:59 AM, John Halley Gotway via RT <
met_help at ucar.edu> wrote:
> Roz,
>
> The MET tools are almost always run once for each point in time.
> Technically, when running Grid-Stat you could configure it to
process
> multiple times in a single call by specifying separate timing info
for each
> field being evaluated.
>
> While you could set up the config file the same way for Point-Stat,
the
> logic for time won't work well. Point-Stat defines the matching
> observation time window only once. That time window is either set
on the
> command line (using -obs_valid_beg and -obs_valid_end) or using the
> "obs_window" setting from the config file. When processing multiple
lead
> times from the same file, you'd only want to use point observations
that
> are +/- 30 minutes or +/- 1 hour or something around the forecast
valid
> time. But currently, that time window is set only once... and
doesn't
> change when the forecast valid times change.
>
> I can see how the logic could be adjusted to do what I describe...
and
> that'd probably be a good enhancement. If doing that, we should
probably
> make other tweaks to the logic to make this whole thing easier.
>
> With the current state of the tools, I'd recommend using a script to
loop
> over the times in your file and call Point-Stat once for each time.
Then
> reference the timing info in the config file (e.g. lead_time =
"12";) to
> make sure you're processing the data you intend.
>
> John
>
>
> On Fri, Aug 25, 2017 at 9:01 AM, Rosalyn MacCracken - NOAA Affiliate
via RT
> <met_help at ucar.edu> wrote:
>
> >
> > <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=81747 >
> >
> > Hi John,
> >
> > I think I got it to work. I used a time range in the point_stat
> statement:
> > -obs_valid_beg 20170824_120000 -obs_valid_end 20170824_135959
> > and then tried a different forecast grid (Guam), which I thought
would
> have
> > more pairs of data with the ASCAT. I originally tried the CONUS
file,
> so,
> > maybe there wasn't anything that matches up at that point.
> >
> > So, I tried Guam, and I got this output:
> > DEBUG 2: Processing WIND/Z0 versus WIND/P1013, for observation
type
> ASCATW,
> > over region FULL, for interpolation method NEAREST(4), using 127
pairs.
> > DEBUG 3: Number of matched pairs = 127
> > DEBUG 3: Observations processed = 296952
> > DEBUG 3: Rejected: SID exclusion = 0
> > DEBUG 3: Rejected: GRIB code = 197968
> > DEBUG 3: Rejected: valid time = 52634
> > DEBUG 3: Rejected: bad obs value = 0
> > DEBUG 3: Rejected: off the grid = 46223
> >
> > First, it did match up the correct forecast lead time. I have
many
> > forecast lead times that I'm interested in, so, I wasn't sure if I
could
> > put multiple lead times in the config file. Is that possible?
> >
> > So, can the two files that are being compared be on different
> projections?
> > Or, do they need to be on the same projection?
> >
> > Roz
> >
> > On Thu, Aug 24, 2017 at 5:11 PM, John Halley Gotway via RT <
> > met_help at ucar.edu> wrote:
> >
> > > Roz,
> > >
> > > First, please rerun Point-Stat using verbosity level 4 (-v 4).
That'll
> > > dump out a list of reason *why* the observations were rejected.
> > >
> > > And I'm concerned about the following warning message:
> > >
> > > WARNING: MetGrib2DataFile::data_plane_array() - Multiple exact
> matching
> > > records found for "WIND/Z0" - records 1, 2, 3, 4, 5, 6, 7, 8, 9,
10,
> 11,
> > > 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29,
> > 30,
> > > 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
> > >
> > > Your file contains multiple output times in it. I'm guessing
that you
> > have
> > > told Point-Stat which *one* you want to evaluate. Point-Stat is
> designed
> > > to be run once per output time.
> > >
> > > In the config file, you can specify "lead_time" or "valid_time"
to
> > > explicitly tell Point-Stat which field you want to use.
> > >
> > > For example:
> > > name = "WIND"; level = "Z0"; lead_time = "12";
> > >
> > > That'll tell it to evaluate the 12 hour lead time.
> > >
> > > John
> > >
> > >
> > > On Thu, Aug 24, 2017 at 2:37 PM, Rosalyn MacCracken - NOAA
Affiliate
> via
> > RT
> > > <met_help at ucar.edu> wrote:
> > >
> > > >
> > > > <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=81747
>
> > > >
> > > > Hi John,
> > > >
> > > > So, switching it to "Z0" worked, but, it didn't work because
it
> > couldn't
> > > > find any matches. I wonder if the grid isn't the same,
because I
> tried
> > > to
> > > > use the masks that I created and I got this error:
> > > > DEBUG 2: Processing masking regions.
> > > > ERROR :
> > > > ERROR : parse_poly_mask() -> The masking and verification
grids do
> not
> > > > match:
> > > > ERROR : Projection: Lat/Lon Nx: 1440 Ny: 721 lat_ll: -90.000
lon_ll:
> > > > -0.000 delta_lat: 0.250 delta_lon: 0.250 !=
> > > > ERROR : Projection: Lambert Conformal Nx: 2145 Ny: 1377
Lat_LL:
> 20.192
> > > > Lon_LL: 121.554 Lon_orient: 95.000 Alpha: 6509.082 Cone: 0.423
Bx:
> > > > 1088.0030 By: 5483.6617
> > > > ERROR :
> > > >
> > > >
> > > > So, I did a wgrib -V, and got this output:
> > > > wgrib2 -V -d 1 ds.wspd.2017082411.conus1to3.bin
> > > > 1:80:vt=2017082412:surface:30 min fcst:WIND Wind Speed [m/s]:
> > > > ndata=2953665:undef=660550:mean=3.86426:min=0:max=22.1
> > > > grid_template=30:winds(N/S):
> > > > Lambert Conformal: (2145 x 1377) input WE|EW:SN output
WE:SN res
> 0
> > > > Lat1 20.191999 Lon1 238.445999 LoV 265.000000
> > > > LatD 25.000000 Latin1 25.000000 Latin2 25.000000
> > > > LatSP -90.000000 LonSP 0.000000
> > > > North Pole (2145 x 1377) Dx 2539.703000 m Dy 2539.703000 m
mode 0
> > > >
> > > >
> > > > Then, I removed the masks, and ran it again, and got this
output that
> > > made
> > > > me think that the grids aren't the same (ASCAT point data vs.
> forecast
> > > > grids):
> > > > DEBUG 1: Forecast File:
> > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > > test_input/ds.wspd.2017082411.conus1to3.bin
> > > > DEBUG 1: Observation File:
> > > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> > > > uv_wind_pb_2017082012_12.nc
> > > > DEBUG 2:
> > > > DEBUG 2:
> > > > ------------------------------------------------------------
> > > > --------------------
> > > > DEBUG 2:
> > > > DEBUG 2: Reading data for WIND/Z0.
> > > > WARNING:
> > > > WARNING: MetGrib2DataFile::data_plane_array() - Multiple exact
> > matching
> > > > records found for "WIND/Z0" - records 1, 2, 3, 4, 5, 6, 7, 8,
9, 10,
> > 11,
> > > > 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28,
> 29,
> > > 30,
> > > > 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
> > > > WARNING:
> > > > DEBUG 2: Processing masking regions.
> > > > DEBUG 2: For WIND/Z0 found 1 forecast levels and 0 climatology
> levels.
> > > > DEBUG 2:
> > > > DEBUG 2:
> > > > ------------------------------------------------------------
> > > > --------------------
> > > > DEBUG 2:
> > > > DEBUG 2: Searching 232131 observations from 77377 messages.
> > > > DEBUG 2:
> > > > DEBUG 2:
> > > > ------------------------------------------------------------
> > > > --------------------
> > > > DEBUG 2:
> > > > DEBUG 2: Processing WIND/Z0 versus WIND/P1013, for observation
type
> > > ASCATW,
> > > > over region FULL, for interpolation method NEAREST(4), using 0
pairs.
> > > > DEBUG 2:
> > > > DEBUG 2:
> > > > ------------------------------------------------------------
> > > > --------------------
> > > > DEBUG 2:
> > > >
> > > >
> > > > Any ideas of how to fix this? Do I increase my search radius?
Is
> that
> > > > these lines in the config file?:
> > > > // Interpolation methods
> > > > //
> > > > interp = {
> > > > vld_thresh = 1.0;
> > > >
> > > > type = [
> > > > {
> > > > method = NEAREST;
> > > > width = 2;
> > > > }
> > > > ];
> > > >
> > > > Thanks in advance!
> > > >
> > > > Roz
> > > >
> > > > On Thu, Aug 24, 2017 at 4:11 PM, John Halley Gotway via RT <
> > > > met_help at ucar.edu> wrote:
> > > >
> > > > > Roz,
> > > > >
> > > > > Please try using "Z0" instead of the string "surface".
Listed
> below
> > is
> > > > an
> > > > > excerpt from the met-6.0/datat/config/README file which is
also
> > > included
> > > > in
> > > > > the MET Users Guide:
> > > > >
> > > > > // - The "level" entry specifies a level type and
value:
> > > > > // - ANNN for accumulation interval NNN
> > > > > // - ZNNN for vertical level NNN
> > > > > // - ZNNN-NNN for a range of vertical levels
> > > > > // - PNNN for pressure level NNN in hPa
> > > > > // - PNNN-NNN for a range of pressure levels in hPa
> > > > > // - LNNN for a generic level type
> > > > > // - RNNN for a specific GRIB record number
> > > > >
> > > > > Using "Z0" should work for surface.
> > > > >
> > > > > Thanks,
> > > > > John
> > > > >
> > > > > On Thu, Aug 24, 2017 at 1:48 PM, Rosalyn MacCracken - NOAA
> Affiliate
> > > via
> > > > RT
> > > > > <met_help at ucar.edu> wrote:
> > > > >
> > > > > >
> > > > > > Thu Aug 24 13:48:42 2017: Request 81747 was acted upon.
> > > > > > Transaction: Ticket created by rosalyn.maccracken at noaa.gov
> > > > > > Queue: met_help
> > > > > > Subject: Help using Point_Stat with a grib2 subset
file
> > > > > > Owner: Nobody
> > > > > > Requestors: rosalyn.maccracken at noaa.gov
> > > > > > Status: new
> > > > > > Ticket <URL: https://rt.rap.ucar.edu/rt/
> > > Ticket/Display.html?id=81747
> > > > >
> > > > > >
> > > > > >
> > > > > > Hi,
> > > > > >
> > > > > > I have a grib2 file, which contains a single variable, at
a
> single
> > > > level,
> > > > > > with multiple forecast times. It looks something like
this:
> > > > > >
> > > > > > 1:80:d=2017082411:WIND:surface:30 min fcst:
> > > > > > 2:1135674:d=2017082411:WIND:surface:90 min fcst:
> > > > > > 3:2263712:d=2017082411:WIND:surface:150 min fcst:
> > > > > > 4:3386176:d=2017082411:WIND:surface:210 min fcst:
> > > > > > 5:4489796:d=2017082411:WIND:surface:270 min fcst:
> > > > > > 6:5601068:d=2017082411:WIND:surface:330 min fcst:
> > > > > > ...
> > > > > > 43:46687965:d=2017082411:WIND:surface:3270 min fcst:
> > > > > > 44:47756611:d=2017082411:WIND:surface:3450 min fcst:
> > > > > > 45:48834960:d=2017082411:WIND:surface:3630 min fcst:
> > > > > >
> > > > > > or, like this:
> > > > > > 1:80:d=2017082412:WIND:surface:66 hour fcst:
> > > > > > 2:1111020:d=2017082412:WIND:surface:72 hour fcst:
> > > > > > 3:2207967:d=2017082412:WIND:surface:78 hour fcst:
> > > > > > 4:3277465:d=2017082412:WIND:surface:84 hour fcst:
> > > > > > ...
> > > > > > 15:15078235:d=2017082412:WIND:surface:150 hour fcst:
> > > > > > 16:15923792:d=2017082412:WIND:surface:156 hour fcst:
> > > > > >
> > > > > > In my initial processing, I create a netCDF file from a
prepbufr
> > > file,
> > > > > > where I pull out data from 11z to 12:59:59z (for this
example).
> > The
> > > > > > command I used to create this is:
> > > > > > /opt/MET6/met6.0/bin/pb2nc
> > > > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> test_input/
> > > > > > gfs.t12z.prepbufr.nr
> > > > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> test_input/
> > > > > > uv_wind_pb_2017082012_12.nc
> > > > > > /opc_test/home/opc_test/all_opc/tables/met_verif/
> > PB2NCConfig_working
> > > > > > -valid_beg 20170824_110000 -valid_end 20170824_125959 -v 2
> > > > > >
> > > > > > So, then, I tried using this *.nc file with my grib2 file
> > > > (ds.wspd.bin),
> > > > > > using this command:
> > > > > > /opt/MET6/met6.0/bin/point_stat
> > > > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > > > > test_input/ds.wspd.2017082411.conus1to3.bin
> > > > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> test_input/
> > > > > > uv_wind_pb_2017082012_11.nc
> > > > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > > > > test_input/PointStatConfig_FCST_GRID_mask
> > > > > > -obs_valid_beg 20170824_110000 -obs_valid_end
20170824_125959
> > -outdir
> > > > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> test_input/
> > > -v
> > > > 2
> > > > > >
> > > > > > Where I've set the levels in my config file like this:
> > > > > > // Forecast and observation fields to be verified
> > > > > > //
> > > > > > fcst = {
> > > > > > field = [
> > > > > > {
> > > > > > name = "WIND";
> > > > > > level = "surface" ;
> > > > > > cat_thresh = [ >=0.0, >=1.0, >=5.0, >=17.0, >=24.0,
>=33.0
> > ];
> > > > > > cat_thresh = [ >=0.0, >=8.0, >=17.0, >=28.0,
>=34.0,
> >=48.0,
> > > > > >=64.0
> > > > > > ];
> > > > > > }
> > > > > > ];
> > > > > >
> > > > > > }
> > > > > >
> > > > > > obs = {
> > > > > > field = [
> > > > > > {
> > > > > > message_type = [ "ASCATW"];
> > > > > > name = "WIND";
> > > > > > level = [ "P1013" ];
> > > > > > cat_thresh = [ >=0.0, >=8.0, >=17.0, >=28.0,
>=34.0,
> > > > >=48.0,
> > > > > > >=64.0 ];
> > > > > > }
> > > > > > ];
> > > > > >
> > > > > > But, I get the error:
> > > > > > DEBUG 1: Default Config File:
> > > > > > /opt/MET6/met6.0/share/met/config/PointStatConfig_default
> > > > > > DEBUG 1: User Config File:
> > > > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > > > > test_input/PointStatConfig_FCST_GRID_mask
> > > > > > ERROR :
> > > > > > ERROR : VarInfo::set_level_info_grib() - failed to parse
level
> > > string
> > > > > > 'surface'
> > > > > > ERROR :
> > > > > >
> > > > > > So, it's not seeing that the level is "surface" in the
grib2
> file.
> > > I'm
> > > > > not
> > > > > > sure how to properly set "level" to get these files to
match up.
> > > > > >
> > > > > > Thanks in advance!
> > > > > >
> > > > > > Roz
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Rosalyn MacCracken
> > > > > > Support Scientist
> > > > > >
> > > > > > Ocean Applilcations Branch
> > > > > > NOAA/NWS Ocean Prediction Center
> > > > > > NCWCP
> > > > > > 5830 University Research Ct
> > > > > > College Park, MD 20740-3818
> > > > > >
> > > > > > (p) 301-683-1551
> > > > > > rosalyn.maccracken at noaa.gov
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > Rosalyn MacCracken
> > > > Support Scientist
> > > >
> > > > Ocean Applilcations Branch
> > > > NOAA/NWS Ocean Prediction Center
> > > > NCWCP
> > > > 5830 University Research Ct
> > > > College Park, MD 20740-3818
> > > >
> > > > (p) 301-683-1551
> > > > rosalyn.maccracken at noaa.gov
> > > >
> > > >
> > >
> > >
> >
> >
> > --
> > Rosalyn MacCracken
> > Support Scientist
> >
> > Ocean Applilcations Branch
> > NOAA/NWS Ocean Prediction Center
> > NCWCP
> > 5830 University Research Ct
> > College Park, MD 20740-3818
> >
> > (p) 301-683-1551
> > rosalyn.maccracken at noaa.gov
> >
> >
>
>
--
Rosalyn MacCracken
Support Scientist
Ocean Applilcations Branch
NOAA/NWS Ocean Prediction Center
NCWCP
5830 University Research Ct
College Park, MD 20740-3818
(p) 301-683-1551
rosalyn.maccracken at noaa.gov
------------------------------------------------
Subject: Help using Point_Stat with a grib2 subset file
From: John Halley Gotway
Time: Fri Aug 25 11:02:33 2017
Roz,
Ah yes, good point. You'd like to know when the ASCAT observations
fall
within your domain of interest. Of course, there would be no harm in
just
calling Point-Stat for each time, realizing that many times you'll get
0
matched pairs. But you can set up your system however you'd like.
I can think of any other options in MET that would make this logic
easier.
You probably just want to look at the min/max lat/lon of your
observations
and see if they overlap with the min/max lat/lon of your domain.
But the plot_point_obs tool does have an option the might help. The
plot_point_obs tool read the NetCDF output of the PB2NC, ASCII2NC, and
MADIS2NC tools. And then it draws a dot on a postscript plot at each
point
where you have an observation. By default, it plots the dots on a
global
lat/lon grid, but you can use the "-data_file" command line option to
pass
in one of your GRIB files. Then it'll plot the dots on your model
domain.
At verbosity level 2, it prints to the screen the number of points
that are
on/off your grid... like this:
DEBUG 2: Retrieving grid from file:
/var/autofs/mnt/dakota_d3/projects/MET/MET_test_data/unit_test/model_data/grib1/arw-
fer-gep1/arw-fer-gep1_2012040912_F012.grib
DEBUG 1: Opening netCDF file:
/d1/johnhg/MET/MET_development/MET_test_out/pb2nc/
ndas.20120409.t12z.prepbufr.tm00.nc
DEBUG 2: Processing 75771 observations at 8442 locations.
DEBUG 2: Observation GRIB codes: ALL
DEBUG 2: Observation message types: ALL
DEBUG 1: Creating postscript file:
/d1/johnhg/MET/MET_development/MET_test_out/plot_point_obs/
ndas.20120409.t12z.prepbufr.tm00.nr_G218.ps
DEBUG 2: Finished plotting 576 locations.
DEBUG 2: Skipped 7866 locations off the grid.
Thanks,
John
On Fri, Aug 25, 2017 at 10:49 AM, Rosalyn MacCracken - NOAA Affiliate
via
RT <met_help at ucar.edu> wrote:
>
> <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=81747 >
>
> Hi John,
>
> Thanks for the info. For my GFS processing, the forecast files are
broken
> apart by lead time, so, I do process those files individually the
way you
> mention above. The challenge came in when I added the forecast
grids to my
> processing. All the forecast lead times are put in to one file. I
was
> hoping to avoid writing an additional step to break that file apart.
But,
> as it turns out, I think the challenge comes in to actually match up
the
> location of ASCAT with the forecast grids. There isn't many times
during
> 24 hours when the satallite records data over the locations of the
forecast
> grids. So, I'm going to have to sort that out first, before moving
on.
> But, you know, then it might become obvious on how to proceed with
this.
>
> Roz
>
> On Fri, Aug 25, 2017 at 11:59 AM, John Halley Gotway via RT <
> met_help at ucar.edu> wrote:
>
> > Roz,
> >
> > The MET tools are almost always run once for each point in time.
> > Technically, when running Grid-Stat you could configure it to
process
> > multiple times in a single call by specifying separate timing info
for
> each
> > field being evaluated.
> >
> > While you could set up the config file the same way for Point-
Stat, the
> > logic for time won't work well. Point-Stat defines the matching
> > observation time window only once. That time window is either set
on the
> > command line (using -obs_valid_beg and -obs_valid_end) or using
the
> > "obs_window" setting from the config file. When processing
multiple lead
> > times from the same file, you'd only want to use point
observations that
> > are +/- 30 minutes or +/- 1 hour or something around the forecast
valid
> > time. But currently, that time window is set only once... and
doesn't
> > change when the forecast valid times change.
> >
> > I can see how the logic could be adjusted to do what I describe...
and
> > that'd probably be a good enhancement. If doing that, we should
probably
> > make other tweaks to the logic to make this whole thing easier.
> >
> > With the current state of the tools, I'd recommend using a script
to loop
> > over the times in your file and call Point-Stat once for each
time. Then
> > reference the timing info in the config file (e.g. lead_time =
"12";) to
> > make sure you're processing the data you intend.
> >
> > John
> >
> >
> > On Fri, Aug 25, 2017 at 9:01 AM, Rosalyn MacCracken - NOAA
Affiliate via
> RT
> > <met_help at ucar.edu> wrote:
> >
> > >
> > > <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=81747 >
> > >
> > > Hi John,
> > >
> > > I think I got it to work. I used a time range in the point_stat
> > statement:
> > > -obs_valid_beg 20170824_120000 -obs_valid_end 20170824_135959
> > > and then tried a different forecast grid (Guam), which I thought
would
> > have
> > > more pairs of data with the ASCAT. I originally tried the CONUS
file,
> > so,
> > > maybe there wasn't anything that matches up at that point.
> > >
> > > So, I tried Guam, and I got this output:
> > > DEBUG 2: Processing WIND/Z0 versus WIND/P1013, for observation
type
> > ASCATW,
> > > over region FULL, for interpolation method NEAREST(4), using 127
pairs.
> > > DEBUG 3: Number of matched pairs = 127
> > > DEBUG 3: Observations processed = 296952
> > > DEBUG 3: Rejected: SID exclusion = 0
> > > DEBUG 3: Rejected: GRIB code = 197968
> > > DEBUG 3: Rejected: valid time = 52634
> > > DEBUG 3: Rejected: bad obs value = 0
> > > DEBUG 3: Rejected: off the grid = 46223
> > >
> > > First, it did match up the correct forecast lead time. I have
many
> > > forecast lead times that I'm interested in, so, I wasn't sure if
I
> could
> > > put multiple lead times in the config file. Is that possible?
> > >
> > > So, can the two files that are being compared be on different
> > projections?
> > > Or, do they need to be on the same projection?
> > >
> > > Roz
> > >
> > > On Thu, Aug 24, 2017 at 5:11 PM, John Halley Gotway via RT <
> > > met_help at ucar.edu> wrote:
> > >
> > > > Roz,
> > > >
> > > > First, please rerun Point-Stat using verbosity level 4 (-v 4).
> That'll
> > > > dump out a list of reason *why* the observations were
rejected.
> > > >
> > > > And I'm concerned about the following warning message:
> > > >
> > > > WARNING: MetGrib2DataFile::data_plane_array() - Multiple exact
> > matching
> > > > records found for "WIND/Z0" - records 1, 2, 3, 4, 5, 6, 7, 8,
9, 10,
> > 11,
> > > > 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28,
> 29,
> > > 30,
> > > > 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
> > > >
> > > > Your file contains multiple output times in it. I'm guessing
that
> you
> > > have
> > > > told Point-Stat which *one* you want to evaluate. Point-Stat
is
> > designed
> > > > to be run once per output time.
> > > >
> > > > In the config file, you can specify "lead_time" or
"valid_time" to
> > > > explicitly tell Point-Stat which field you want to use.
> > > >
> > > > For example:
> > > > name = "WIND"; level = "Z0"; lead_time = "12";
> > > >
> > > > That'll tell it to evaluate the 12 hour lead time.
> > > >
> > > > John
> > > >
> > > >
> > > > On Thu, Aug 24, 2017 at 2:37 PM, Rosalyn MacCracken - NOAA
Affiliate
> > via
> > > RT
> > > > <met_help at ucar.edu> wrote:
> > > >
> > > > >
> > > > > <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=81747 >
> > > > >
> > > > > Hi John,
> > > > >
> > > > > So, switching it to "Z0" worked, but, it didn't work because
it
> > > couldn't
> > > > > find any matches. I wonder if the grid isn't the same,
because I
> > tried
> > > > to
> > > > > use the masks that I created and I got this error:
> > > > > DEBUG 2: Processing masking regions.
> > > > > ERROR :
> > > > > ERROR : parse_poly_mask() -> The masking and verification
grids do
> > not
> > > > > match:
> > > > > ERROR : Projection: Lat/Lon Nx: 1440 Ny: 721 lat_ll:
-90.000
> lon_ll:
> > > > > -0.000 delta_lat: 0.250 delta_lon: 0.250 !=
> > > > > ERROR : Projection: Lambert Conformal Nx: 2145 Ny: 1377
Lat_LL:
> > 20.192
> > > > > Lon_LL: 121.554 Lon_orient: 95.000 Alpha: 6509.082 Cone:
0.423 Bx:
> > > > > 1088.0030 By: 5483.6617
> > > > > ERROR :
> > > > >
> > > > >
> > > > > So, I did a wgrib -V, and got this output:
> > > > > wgrib2 -V -d 1 ds.wspd.2017082411.conus1to3.bin
> > > > > 1:80:vt=2017082412:surface:30 min fcst:WIND Wind Speed
[m/s]:
> > > > > ndata=2953665:undef=660550:mean=3.86426:min=0:max=22.1
> > > > > grid_template=30:winds(N/S):
> > > > > Lambert Conformal: (2145 x 1377) input WE|EW:SN output
WE:SN
> res
> > 0
> > > > > Lat1 20.191999 Lon1 238.445999 LoV 265.000000
> > > > > LatD 25.000000 Latin1 25.000000 Latin2 25.000000
> > > > > LatSP -90.000000 LonSP 0.000000
> > > > > North Pole (2145 x 1377) Dx 2539.703000 m Dy 2539.703000
m
> mode 0
> > > > >
> > > > >
> > > > > Then, I removed the masks, and ran it again, and got this
output
> that
> > > > made
> > > > > me think that the grids aren't the same (ASCAT point data
vs.
> > forecast
> > > > > grids):
> > > > > DEBUG 1: Forecast File:
> > > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > > > test_input/ds.wspd.2017082411.conus1to3.bin
> > > > > DEBUG 1: Observation File:
> > > > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/test_input/
> > > > > uv_wind_pb_2017082012_12.nc
> > > > > DEBUG 2:
> > > > > DEBUG 2:
> > > > > ------------------------------------------------------------
> > > > > --------------------
> > > > > DEBUG 2:
> > > > > DEBUG 2: Reading data for WIND/Z0.
> > > > > WARNING:
> > > > > WARNING: MetGrib2DataFile::data_plane_array() - Multiple
exact
> > > matching
> > > > > records found for "WIND/Z0" - records 1, 2, 3, 4, 5, 6, 7,
8, 9,
> 10,
> > > 11,
> > > > > 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28,
> > 29,
> > > > 30,
> > > > > 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
> > > > > WARNING:
> > > > > DEBUG 2: Processing masking regions.
> > > > > DEBUG 2: For WIND/Z0 found 1 forecast levels and 0
climatology
> > levels.
> > > > > DEBUG 2:
> > > > > DEBUG 2:
> > > > > ------------------------------------------------------------
> > > > > --------------------
> > > > > DEBUG 2:
> > > > > DEBUG 2: Searching 232131 observations from 77377 messages.
> > > > > DEBUG 2:
> > > > > DEBUG 2:
> > > > > ------------------------------------------------------------
> > > > > --------------------
> > > > > DEBUG 2:
> > > > > DEBUG 2: Processing WIND/Z0 versus WIND/P1013, for
observation type
> > > > ASCATW,
> > > > > over region FULL, for interpolation method NEAREST(4), using
0
> pairs.
> > > > > DEBUG 2:
> > > > > DEBUG 2:
> > > > > ------------------------------------------------------------
> > > > > --------------------
> > > > > DEBUG 2:
> > > > >
> > > > >
> > > > > Any ideas of how to fix this? Do I increase my search
radius? Is
> > that
> > > > > these lines in the config file?:
> > > > > // Interpolation methods
> > > > > //
> > > > > interp = {
> > > > > vld_thresh = 1.0;
> > > > >
> > > > > type = [
> > > > > {
> > > > > method = NEAREST;
> > > > > width = 2;
> > > > > }
> > > > > ];
> > > > >
> > > > > Thanks in advance!
> > > > >
> > > > > Roz
> > > > >
> > > > > On Thu, Aug 24, 2017 at 4:11 PM, John Halley Gotway via RT <
> > > > > met_help at ucar.edu> wrote:
> > > > >
> > > > > > Roz,
> > > > > >
> > > > > > Please try using "Z0" instead of the string "surface".
Listed
> > below
> > > is
> > > > > an
> > > > > > excerpt from the met-6.0/datat/config/README file which is
also
> > > > included
> > > > > in
> > > > > > the MET Users Guide:
> > > > > >
> > > > > > // - The "level" entry specifies a level type and
value:
> > > > > > // - ANNN for accumulation interval NNN
> > > > > > // - ZNNN for vertical level NNN
> > > > > > // - ZNNN-NNN for a range of vertical levels
> > > > > > // - PNNN for pressure level NNN in hPa
> > > > > > // - PNNN-NNN for a range of pressure levels in
hPa
> > > > > > // - LNNN for a generic level type
> > > > > > // - RNNN for a specific GRIB record number
> > > > > >
> > > > > > Using "Z0" should work for surface.
> > > > > >
> > > > > > Thanks,
> > > > > > John
> > > > > >
> > > > > > On Thu, Aug 24, 2017 at 1:48 PM, Rosalyn MacCracken - NOAA
> > Affiliate
> > > > via
> > > > > RT
> > > > > > <met_help at ucar.edu> wrote:
> > > > > >
> > > > > > >
> > > > > > > Thu Aug 24 13:48:42 2017: Request 81747 was acted upon.
> > > > > > > Transaction: Ticket created by
rosalyn.maccracken at noaa.gov
> > > > > > > Queue: met_help
> > > > > > > Subject: Help using Point_Stat with a grib2 subset
file
> > > > > > > Owner: Nobody
> > > > > > > Requestors: rosalyn.maccracken at noaa.gov
> > > > > > > Status: new
> > > > > > > Ticket <URL: https://rt.rap.ucar.edu/rt/
> > > > Ticket/Display.html?id=81747
> > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Hi,
> > > > > > >
> > > > > > > I have a grib2 file, which contains a single variable,
at a
> > single
> > > > > level,
> > > > > > > with multiple forecast times. It looks something like
this:
> > > > > > >
> > > > > > > 1:80:d=2017082411:WIND:surface:30 min fcst:
> > > > > > > 2:1135674:d=2017082411:WIND:surface:90 min fcst:
> > > > > > > 3:2263712:d=2017082411:WIND:surface:150 min fcst:
> > > > > > > 4:3386176:d=2017082411:WIND:surface:210 min fcst:
> > > > > > > 5:4489796:d=2017082411:WIND:surface:270 min fcst:
> > > > > > > 6:5601068:d=2017082411:WIND:surface:330 min fcst:
> > > > > > > ...
> > > > > > > 43:46687965:d=2017082411:WIND:surface:3270 min fcst:
> > > > > > > 44:47756611:d=2017082411:WIND:surface:3450 min fcst:
> > > > > > > 45:48834960:d=2017082411:WIND:surface:3630 min fcst:
> > > > > > >
> > > > > > > or, like this:
> > > > > > > 1:80:d=2017082412:WIND:surface:66 hour fcst:
> > > > > > > 2:1111020:d=2017082412:WIND:surface:72 hour fcst:
> > > > > > > 3:2207967:d=2017082412:WIND:surface:78 hour fcst:
> > > > > > > 4:3277465:d=2017082412:WIND:surface:84 hour fcst:
> > > > > > > ...
> > > > > > > 15:15078235:d=2017082412:WIND:surface:150 hour fcst:
> > > > > > > 16:15923792:d=2017082412:WIND:surface:156 hour fcst:
> > > > > > >
> > > > > > > In my initial processing, I create a netCDF file from a
> prepbufr
> > > > file,
> > > > > > > where I pull out data from 11z to 12:59:59z (for this
example).
> > > The
> > > > > > > command I used to create this is:
> > > > > > > /opt/MET6/met6.0/bin/pb2nc
> > > > > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > test_input/
> > > > > > > gfs.t12z.prepbufr.nr
> > > > > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > test_input/
> > > > > > > uv_wind_pb_2017082012_12.nc
> > > > > > > /opc_test/home/opc_test/all_opc/tables/met_verif/
> > > PB2NCConfig_working
> > > > > > > -valid_beg 20170824_110000 -valid_end 20170824_125959 -v
2
> > > > > > >
> > > > > > > So, then, I tried using this *.nc file with my grib2
file
> > > > > (ds.wspd.bin),
> > > > > > > using this command:
> > > > > > > /opt/MET6/met6.0/bin/point_stat
> > > > > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > > > > > test_input/ds.wspd.2017082411.conus1to3.bin
> > > > > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > test_input/
> > > > > > > uv_wind_pb_2017082012_11.nc
> > > > > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > > > > > test_input/PointStatConfig_FCST_GRID_mask
> > > > > > > -obs_valid_beg 20170824_110000 -obs_valid_end
20170824_125959
> > > -outdir
> > > > > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > test_input/
> > > > -v
> > > > > 2
> > > > > > >
> > > > > > > Where I've set the levels in my config file like this:
> > > > > > > // Forecast and observation fields to be verified
> > > > > > > //
> > > > > > > fcst = {
> > > > > > > field = [
> > > > > > > {
> > > > > > > name = "WIND";
> > > > > > > level = "surface" ;
> > > > > > > cat_thresh = [ >=0.0, >=1.0, >=5.0, >=17.0,
>=24.0,
> >=33.0
> > > ];
> > > > > > > cat_thresh = [ >=0.0, >=8.0, >=17.0, >=28.0,
>=34.0,
> > >=48.0,
> > > > > > >=64.0
> > > > > > > ];
> > > > > > > }
> > > > > > > ];
> > > > > > >
> > > > > > > }
> > > > > > >
> > > > > > > obs = {
> > > > > > > field = [
> > > > > > > {
> > > > > > > message_type = [ "ASCATW"];
> > > > > > > name = "WIND";
> > > > > > > level = [ "P1013" ];
> > > > > > > cat_thresh = [ >=0.0, >=8.0, >=17.0,
>=28.0,
> >=34.0,
> > > > > >=48.0,
> > > > > > > >=64.0 ];
> > > > > > > }
> > > > > > > ];
> > > > > > >
> > > > > > > But, I get the error:
> > > > > > > DEBUG 1: Default Config File:
> > > > > > >
/opt/MET6/met6.0/share/met/config/PointStatConfig_default
> > > > > > > DEBUG 1: User Config File:
> > > > > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > > > > > test_input/PointStatConfig_FCST_GRID_mask
> > > > > > > ERROR :
> > > > > > > ERROR : VarInfo::set_level_info_grib() - failed to
parse level
> > > > string
> > > > > > > 'surface'
> > > > > > > ERROR :
> > > > > > >
> > > > > > > So, it's not seeing that the level is "surface" in the
grib2
> > file.
> > > > I'm
> > > > > > not
> > > > > > > sure how to properly set "level" to get these files to
match
> up.
> > > > > > >
> > > > > > > Thanks in advance!
> > > > > > >
> > > > > > > Roz
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Rosalyn MacCracken
> > > > > > > Support Scientist
> > > > > > >
> > > > > > > Ocean Applilcations Branch
> > > > > > > NOAA/NWS Ocean Prediction Center
> > > > > > > NCWCP
> > > > > > > 5830 University Research Ct
> > > > > > > College Park, MD 20740-3818
> > > > > > >
> > > > > > > (p) 301-683-1551
> > > > > > > rosalyn.maccracken at noaa.gov
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Rosalyn MacCracken
> > > > > Support Scientist
> > > > >
> > > > > Ocean Applilcations Branch
> > > > > NOAA/NWS Ocean Prediction Center
> > > > > NCWCP
> > > > > 5830 University Research Ct
> > > > > College Park, MD 20740-3818
> > > > >
> > > > > (p) 301-683-1551
> > > > > rosalyn.maccracken at noaa.gov
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> > > --
> > > Rosalyn MacCracken
> > > Support Scientist
> > >
> > > Ocean Applilcations Branch
> > > NOAA/NWS Ocean Prediction Center
> > > NCWCP
> > > 5830 University Research Ct
> > > College Park, MD 20740-3818
> > >
> > > (p) 301-683-1551
> > > rosalyn.maccracken at noaa.gov
> > >
> > >
> >
> >
>
>
> --
> Rosalyn MacCracken
> Support Scientist
>
> Ocean Applilcations Branch
> NOAA/NWS Ocean Prediction Center
> NCWCP
> 5830 University Research Ct
> College Park, MD 20740-3818
>
> (p) 301-683-1551
> rosalyn.maccracken at noaa.gov
>
>
------------------------------------------------
Subject: Help using Point_Stat with a grib2 subset file
From: Rosalyn MacCracken - NOAA Affiliate
Time: Fri Aug 25 11:08:37 2017
Yeah, I just used plot_point_obs to make *ps files from my ASCAT *.nc
files. Unfortunately, I didn't pass in the grib flle, so, I don't
have
lat/lon lines. But, I should be able to figure out where they
overlap.
I could just process all hours of the day, as you suggested, and just
not
worry that I'm not getting matches. I may do that, if it's too hard
to
figure out by eye where they overlap.
Anyway, thanks for all the suggestions and help!
Roz
On Fri, Aug 25, 2017 at 1:02 PM, John Halley Gotway via RT <
met_help at ucar.edu> wrote:
> Roz,
>
> Ah yes, good point. You'd like to know when the ASCAT observations
fall
> within your domain of interest. Of course, there would be no harm
in just
> calling Point-Stat for each time, realizing that many times you'll
get 0
> matched pairs. But you can set up your system however you'd like.
>
> I can think of any other options in MET that would make this logic
easier.
> You probably just want to look at the min/max lat/lon of your
observations
> and see if they overlap with the min/max lat/lon of your domain.
>
> But the plot_point_obs tool does have an option the might help. The
> plot_point_obs tool read the NetCDF output of the PB2NC, ASCII2NC,
and
> MADIS2NC tools. And then it draws a dot on a postscript plot at
each point
> where you have an observation. By default, it plots the dots on a
global
> lat/lon grid, but you can use the "-data_file" command line option
to pass
> in one of your GRIB files. Then it'll plot the dots on your model
domain.
> At verbosity level 2, it prints to the screen the number of points
that are
> on/off your grid... like this:
>
> DEBUG 2: Retrieving grid from file:
> /var/autofs/mnt/dakota_d3/projects/MET/MET_test_data/
> unit_test/model_data/grib1/arw-fer-gep1/arw-fer-
gep1_2012040912_F012.grib
> DEBUG 1: Opening netCDF file:
> /d1/johnhg/MET/MET_development/MET_test_out/pb2nc/
> ndas.20120409.t12z.prepbufr.tm00.nc
> DEBUG 2: Processing 75771 observations at 8442 locations.
> DEBUG 2: Observation GRIB codes: ALL
> DEBUG 2: Observation message types: ALL
> DEBUG 1: Creating postscript file:
> /d1/johnhg/MET/MET_development/MET_test_out/plot_point_obs/
> ndas.20120409.t12z.prepbufr.tm00.nr_G218.ps
> DEBUG 2: Finished plotting 576 locations.
> DEBUG 2: Skipped 7866 locations off the grid.
>
> Thanks,
> John
>
> On Fri, Aug 25, 2017 at 10:49 AM, Rosalyn MacCracken - NOAA
Affiliate via
> RT <met_help at ucar.edu> wrote:
>
> >
> > <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=81747 >
> >
> > Hi John,
> >
> > Thanks for the info. For my GFS processing, the forecast files
are
> broken
> > apart by lead time, so, I do process those files individually the
way you
> > mention above. The challenge came in when I added the forecast
grids to
> my
> > processing. All the forecast lead times are put in to one file.
I was
> > hoping to avoid writing an additional step to break that file
apart.
> But,
> > as it turns out, I think the challenge comes in to actually match
up the
> > location of ASCAT with the forecast grids. There isn't many times
during
> > 24 hours when the satallite records data over the locations of the
> forecast
> > grids. So, I'm going to have to sort that out first, before
moving on.
> > But, you know, then it might become obvious on how to proceed with
this.
> >
> > Roz
> >
> > On Fri, Aug 25, 2017 at 11:59 AM, John Halley Gotway via RT <
> > met_help at ucar.edu> wrote:
> >
> > > Roz,
> > >
> > > The MET tools are almost always run once for each point in time.
> > > Technically, when running Grid-Stat you could configure it to
process
> > > multiple times in a single call by specifying separate timing
info for
> > each
> > > field being evaluated.
> > >
> > > While you could set up the config file the same way for Point-
Stat, the
> > > logic for time won't work well. Point-Stat defines the matching
> > > observation time window only once. That time window is either
set on
> the
> > > command line (using -obs_valid_beg and -obs_valid_end) or using
the
> > > "obs_window" setting from the config file. When processing
multiple
> lead
> > > times from the same file, you'd only want to use point
observations
> that
> > > are +/- 30 minutes or +/- 1 hour or something around the
forecast valid
> > > time. But currently, that time window is set only once... and
doesn't
> > > change when the forecast valid times change.
> > >
> > > I can see how the logic could be adjusted to do what I
describe... and
> > > that'd probably be a good enhancement. If doing that, we should
> probably
> > > make other tweaks to the logic to make this whole thing easier.
> > >
> > > With the current state of the tools, I'd recommend using a
script to
> loop
> > > over the times in your file and call Point-Stat once for each
time.
> Then
> > > reference the timing info in the config file (e.g. lead_time =
"12";)
> to
> > > make sure you're processing the data you intend.
> > >
> > > John
> > >
> > >
> > > On Fri, Aug 25, 2017 at 9:01 AM, Rosalyn MacCracken - NOAA
Affiliate
> via
> > RT
> > > <met_help at ucar.edu> wrote:
> > >
> > > >
> > > > <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=81747
>
> > > >
> > > > Hi John,
> > > >
> > > > I think I got it to work. I used a time range in the
point_stat
> > > statement:
> > > > -obs_valid_beg 20170824_120000 -obs_valid_end 20170824_135959
> > > > and then tried a different forecast grid (Guam), which I
thought
> would
> > > have
> > > > more pairs of data with the ASCAT. I originally tried the
CONUS
> file,
> > > so,
> > > > maybe there wasn't anything that matches up at that point.
> > > >
> > > > So, I tried Guam, and I got this output:
> > > > DEBUG 2: Processing WIND/Z0 versus WIND/P1013, for observation
type
> > > ASCATW,
> > > > over region FULL, for interpolation method NEAREST(4), using
127
> pairs.
> > > > DEBUG 3: Number of matched pairs = 127
> > > > DEBUG 3: Observations processed = 296952
> > > > DEBUG 3: Rejected: SID exclusion = 0
> > > > DEBUG 3: Rejected: GRIB code = 197968
> > > > DEBUG 3: Rejected: valid time = 52634
> > > > DEBUG 3: Rejected: bad obs value = 0
> > > > DEBUG 3: Rejected: off the grid = 46223
> > > >
> > > > First, it did match up the correct forecast lead time. I have
many
> > > > forecast lead times that I'm interested in, so, I wasn't sure
if I
> > could
> > > > put multiple lead times in the config file. Is that possible?
> > > >
> > > > So, can the two files that are being compared be on different
> > > projections?
> > > > Or, do they need to be on the same projection?
> > > >
> > > > Roz
> > > >
> > > > On Thu, Aug 24, 2017 at 5:11 PM, John Halley Gotway via RT <
> > > > met_help at ucar.edu> wrote:
> > > >
> > > > > Roz,
> > > > >
> > > > > First, please rerun Point-Stat using verbosity level 4 (-v
4).
> > That'll
> > > > > dump out a list of reason *why* the observations were
rejected.
> > > > >
> > > > > And I'm concerned about the following warning message:
> > > > >
> > > > > WARNING: MetGrib2DataFile::data_plane_array() - Multiple
exact
> > > matching
> > > > > records found for "WIND/Z0" - records 1, 2, 3, 4, 5, 6, 7,
8, 9,
> 10,
> > > 11,
> > > > > 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28,
> > 29,
> > > > 30,
> > > > > 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
> > > > >
> > > > > Your file contains multiple output times in it. I'm
guessing that
> > you
> > > > have
> > > > > told Point-Stat which *one* you want to evaluate. Point-
Stat is
> > > designed
> > > > > to be run once per output time.
> > > > >
> > > > > In the config file, you can specify "lead_time" or
"valid_time" to
> > > > > explicitly tell Point-Stat which field you want to use.
> > > > >
> > > > > For example:
> > > > > name = "WIND"; level = "Z0"; lead_time = "12";
> > > > >
> > > > > That'll tell it to evaluate the 12 hour lead time.
> > > > >
> > > > > John
> > > > >
> > > > >
> > > > > On Thu, Aug 24, 2017 at 2:37 PM, Rosalyn MacCracken - NOAA
> Affiliate
> > > via
> > > > RT
> > > > > <met_help at ucar.edu> wrote:
> > > > >
> > > > > >
> > > > > > <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=81747 >
> > > > > >
> > > > > > Hi John,
> > > > > >
> > > > > > So, switching it to "Z0" worked, but, it didn't work
because it
> > > > couldn't
> > > > > > find any matches. I wonder if the grid isn't the same,
because I
> > > tried
> > > > > to
> > > > > > use the masks that I created and I got this error:
> > > > > > DEBUG 2: Processing masking regions.
> > > > > > ERROR :
> > > > > > ERROR : parse_poly_mask() -> The masking and verification
grids
> do
> > > not
> > > > > > match:
> > > > > > ERROR : Projection: Lat/Lon Nx: 1440 Ny: 721 lat_ll:
-90.000
> > lon_ll:
> > > > > > -0.000 delta_lat: 0.250 delta_lon: 0.250 !=
> > > > > > ERROR : Projection: Lambert Conformal Nx: 2145 Ny: 1377
Lat_LL:
> > > 20.192
> > > > > > Lon_LL: 121.554 Lon_orient: 95.000 Alpha: 6509.082 Cone:
0.423
> Bx:
> > > > > > 1088.0030 By: 5483.6617
> > > > > > ERROR :
> > > > > >
> > > > > >
> > > > > > So, I did a wgrib -V, and got this output:
> > > > > > wgrib2 -V -d 1 ds.wspd.2017082411.conus1to3.bin
> > > > > > 1:80:vt=2017082412:surface:30 min fcst:WIND Wind Speed
[m/s]:
> > > > > > ndata=2953665:undef=660550:mean=3.86426:min=0:max=22.1
> > > > > > grid_template=30:winds(N/S):
> > > > > > Lambert Conformal: (2145 x 1377) input WE|EW:SN output
WE:SN
> > res
> > > 0
> > > > > > Lat1 20.191999 Lon1 238.445999 LoV 265.000000
> > > > > > LatD 25.000000 Latin1 25.000000 Latin2 25.000000
> > > > > > LatSP -90.000000 LonSP 0.000000
> > > > > > North Pole (2145 x 1377) Dx 2539.703000 m Dy
2539.703000 m
> > mode 0
> > > > > >
> > > > > >
> > > > > > Then, I removed the masks, and ran it again, and got this
output
> > that
> > > > > made
> > > > > > me think that the grids aren't the same (ASCAT point data
vs.
> > > forecast
> > > > > > grids):
> > > > > > DEBUG 1: Forecast File:
> > > > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > > > > test_input/ds.wspd.2017082411.conus1to3.bin
> > > > > > DEBUG 1: Observation File:
> > > > > > /opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> test_input/
> > > > > > uv_wind_pb_2017082012_12.nc
> > > > > > DEBUG 2:
> > > > > > DEBUG 2:
> > > > > >
------------------------------------------------------------
> > > > > > --------------------
> > > > > > DEBUG 2:
> > > > > > DEBUG 2: Reading data for WIND/Z0.
> > > > > > WARNING:
> > > > > > WARNING: MetGrib2DataFile::data_plane_array() - Multiple
exact
> > > > matching
> > > > > > records found for "WIND/Z0" - records 1, 2, 3, 4, 5, 6, 7,
8, 9,
> > 10,
> > > > 11,
> > > > > > 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27,
> 28,
> > > 29,
> > > > > 30,
> > > > > > 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
> > > > > > WARNING:
> > > > > > DEBUG 2: Processing masking regions.
> > > > > > DEBUG 2: For WIND/Z0 found 1 forecast levels and 0
climatology
> > > levels.
> > > > > > DEBUG 2:
> > > > > > DEBUG 2:
> > > > > >
------------------------------------------------------------
> > > > > > --------------------
> > > > > > DEBUG 2:
> > > > > > DEBUG 2: Searching 232131 observations from 77377
messages.
> > > > > > DEBUG 2:
> > > > > > DEBUG 2:
> > > > > >
------------------------------------------------------------
> > > > > > --------------------
> > > > > > DEBUG 2:
> > > > > > DEBUG 2: Processing WIND/Z0 versus WIND/P1013, for
observation
> type
> > > > > ASCATW,
> > > > > > over region FULL, for interpolation method NEAREST(4),
using 0
> > pairs.
> > > > > > DEBUG 2:
> > > > > > DEBUG 2:
> > > > > >
------------------------------------------------------------
> > > > > > --------------------
> > > > > > DEBUG 2:
> > > > > >
> > > > > >
> > > > > > Any ideas of how to fix this? Do I increase my search
radius?
> Is
> > > that
> > > > > > these lines in the config file?:
> > > > > > // Interpolation methods
> > > > > > //
> > > > > > interp = {
> > > > > > vld_thresh = 1.0;
> > > > > >
> > > > > > type = [
> > > > > > {
> > > > > > method = NEAREST;
> > > > > > width = 2;
> > > > > > }
> > > > > > ];
> > > > > >
> > > > > > Thanks in advance!
> > > > > >
> > > > > > Roz
> > > > > >
> > > > > > On Thu, Aug 24, 2017 at 4:11 PM, John Halley Gotway via RT
<
> > > > > > met_help at ucar.edu> wrote:
> > > > > >
> > > > > > > Roz,
> > > > > > >
> > > > > > > Please try using "Z0" instead of the string "surface".
Listed
> > > below
> > > > is
> > > > > > an
> > > > > > > excerpt from the met-6.0/datat/config/README file which
is also
> > > > > included
> > > > > > in
> > > > > > > the MET Users Guide:
> > > > > > >
> > > > > > > // - The "level" entry specifies a level type and
value:
> > > > > > > // - ANNN for accumulation interval NNN
> > > > > > > // - ZNNN for vertical level NNN
> > > > > > > // - ZNNN-NNN for a range of vertical levels
> > > > > > > // - PNNN for pressure level NNN in hPa
> > > > > > > // - PNNN-NNN for a range of pressure levels in
hPa
> > > > > > > // - LNNN for a generic level type
> > > > > > > // - RNNN for a specific GRIB record number
> > > > > > >
> > > > > > > Using "Z0" should work for surface.
> > > > > > >
> > > > > > > Thanks,
> > > > > > > John
> > > > > > >
> > > > > > > On Thu, Aug 24, 2017 at 1:48 PM, Rosalyn MacCracken -
NOAA
> > > Affiliate
> > > > > via
> > > > > > RT
> > > > > > > <met_help at ucar.edu> wrote:
> > > > > > >
> > > > > > > >
> > > > > > > > Thu Aug 24 13:48:42 2017: Request 81747 was acted
upon.
> > > > > > > > Transaction: Ticket created by
rosalyn.maccracken at noaa.gov
> > > > > > > > Queue: met_help
> > > > > > > > Subject: Help using Point_Stat with a grib2
subset file
> > > > > > > > Owner: Nobody
> > > > > > > > Requestors: rosalyn.maccracken at noaa.gov
> > > > > > > > Status: new
> > > > > > > > Ticket <URL: https://rt.rap.ucar.edu/rt/
> > > > > Ticket/Display.html?id=81747
> > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Hi,
> > > > > > > >
> > > > > > > > I have a grib2 file, which contains a single variable,
at a
> > > single
> > > > > > level,
> > > > > > > > with multiple forecast times. It looks something like
this:
> > > > > > > >
> > > > > > > > 1:80:d=2017082411:WIND:surface:30 min fcst:
> > > > > > > > 2:1135674:d=2017082411:WIND:surface:90 min fcst:
> > > > > > > > 3:2263712:d=2017082411:WIND:surface:150 min fcst:
> > > > > > > > 4:3386176:d=2017082411:WIND:surface:210 min fcst:
> > > > > > > > 5:4489796:d=2017082411:WIND:surface:270 min fcst:
> > > > > > > > 6:5601068:d=2017082411:WIND:surface:330 min fcst:
> > > > > > > > ...
> > > > > > > > 43:46687965:d=2017082411:WIND:surface:3270 min fcst:
> > > > > > > > 44:47756611:d=2017082411:WIND:surface:3450 min fcst:
> > > > > > > > 45:48834960:d=2017082411:WIND:surface:3630 min fcst:
> > > > > > > >
> > > > > > > > or, like this:
> > > > > > > > 1:80:d=2017082412:WIND:surface:66 hour fcst:
> > > > > > > > 2:1111020:d=2017082412:WIND:surface:72 hour fcst:
> > > > > > > > 3:2207967:d=2017082412:WIND:surface:78 hour fcst:
> > > > > > > > 4:3277465:d=2017082412:WIND:surface:84 hour fcst:
> > > > > > > > ...
> > > > > > > > 15:15078235:d=2017082412:WIND:surface:150 hour fcst:
> > > > > > > > 16:15923792:d=2017082412:WIND:surface:156 hour fcst:
> > > > > > > >
> > > > > > > > In my initial processing, I create a netCDF file from
a
> > prepbufr
> > > > > file,
> > > > > > > > where I pull out data from 11z to 12:59:59z (for this
> example).
> > > > The
> > > > > > > > command I used to create this is:
> > > > > > > > /opt/MET6/met6.0/bin/pb2nc
> > > > > > > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > test_input/
> > > > > > > > gfs.t12z.prepbufr.nr
> > > > > > > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > test_input/
> > > > > > > > uv_wind_pb_2017082012_12.nc
> > > > > > > > /opc_test/home/opc_test/all_opc/tables/met_verif/
> > > > PB2NCConfig_working
> > > > > > > > -valid_beg 20170824_110000 -valid_end 20170824_125959
-v 2
> > > > > > > >
> > > > > > > > So, then, I tried using this *.nc file with my grib2
file
> > > > > > (ds.wspd.bin),
> > > > > > > > using this command:
> > > > > > > > /opt/MET6/met6.0/bin/point_stat
> > > > > > > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > > > > > > test_input/ds.wspd.2017082411.conus1to3.bin
> > > > > > > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > test_input/
> > > > > > > > uv_wind_pb_2017082012_11.nc
> > > > > > > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > > > > > > test_input/PointStatConfig_FCST_GRID_mask
> > > > > > > > -obs_valid_beg 20170824_110000 -obs_valid_end
20170824_125959
> > > > -outdir
> > > > > > > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > test_input/
> > > > > -v
> > > > > > 2
> > > > > > > >
> > > > > > > > Where I've set the levels in my config file like this:
> > > > > > > > // Forecast and observation fields to be verified
> > > > > > > > //
> > > > > > > > fcst = {
> > > > > > > > field = [
> > > > > > > > {
> > > > > > > > name = "WIND";
> > > > > > > > level = "surface" ;
> > > > > > > > cat_thresh = [ >=0.0, >=1.0, >=5.0, >=17.0,
>=24.0,
> > >=33.0
> > > > ];
> > > > > > > > cat_thresh = [ >=0.0, >=8.0, >=17.0, >=28.0,
>=34.0,
> > > >=48.0,
> > > > > > > >=64.0
> > > > > > > > ];
> > > > > > > > }
> > > > > > > > ];
> > > > > > > >
> > > > > > > > }
> > > > > > > >
> > > > > > > > obs = {
> > > > > > > > field = [
> > > > > > > > {
> > > > > > > > message_type = [ "ASCATW"];
> > > > > > > > name = "WIND";
> > > > > > > > level = [ "P1013" ];
> > > > > > > > cat_thresh = [ >=0.0, >=8.0, >=17.0,
>=28.0,
> > >=34.0,
> > > > > > >=48.0,
> > > > > > > > >=64.0 ];
> > > > > > > > }
> > > > > > > > ];
> > > > > > > >
> > > > > > > > But, I get the error:
> > > > > > > > DEBUG 1: Default Config File:
> > > > > > > >
/opt/MET6/met6.0/share/met/config/PointStatConfig_default
> > > > > > > > DEBUG 1: User Config File:
> > > > > > > >
/opc_test/home/opc_test/data/met_verif/FCST_grids/data/
> > > > > > > > test_input/PointStatConfig_FCST_GRID_mask
> > > > > > > > ERROR :
> > > > > > > > ERROR : VarInfo::set_level_info_grib() - failed to
parse
> level
> > > > > string
> > > > > > > > 'surface'
> > > > > > > > ERROR :
> > > > > > > >
> > > > > > > > So, it's not seeing that the level is "surface" in the
grib2
> > > file.
> > > > > I'm
> > > > > > > not
> > > > > > > > sure how to properly set "level" to get these files to
match
> > up.
> > > > > > > >
> > > > > > > > Thanks in advance!
> > > > > > > >
> > > > > > > > Roz
> > > > > > > >
> > > > > > > >
> > > > > > > > --
> > > > > > > > Rosalyn MacCracken
> > > > > > > > Support Scientist
> > > > > > > >
> > > > > > > > Ocean Applilcations Branch
> > > > > > > > NOAA/NWS Ocean Prediction Center
> > > > > > > > NCWCP
> > > > > > > > 5830 University Research Ct
> > > > > > > > College Park, MD 20740-3818
> > > > > > > >
> > > > > > > > (p) 301-683-1551
> > > > > > > > rosalyn.maccracken at noaa.gov
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Rosalyn MacCracken
> > > > > > Support Scientist
> > > > > >
> > > > > > Ocean Applilcations Branch
> > > > > > NOAA/NWS Ocean Prediction Center
> > > > > > NCWCP
> > > > > > 5830 University Research Ct
> > > > > > College Park, MD 20740-3818
> > > > > >
> > > > > > (p) 301-683-1551
> > > > > > rosalyn.maccracken at noaa.gov
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > Rosalyn MacCracken
> > > > Support Scientist
> > > >
> > > > Ocean Applilcations Branch
> > > > NOAA/NWS Ocean Prediction Center
> > > > NCWCP
> > > > 5830 University Research Ct
> > > > College Park, MD 20740-3818
> > > >
> > > > (p) 301-683-1551
> > > > rosalyn.maccracken at noaa.gov
> > > >
> > > >
> > >
> > >
> >
> >
> > --
> > Rosalyn MacCracken
> > Support Scientist
> >
> > Ocean Applilcations Branch
> > NOAA/NWS Ocean Prediction Center
> > NCWCP
> > 5830 University Research Ct
> > College Park, MD 20740-3818
> >
> > (p) 301-683-1551
> > rosalyn.maccracken at noaa.gov
> >
> >
>
>
--
Rosalyn MacCracken
Support Scientist
Ocean Applilcations Branch
NOAA/NWS Ocean Prediction Center
NCWCP
5830 University Research Ct
College Park, MD 20740-3818
(p) 301-683-1551
rosalyn.maccracken at noaa.gov
------------------------------------------------
More information about the Met_help
mailing list