[Met_help] [rt.rap.ucar.edu #96002] History for revisiting gen_vx_mask

John Halley Gotway via RT met_help at ucar.edu
Fri Jul 24 13:20:10 MDT 2020


----------------------------------------------------------------
  Initial Request
----------------------------------------------------------------

A little while ago I was told that I could use the land mask to group data
based on surface type.  I see that this step would have to be done for
PointStat.  Nothing is specified in my point_stat_cam.conf file that is
directly related masking regions.  However, there is a block of content in
my PointStatConfig_cam where it would look like I could specify this.

Here's what it currently looks like:
// Verification masking regions
//
mask = {
//   grid    = [ "G236", "G245", "G246" ];
   poly    = [ "MET_BASE/poly/CONUS.poly",
"MET_BASE/poly/NEC.poly","MET_BASE/poly/SEC.poly",
"MET_BASE/poly/NWC.poly", "MET_BASE/poly/SWC.poly",
"MET_BASE/poly/NMT.poly", "MET_BASE/poly/SMT.poly",
"MET_BASE/poly/GRB.poly", "MET_BASE/poly/SWD.poly",
"MET_BASE/poly/NPL.poly", "MET_BASE/poly/SPL.poly",
"MET_BASE/poly/MDW.poly", "MET_BASE/poly/MDW.poly",
"MET_BASE/poly/LMV.poly", "MET_BASE/poly/GMC.poly",
"MET_BASE/poly/APL.poly"  ];
   grid = ${POINT_STAT_GRID};
//   poly = ${POINT_STAT_POLY};
   sid     = [];
}

It would seem to me that I would need to add additional content that would
utilize the land mask rather than the regions you see above.  There are
several grids and then poly = {...

Is there an example where this is being done with land surface type instead
of specific regions as above.  There aren't any examples in the userguide,
and it's a bit hard to wrap my head around how to start this.  An example
would be really helpful.  If I set it up correctly, then I should be able
to adjust my plotting batch script as well.  Right now it looks something
like this:

            <field equalize="false" name="vx_mask">
                <set name="vx_mask_2">
                    <val>%GGG%</val>
                </set>
            </field>

I guess I would use a set name="gen_vx_mask_2" in replace of what's there
and substitute the land surface value (0, 1, etc.) that I'm interested in
grouping.


-- 
Edward Strobach
EMC/NCEP/NWS/
IMSG Contractor
Cubicle#: 2029
301-683-3717


----------------------------------------------------------------
  Complete Ticket History
----------------------------------------------------------------

Subject: revisiting gen_vx_mask
From: Minna Win
Time: Thu Jul 23 14:06:17 2020

Hello Edward,

Based on your statements, it looks like you need more specific
examples
illustrating how to specify masking by land.  John Halley Gotway might
be
the best person to assist you with your question.  Please allow a few
business days for a full response.

Regards,
Minna
---------------
Minna Win
National Center for Atmospheric Research
Developmental Testbed Center
Phone: 303-497-8423
Fax:   303-497-8401



On Thu, Jul 23, 2020 at 1:36 PM Edward Strobach - NOAA Affiliate via
RT <
met_help at ucar.edu> wrote:

>
> Thu Jul 23 13:35:36 2020: Request 96002 was acted upon.
> Transaction: Ticket created by edward.strobach at noaa.gov
>        Queue: met_help
>      Subject: revisiting gen_vx_mask
>        Owner: Nobody
>   Requestors: edward.strobach at noaa.gov
>       Status: new
>  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=96002 >
>
>
> A little while ago I was told that I could use the land mask to
group data
> based on surface type.  I see that this step would have to be done
for
> PointStat.  Nothing is specified in my point_stat_cam.conf file that
is
> directly related masking regions.  However, there is a block of
content in
> my PointStatConfig_cam where it would look like I could specify
this.
>
> Here's what it currently looks like:
> // Verification masking regions
> //
> mask = {
> //   grid    = [ "G236", "G245", "G246" ];
>    poly    = [ "MET_BASE/poly/CONUS.poly",
> "MET_BASE/poly/NEC.poly","MET_BASE/poly/SEC.poly",
> "MET_BASE/poly/NWC.poly", "MET_BASE/poly/SWC.poly",
> "MET_BASE/poly/NMT.poly", "MET_BASE/poly/SMT.poly",
> "MET_BASE/poly/GRB.poly", "MET_BASE/poly/SWD.poly",
> "MET_BASE/poly/NPL.poly", "MET_BASE/poly/SPL.poly",
> "MET_BASE/poly/MDW.poly", "MET_BASE/poly/MDW.poly",
> "MET_BASE/poly/LMV.poly", "MET_BASE/poly/GMC.poly",
> "MET_BASE/poly/APL.poly"  ];
>    grid = ${POINT_STAT_GRID};
> //   poly = ${POINT_STAT_POLY};
>    sid     = [];
> }
>
> It would seem to me that I would need to add additional content that
would
> utilize the land mask rather than the regions you see above.  There
are
> several grids and then poly = {...
>
> Is there an example where this is being done with land surface type
instead
> of specific regions as above.  There aren't any examples in the
userguide,
> and it's a bit hard to wrap my head around how to start this.  An
example
> would be really helpful.  If I set it up correctly, then I should be
able
> to adjust my plotting batch script as well.  Right now it looks
something
> like this:
>
>             <field equalize="false" name="vx_mask">
>                 <set name="vx_mask_2">
>                     <val>%GGG%</val>
>                 </set>
>             </field>
>
> I guess I would use a set name="gen_vx_mask_2" in replace of what's
there
> and substitute the land surface value (0, 1, etc.) that I'm
interested in
> grouping.
>
>
> --
> Edward Strobach
> EMC/NCEP/NWS/
> IMSG Contractor
> Cubicle#: 2029
> 301-683-3717
>
>

------------------------------------------------
Subject: revisiting gen_vx_mask
From: John Halley Gotway
Time: Thu Jul 23 14:24:55 2020

Ed,

I see you have a question about using a land/sea mask in Point-Stat.
Now,
I'm not sure exactly what you're asking, but I suspect it's one of two
possible things.

(1) You currently have Point-Stat configured to compute stats over 16+
masking regions. Do you just want to add 1 more to that list... namely
for
only LAND points?

(2) Or are you asking about using the relatively new option to only
verify
"land" obs message types using land grid points and "water" obs
message
types using water grid points?

 For (1), it's basically a simple example of what we call "data"
masking.
There is one example of data masking shown at the bottom of this page:
https://dtcenter.org/met-online-tutorial-metv8-0/grid-processing-
tools/gen-vx-mask/output
Let's say you have a GRIB file named "fcst.grb" that contains a record
named "LAND" which is a land/sea mask. You just run:
gen_vx_mask fcst.grb fcst.grb land_mask.nc -type data -mask_field
'name="LAND"; level="Z0";' -thresh eq1
And then you'd add land_mask.nc to the list of "poly" entries in the
Point-Stat config file.

John


On Thu, Jul 23, 2020 at 2:08 PM Minna Win via RT <met_help at ucar.edu>
wrote:

>
> Thu Jul 23 14:08:13 2020: Request 96002 was acted upon.
> Transaction: Given to johnhg (John Halley Gotway) by minnawin
>        Queue: met_help
>      Subject: revisiting gen_vx_mask
>        Owner: johnhg
>   Requestors: edward.strobach at noaa.gov
>       Status: open
>  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=96002 >
>
>
> This transaction appears to have no content
>

------------------------------------------------
Subject: revisiting gen_vx_mask
From: Edward Strobach - NOAA Affiliate
Time: Thu Jul 23 15:03:07 2020

Yes, I plan to tackle the first point.  Thanks for the example

On Thu, Jul 23, 2020 at 4:25 PM John Halley Gotway via RT
<met_help at ucar.edu>
wrote:

> Ed,
>
> I see you have a question about using a land/sea mask in Point-Stat.
Now,
> I'm not sure exactly what you're asking, but I suspect it's one of
two
> possible things.
>
> (1) You currently have Point-Stat configured to compute stats over
16+
> masking regions. Do you just want to add 1 more to that list...
namely for
> only LAND points?
>
> (2) Or are you asking about using the relatively new option to only
verify
> "land" obs message types using land grid points and "water" obs
message
> types using water grid points?
>
>  For (1), it's basically a simple example of what we call "data"
masking.
> There is one example of data masking shown at the bottom of this
page:
>
> https://dtcenter.org/met-online-tutorial-metv8-0/grid-processing-
tools/gen-vx-mask/output
> Let's say you have a GRIB file named "fcst.grb" that contains a
record
> named "LAND" which is a land/sea mask. You just run:
> gen_vx_mask fcst.grb fcst.grb land_mask.nc -type data -mask_field
> 'name="LAND"; level="Z0";' -thresh eq1
> And then you'd add land_mask.nc to the list of "poly" entries in the
> Point-Stat config file.
>
> John
>
>
> On Thu, Jul 23, 2020 at 2:08 PM Minna Win via RT <met_help at ucar.edu>
> wrote:
>
> >
> > Thu Jul 23 14:08:13 2020: Request 96002 was acted upon.
> > Transaction: Given to johnhg (John Halley Gotway) by minnawin
> >        Queue: met_help
> >      Subject: revisiting gen_vx_mask
> >        Owner: johnhg
> >   Requestors: edward.strobach at noaa.gov
> >       Status: open
> >  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=96002 >
> >
> >
> > This transaction appears to have no content
> >
>
>

--
Edward Strobach
EMC/NCEP/NWS/
IMSG Contractor
Cubicle#: 2029
301-683-3717

------------------------------------------------
Subject: revisiting gen_vx_mask
From: Edward Strobach - NOAA Affiliate
Time: Thu Jul 23 15:44:01 2020

I think I understand how this is done now...I think.  I'm going to
walk
through my impressions based on what I read and use an example you
provided
a while back.

1) As long as met is loaded the gen_vx_mask can be used at the command
line
or in a bash type script.

2) gen_vx_mask can be summoned in two ways:
 i.  on the command line:
gen_vx_mask wrfprs_ruc_24.tm00 freezing_TMP_Z2.nc -type
data -mask_field 'name="SURFACE_TYPE"; level="Z0";' -thresh
==4||==5||==8
-name STYPE_4_5_8
ii.  inside point stat config file
mask = { poly = ["nam_2012040900_F012.grib2
{name=\"TMP\";level=\"Z2\";}
le273"; ]; }

The examples you provided are supposed to be the same...I guess? The
files
between the two examples are not the same and theshes are not included
in
the second example.  If I'm reading this right, the first example
takes the
*.tm00 file and takes 2-meter temperature over a specific type of
surface
with flags 4, 5, and 8.  The second example seems to group 2-m
temperature
for temperature freezing and below.


This example seems a bit more relevant to me:








*gen_vx_mask \ -type data -intersection \
$MET_TUTORIAL_DATA/output/gen_vx_mask/CONUS_G212_poly.nc \
-input_field
'name="CONUS"; level="(*,*)";' \
$MET_TUTORIAL_DATA/input/sample_fcst/2005080700/wrfprs_ruc13_12.tm00_G212
\
-mask_field 'name="PRES"; level="Z0";' -thresh 'le85000' \
$MET_TUTORIAL_DATA/output/gen_vx_mask/sfcpres_850_and_conus_mask.nc
<http://sfcpres_850_and_conus_mask.nc> *

This example seems to create a subset of the data from
wrfprs_ruc13_12.tm00_G212 for all fields where surface pressure is
850-mb
or less, and stores them in sfcpres_850_and_conus_mask.nc.  Is that
what is
being done here?  If so, then my mask field would be "LAND"; and I can
choose which thresholds I want (i.e. "-thresh 'e1'\; or threshold = 1)

If I want to group data when the land flag equals 1, then I think what
I
would need to do is this:
mask = { poly = ["A_Grib_File.tm00 {name=\"LAND\";level=\"Z0\";} e1";
]; }

It's not clear to me, but perhaps outside of the pointstat configure
file I
would have to name my stat files in such a way that the stat files
include
*LAND_1* inside the naming convention.

On Thu, Jul 23, 2020 at 5:02 PM Edward Strobach - NOAA Affiliate <
edward.strobach at noaa.gov> wrote:

> Yes, I plan to tackle the first point.  Thanks for the example
>
> On Thu, Jul 23, 2020 at 4:25 PM John Halley Gotway via RT <
> met_help at ucar.edu> wrote:
>
>> Ed,
>>
>> I see you have a question about using a land/sea mask in Point-
Stat. Now,
>> I'm not sure exactly what you're asking, but I suspect it's one of
two
>> possible things.
>>
>> (1) You currently have Point-Stat configured to compute stats over
16+
>> masking regions. Do you just want to add 1 more to that list...
namely for
>> only LAND points?
>>
>> (2) Or are you asking about using the relatively new option to only
verify
>> "land" obs message types using land grid points and "water" obs
message
>> types using water grid points?
>>
>>  For (1), it's basically a simple example of what we call "data"
masking.
>> There is one example of data masking shown at the bottom of this
page:
>>
>> https://dtcenter.org/met-online-tutorial-metv8-0/grid-processing-
tools/gen-vx-mask/output
>> Let's say you have a GRIB file named "fcst.grb" that contains a
record
>> named "LAND" which is a land/sea mask. You just run:
>> gen_vx_mask fcst.grb fcst.grb land_mask.nc -type data -mask_field
>> 'name="LAND"; level="Z0";' -thresh eq1
>> And then you'd add land_mask.nc to the list of "poly" entries in
the
>> Point-Stat config file.
>>
>> John
>>
>>
>> On Thu, Jul 23, 2020 at 2:08 PM Minna Win via RT
<met_help at ucar.edu>
>> wrote:
>>
>> >
>> > Thu Jul 23 14:08:13 2020: Request 96002 was acted upon.
>> > Transaction: Given to johnhg (John Halley Gotway) by minnawin
>> >        Queue: met_help
>> >      Subject: revisiting gen_vx_mask
>> >        Owner: johnhg
>> >   Requestors: edward.strobach at noaa.gov
>> >       Status: open
>> >  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=96002 >
>> >
>> >
>> > This transaction appears to have no content
>> >
>>
>>
>
> --
> Edward Strobach
> EMC/NCEP/NWS/
> IMSG Contractor
> Cubicle#: 2029
> 301-683-3717
>


--
Edward Strobach
EMC/NCEP/NWS/
IMSG Contractor
Cubicle#: 2029
301-683-3717

------------------------------------------------
Subject: revisiting gen_vx_mask
From: John Halley Gotway
Time: Thu Jul 23 16:48:36 2020

Ed,

To keep this simple, I would recommend running gen_vx_mask manually on
the
command line for your domain of interest. Run it to define the LAND
mask.

gen_vx_mask wrfprs_ruc13_12.tm00_G212 wrfprs_ruc13_12.tm00_G212
land_mask.nc
-type data -mask_field 'name="LAND"; level="Z0";' -thresh eq1

And then in the point_stat config file, literally just list the path
that
file named land_mask.nc.
poly = ["path/to/land_mask.nc"];

Of course, replace wrfprs_ruc13_12.tm00_G212 with a file that's on
your
domain of interest.

John

On Thu, Jul 23, 2020 at 3:46 PM Edward Strobach - NOAA Affiliate via
RT <
met_help at ucar.edu> wrote:

>
> <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=96002 >
>
> I think I understand how this is done now...I think.  I'm going to
walk
> through my impressions based on what I read and use an example you
provided
> a while back.
>
> 1) As long as met is loaded the gen_vx_mask can be used at the
command line
> or in a bash type script.
>
> 2) gen_vx_mask can be summoned in two ways:
>  i.  on the command line:
> gen_vx_mask wrfprs_ruc_24.tm00 freezing_TMP_Z2.nc -type
> data -mask_field 'name="SURFACE_TYPE"; level="Z0";' -thresh
==4||==5||==8
> -name STYPE_4_5_8
> ii.  inside point stat config file
> mask = { poly = ["nam_2012040900_F012.grib2
{name=\"TMP\";level=\"Z2\";}
> le273"; ]; }
>
> The examples you provided are supposed to be the same...I guess? The
files
> between the two examples are not the same and theshes are not
included in
> the second example.  If I'm reading this right, the first example
takes the
> *.tm00 file and takes 2-meter temperature over a specific type of
surface
> with flags 4, 5, and 8.  The second example seems to group 2-m
temperature
> for temperature freezing and below.
>
>
> This example seems a bit more relevant to me:
>
>
>
>
>
>
>
>
> *gen_vx_mask \ -type data -intersection \
> $MET_TUTORIAL_DATA/output/gen_vx_mask/CONUS_G212_poly.nc \
-input_field
> 'name="CONUS"; level="(*,*)";' \
>
$MET_TUTORIAL_DATA/input/sample_fcst/2005080700/wrfprs_ruc13_12.tm00_G212
\
> -mask_field 'name="PRES"; level="Z0";' -thresh 'le85000' \
> $MET_TUTORIAL_DATA/output/gen_vx_mask/sfcpres_850_and_conus_mask.nc
> <http://sfcpres_850_and_conus_mask.nc> *
>
> This example seems to create a subset of the data from
> wrfprs_ruc13_12.tm00_G212 for all fields where surface pressure is
850-mb
> or less, and stores them in sfcpres_850_and_conus_mask.nc.  Is that
what
> is
> being done here?  If so, then my mask field would be "LAND"; and I
can
> choose which thresholds I want (i.e. "-thresh 'e1'\; or threshold =
1)
>
> If I want to group data when the land flag equals 1, then I think
what I
> would need to do is this:
> mask = { poly = ["A_Grib_File.tm00 {name=\"LAND\";level=\"Z0\";}
e1"; ]; }
>
> It's not clear to me, but perhaps outside of the pointstat configure
file I
> would have to name my stat files in such a way that the stat files
include
> *LAND_1* inside the naming convention.
>
> On Thu, Jul 23, 2020 at 5:02 PM Edward Strobach - NOAA Affiliate <
> edward.strobach at noaa.gov> wrote:
>
> > Yes, I plan to tackle the first point.  Thanks for the example
> >
> > On Thu, Jul 23, 2020 at 4:25 PM John Halley Gotway via RT <
> > met_help at ucar.edu> wrote:
> >
> >> Ed,
> >>
> >> I see you have a question about using a land/sea mask in Point-
Stat.
> Now,
> >> I'm not sure exactly what you're asking, but I suspect it's one
of two
> >> possible things.
> >>
> >> (1) You currently have Point-Stat configured to compute stats
over 16+
> >> masking regions. Do you just want to add 1 more to that list...
namely
> for
> >> only LAND points?
> >>
> >> (2) Or are you asking about using the relatively new option to
only
> verify
> >> "land" obs message types using land grid points and "water" obs
message
> >> types using water grid points?
> >>
> >>  For (1), it's basically a simple example of what we call "data"
> masking.
> >> There is one example of data masking shown at the bottom of this
page:
> >>
> >>
> https://dtcenter.org/met-online-tutorial-metv8-0/grid-processing-
tools/gen-vx-mask/output
> >> Let's say you have a GRIB file named "fcst.grb" that contains a
record
> >> named "LAND" which is a land/sea mask. You just run:
> >> gen_vx_mask fcst.grb fcst.grb land_mask.nc -type data -mask_field
> >> 'name="LAND"; level="Z0";' -thresh eq1
> >> And then you'd add land_mask.nc to the list of "poly" entries in
the
> >> Point-Stat config file.
> >>
> >> John
> >>
> >>
> >> On Thu, Jul 23, 2020 at 2:08 PM Minna Win via RT
<met_help at ucar.edu>
> >> wrote:
> >>
> >> >
> >> > Thu Jul 23 14:08:13 2020: Request 96002 was acted upon.
> >> > Transaction: Given to johnhg (John Halley Gotway) by minnawin
> >> >        Queue: met_help
> >> >      Subject: revisiting gen_vx_mask
> >> >        Owner: johnhg
> >> >   Requestors: edward.strobach at noaa.gov
> >> >       Status: open
> >> >  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=96002
> >
> >> >
> >> >
> >> > This transaction appears to have no content
> >> >
> >>
> >>
> >
> > --
> > Edward Strobach
> > EMC/NCEP/NWS/
> > IMSG Contractor
> > Cubicle#: 2029
> > 301-683-3717
> >
>
>
> --
> Edward Strobach
> EMC/NCEP/NWS/
> IMSG Contractor
> Cubicle#: 2029
> 301-683-3717
>
>

------------------------------------------------
Subject: revisiting gen_vx_mask
From: Edward Strobach - NOAA Affiliate
Time: Fri Jul 24 08:44:20 2020

Hi John,

I'm successful when leaving out *-type data*.

I do the following since I'm interested in capturing CONUS:
gen_vx_mask
/gpfs/hps/nco/ops/com/aqm/prod/aqm.20200720/aqm.t00z.nmm03.tm00
/gpfs/dell2/emc/verification/noscrub/Julie.Prestopnik/met/9.1_beta2/met-
9.1_beta2/data/poly/CONUS.poly
land_mask_integer_1.nc -mask_field 'name='LAND'; level="Z0";' -thresh
eq1

Blue represents the path to an example data file; purple is the path
to the
poly file; red is the output file name; green is the mask field; and
thresh
is set to 1.  Interestingly, if I leave out -mask_field, the result
ends up
being the same.  I thought that this step would retrieve all land
points
identified as 1 and create a file that groups all the data inside the
input
file where the land mask is 1.  Looking at the results, the size of
the
file is the same with and without the -mask_field.  Also, the
available
fields only include lat, lon, and CONUS.  Since this field is truly
not an
integer, I was thinking of doing something like this -thresh
'ge1&&lt2'
I'm not sure, but the interpretation of the proposed threshold is an
attempt at grouping all data that is greater or equal to 1 but less
than
2.

It seems to me that the step you provided is a preliminary step.  An
example online uses the preliminary step above and constructs a new
file
using a threshold for surface pressure (see below).








*gen_vx_mask \ -type data -intersection \
$MET_TUTORIAL_DATA/output/gen_vx_mask/CONUS_G212_poly.nc \
-input_field
'name="CONUS"; level="(*,*)";' \
$MET_TUTORIAL_DATA/input/sample_fcst/2005080700/wrfprs_ruc13_12.tm00_G212
\
-mask_field 'name="PRES"; level="Z0";' -thresh 'le85000' \
$MET_TUTORIAL_DATA/output/gen_vx_mask/sfcpres_850_and_conus_mask.nc
<http://sfcpres_850_and_conus_mask.nc> *

Here, they find all points where surface pressure is less than and
equal to
850-mb over the CONUS mask.  I can create a CONUS mask, but ideally I
would
need to group all the data together for different land surface types.
I
could replace the pressure threshold with a land threshold, but I
would
then want to be able to group 2-m temperature, PBL height, etc. in
this
way.  Does that mean that I run the preliminary step followed by a
similar
step as outlined above?  After those two steps, do I then somehow
group the
data that I want when the land mask is between 1 and 2?



On Thu, Jul 23, 2020 at 6:48 PM John Halley Gotway via RT
<met_help at ucar.edu>
wrote:

> Ed,
>
> To keep this simple, I would recommend running gen_vx_mask manually
on the
> command line for your domain of interest. Run it to define the LAND
mask.
>
> gen_vx_mask wrfprs_ruc13_12.tm00_G212 wrfprs_ruc13_12.tm00_G212
> land_mask.nc
> -type data -mask_field 'name="LAND"; level="Z0";' -thresh eq1
>
> And then in the point_stat config file, literally just list the path
that
> file named land_mask.nc.
> poly = ["path/to/land_mask.nc"];
>
> Of course, replace wrfprs_ruc13_12.tm00_G212 with a file that's on
your
> domain of interest.
>
> John
>
> On Thu, Jul 23, 2020 at 3:46 PM Edward Strobach - NOAA Affiliate via
RT <
> met_help at ucar.edu> wrote:
>
> >
> > <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=96002 >
> >
> > I think I understand how this is done now...I think.  I'm going to
walk
> > through my impressions based on what I read and use an example you
> provided
> > a while back.
> >
> > 1) As long as met is loaded the gen_vx_mask can be used at the
command
> line
> > or in a bash type script.
> >
> > 2) gen_vx_mask can be summoned in two ways:
> >  i.  on the command line:
> > gen_vx_mask wrfprs_ruc_24.tm00 freezing_TMP_Z2.nc -type
> > data -mask_field 'name="SURFACE_TYPE"; level="Z0";' -thresh
==4||==5||==8
> > -name STYPE_4_5_8
> > ii.  inside point stat config file
> > mask = { poly = ["nam_2012040900_F012.grib2
{name=\"TMP\";level=\"Z2\";}
> > le273"; ]; }
> >
> > The examples you provided are supposed to be the same...I guess?
The
> files
> > between the two examples are not the same and theshes are not
included in
> > the second example.  If I'm reading this right, the first example
takes
> the
> > *.tm00 file and takes 2-meter temperature over a specific type of
surface
> > with flags 4, 5, and 8.  The second example seems to group 2-m
> temperature
> > for temperature freezing and below.
> >
> >
> > This example seems a bit more relevant to me:
> >
> >
> >
> >
> >
> >
> >
> >
> > *gen_vx_mask \ -type data -intersection \
> > $MET_TUTORIAL_DATA/output/gen_vx_mask/CONUS_G212_poly.nc \
-input_field
> > 'name="CONUS"; level="(*,*)";' \
> >
>
$MET_TUTORIAL_DATA/input/sample_fcst/2005080700/wrfprs_ruc13_12.tm00_G212
\
> > -mask_field 'name="PRES"; level="Z0";' -thresh 'le85000' \
> >
$MET_TUTORIAL_DATA/output/gen_vx_mask/sfcpres_850_and_conus_mask.nc
> > <http://sfcpres_850_and_conus_mask.nc> *
> >
> > This example seems to create a subset of the data from
> > wrfprs_ruc13_12.tm00_G212 for all fields where surface pressure is
850-mb
> > or less, and stores them in sfcpres_850_and_conus_mask.nc.  Is
that what
> > is
> > being done here?  If so, then my mask field would be "LAND"; and I
can
> > choose which thresholds I want (i.e. "-thresh 'e1'\; or threshold
= 1)
> >
> > If I want to group data when the land flag equals 1, then I think
what I
> > would need to do is this:
> > mask = { poly = ["A_Grib_File.tm00 {name=\"LAND\";level=\"Z0\";}
e1"; ];
> }
> >
> > It's not clear to me, but perhaps outside of the pointstat
configure
> file I
> > would have to name my stat files in such a way that the stat files
> include
> > *LAND_1* inside the naming convention.
> >
> > On Thu, Jul 23, 2020 at 5:02 PM Edward Strobach - NOAA Affiliate <
> > edward.strobach at noaa.gov> wrote:
> >
> > > Yes, I plan to tackle the first point.  Thanks for the example
> > >
> > > On Thu, Jul 23, 2020 at 4:25 PM John Halley Gotway via RT <
> > > met_help at ucar.edu> wrote:
> > >
> > >> Ed,
> > >>
> > >> I see you have a question about using a land/sea mask in Point-
Stat.
> > Now,
> > >> I'm not sure exactly what you're asking, but I suspect it's one
of two
> > >> possible things.
> > >>
> > >> (1) You currently have Point-Stat configured to compute stats
over 16+
> > >> masking regions. Do you just want to add 1 more to that list...
namely
> > for
> > >> only LAND points?
> > >>
> > >> (2) Or are you asking about using the relatively new option to
only
> > verify
> > >> "land" obs message types using land grid points and "water" obs
> message
> > >> types using water grid points?
> > >>
> > >>  For (1), it's basically a simple example of what we call
"data"
> > masking.
> > >> There is one example of data masking shown at the bottom of
this page:
> > >>
> > >>
> >
> https://dtcenter.org/met-online-tutorial-metv8-0/grid-processing-
tools/gen-vx-mask/output
> > >> Let's say you have a GRIB file named "fcst.grb" that contains a
record
> > >> named "LAND" which is a land/sea mask. You just run:
> > >> gen_vx_mask fcst.grb fcst.grb land_mask.nc -type data
-mask_field
> > >> 'name="LAND"; level="Z0";' -thresh eq1
> > >> And then you'd add land_mask.nc to the list of "poly" entries
in the
> > >> Point-Stat config file.
> > >>
> > >> John
> > >>
> > >>
> > >> On Thu, Jul 23, 2020 at 2:08 PM Minna Win via RT
<met_help at ucar.edu>
> > >> wrote:
> > >>
> > >> >
> > >> > Thu Jul 23 14:08:13 2020: Request 96002 was acted upon.
> > >> > Transaction: Given to johnhg (John Halley Gotway) by minnawin
> > >> >        Queue: met_help
> > >> >      Subject: revisiting gen_vx_mask
> > >> >        Owner: johnhg
> > >> >   Requestors: edward.strobach at noaa.gov
> > >> >       Status: open
> > >> >  Ticket <URL:
> https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=96002
> > >
> > >> >
> > >> >
> > >> > This transaction appears to have no content
> > >> >
> > >>
> > >>
> > >
> > > --
> > > Edward Strobach
> > > EMC/NCEP/NWS/
> > > IMSG Contractor
> > > Cubicle#: 2029
> > > 301-683-3717
> > >
> >
> >
> > --
> > Edward Strobach
> > EMC/NCEP/NWS/
> > IMSG Contractor
> > Cubicle#: 2029
> > 301-683-3717
> >
> >
>
>

--
Edward Strobach
EMC/NCEP/NWS/
IMSG Contractor
Cubicle#: 2029
301-683-3717

------------------------------------------------
Subject: revisiting gen_vx_mask
From: Edward Strobach - NOAA Affiliate
Time: Fri Jul 24 09:09:45 2020

Additionally, I tried using LAND (Surface land type) and FRAC_VEG
(Vegetation fraction).  However, the grib entry is "Vegetation Type".
Note
the description of the record below:

880:Vegetation Type:Integer(0-13) (instant):lambert:surface:level
0:fcst
time 3 hrs:from 202007201800

I'm not sure using LAND or FRAC_VEG would work if the longname does
not
follow what is expected.  I've tried writing a second netcdf file
using the
example I showed you above.  I attempted it in this way:

gen_vx_mask -type data -intersection
/gpfs/dell2/emc/modeling/save/Edward.Strobach/sample_data/
land_mask_integer_1.nc -input_field 'name="CONUS"; level="(*,*)";'
/gpfs/hps/nco/ops/com/aqm/prod/aqm.20200720/aqm.t00z.nmm03.tm00
-mask_field
'name="FRAC_VEG"; level="Z0";' -thresh 'le1'
/gpfs/dell2/emc/modeling/save/Edward.Strobach/sample_data/land_mask_integer_1_CONUS.nc

Note, that I also tried LAND as well. I end up getting this:
DEBUG 1: Input Grid:
/gpfs/dell2/emc/modeling/save/Edward.Strobach/sample_data/
land_mask_integer_1.nc
DEBUG 1: Mask File:
/gpfs/hps/nco/ops/com/aqm/prod/aqm.20200720/aqm.t00z.nmm03.tm00

DEBUG 2: Parsed Input Grid: Lambert Conformal (468 x 288)
WARNING:
WARNING: MetGrib2DataFile::data_plane() -> No matching record found
for
'LAND/Z0'
WARNING:
ERROR  :
ERROR  : get_data_plane() -> trouble reading field "name="LAND";
level="Z0";" from file
"/gpfs/hps/nco/ops/com/aqm/prod/aqm.20200720/aqm.t00z.nmm03.tm00"
ERROR  :

It's different when I use FRAC_VEG, however:

DEBUG 1: Input Grid:
/gpfs/dell2/emc/modeling/save/Edward.Strobach/sample_data/
land_mask_integer_1.nc
DEBUG 1: Mask File:
/gpfs/hps/nco/ops/com/aqm/prod/aqm.20200720/aqm.t00z.nmm03.tm00
DEBUG 2: Parsed Input Grid: Lambert Conformal (468 x 288)
ERROR  :
ERROR  : VarInfoGrib2::set_dict() -> unrecognized GRIB2 field
abbreviation
'FRAC_VEG'
ERROR  :

While one complains about no matching record and the inability to read
in
the data, the other just said that the GRIB2 field abbreviation was
unrecognized.

I did try to use Vegetation Type instead of LAND as well..

On Fri, Jul 24, 2020 at 10:43 AM Edward Strobach - NOAA Affiliate <
edward.strobach at noaa.gov> wrote:

> Hi John,
>
> I'm successful when leaving out *-type data*.
>
> I do the following since I'm interested in capturing CONUS:
> gen_vx_mask
> /gpfs/hps/nco/ops/com/aqm/prod/aqm.20200720/aqm.t00z.nmm03.tm00
>
/gpfs/dell2/emc/verification/noscrub/Julie.Prestopnik/met/9.1_beta2/met-
9.1_beta2/data/poly/CONUS.poly
> land_mask_integer_1.nc -mask_field 'name='LAND'; level="Z0";'
-thresh eq1
>
> Blue represents the path to an example data file; purple is the path
to
> the poly file; red is the output file name; green is the mask field;
and
> thresh is set to 1.  Interestingly, if I leave out -mask_field, the
result
> ends up being the same.  I thought that this step would retrieve all
land
> points identified as 1 and create a file that groups all the data
inside
> the input file where the land mask is 1.  Looking at the results,
the size
> of the file is the same with and without the -mask_field.  Also, the
> available fields only include lat, lon, and CONUS.  Since this field
is
> truly not an integer, I was thinking of doing something like this
-thresh
> 'ge1&&lt2'  I'm not sure, but the interpretation of the proposed
threshold
> is an attempt at grouping all data that is greater or equal to 1 but
less
> than 2.
>
> It seems to me that the step you provided is a preliminary step.  An
> example online uses the preliminary step above and constructs a new
file
> using a threshold for surface pressure (see below).
>
>
>
>
>
>
>
>
> *gen_vx_mask \ -type data -intersection \
> $MET_TUTORIAL_DATA/output/gen_vx_mask/CONUS_G212_poly.nc \
-input_field
> 'name="CONUS"; level="(*,*)";' \
>
$MET_TUTORIAL_DATA/input/sample_fcst/2005080700/wrfprs_ruc13_12.tm00_G212
\
> -mask_field 'name="PRES"; level="Z0";' -thresh 'le85000' \
> $MET_TUTORIAL_DATA/output/gen_vx_mask/sfcpres_850_and_conus_mask.nc
> <http://sfcpres_850_and_conus_mask.nc> *
>
> Here, they find all points where surface pressure is less than and
equal
> to 850-mb over the CONUS mask.  I can create a CONUS mask, but
ideally I
> would need to group all the data together for different land surface
> types.  I could replace the pressure threshold with a land
threshold, but I
> would then want to be able to group 2-m temperature, PBL height,
etc. in
> this way.  Does that mean that I run the preliminary step followed
by a
> similar step as outlined above?  After those two steps, do I then
somehow
> group the data that I want when the land mask is between 1 and 2?
>
>
>
> On Thu, Jul 23, 2020 at 6:48 PM John Halley Gotway via RT <
> met_help at ucar.edu> wrote:
>
>> Ed,
>>
>> To keep this simple, I would recommend running gen_vx_mask manually
on the
>> command line for your domain of interest. Run it to define the LAND
mask.
>>
>> gen_vx_mask wrfprs_ruc13_12.tm00_G212 wrfprs_ruc13_12.tm00_G212
>> land_mask.nc
>> -type data -mask_field 'name="LAND"; level="Z0";' -thresh eq1
>>
>> And then in the point_stat config file, literally just list the
path that
>> file named land_mask.nc.
>> poly = ["path/to/land_mask.nc"];
>>
>> Of course, replace wrfprs_ruc13_12.tm00_G212 with a file that's on
your
>> domain of interest.
>>
>> John
>>
>> On Thu, Jul 23, 2020 at 3:46 PM Edward Strobach - NOAA Affiliate
via RT <
>> met_help at ucar.edu> wrote:
>>
>> >
>> > <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=96002 >
>> >
>> > I think I understand how this is done now...I think.  I'm going
to walk
>> > through my impressions based on what I read and use an example
you
>> provided
>> > a while back.
>> >
>> > 1) As long as met is loaded the gen_vx_mask can be used at the
command
>> line
>> > or in a bash type script.
>> >
>> > 2) gen_vx_mask can be summoned in two ways:
>> >  i.  on the command line:
>> > gen_vx_mask wrfprs_ruc_24.tm00 freezing_TMP_Z2.nc -type
>> > data -mask_field 'name="SURFACE_TYPE"; level="Z0";' -thresh
>> ==4||==5||==8
>> > -name STYPE_4_5_8
>> > ii.  inside point stat config file
>> > mask = { poly = ["nam_2012040900_F012.grib2
{name=\"TMP\";level=\"Z2\";}
>> > le273"; ]; }
>> >
>> > The examples you provided are supposed to be the same...I guess?
The
>> files
>> > between the two examples are not the same and theshes are not
included
>> in
>> > the second example.  If I'm reading this right, the first example
takes
>> the
>> > *.tm00 file and takes 2-meter temperature over a specific type of
>> surface
>> > with flags 4, 5, and 8.  The second example seems to group 2-m
>> temperature
>> > for temperature freezing and below.
>> >
>> >
>> > This example seems a bit more relevant to me:
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > *gen_vx_mask \ -type data -intersection \
>> > $MET_TUTORIAL_DATA/output/gen_vx_mask/CONUS_G212_poly.nc \
-input_field
>> > 'name="CONUS"; level="(*,*)";' \
>> >
>>
$MET_TUTORIAL_DATA/input/sample_fcst/2005080700/wrfprs_ruc13_12.tm00_G212
\
>> > -mask_field 'name="PRES"; level="Z0";' -thresh 'le85000' \
>> >
$MET_TUTORIAL_DATA/output/gen_vx_mask/sfcpres_850_and_conus_mask.nc
>> > <http://sfcpres_850_and_conus_mask.nc> *
>> >
>> > This example seems to create a subset of the data from
>> > wrfprs_ruc13_12.tm00_G212 for all fields where surface pressure
is
>> 850-mb
>> > or less, and stores them in sfcpres_850_and_conus_mask.nc.  Is
that
>> what
>> > is
>> > being done here?  If so, then my mask field would be "LAND"; and
I can
>> > choose which thresholds I want (i.e. "-thresh 'e1'\; or threshold
= 1)
>> >
>> > If I want to group data when the land flag equals 1, then I think
what I
>> > would need to do is this:
>> > mask = { poly = ["A_Grib_File.tm00 {name=\"LAND\";level=\"Z0\";}
e1";
>> ]; }
>> >
>> > It's not clear to me, but perhaps outside of the pointstat
configure
>> file I
>> > would have to name my stat files in such a way that the stat
files
>> include
>> > *LAND_1* inside the naming convention.
>> >
>> > On Thu, Jul 23, 2020 at 5:02 PM Edward Strobach - NOAA Affiliate
<
>> > edward.strobach at noaa.gov> wrote:
>> >
>> > > Yes, I plan to tackle the first point.  Thanks for the example
>> > >
>> > > On Thu, Jul 23, 2020 at 4:25 PM John Halley Gotway via RT <
>> > > met_help at ucar.edu> wrote:
>> > >
>> > >> Ed,
>> > >>
>> > >> I see you have a question about using a land/sea mask in
Point-Stat.
>> > Now,
>> > >> I'm not sure exactly what you're asking, but I suspect it's
one of
>> two
>> > >> possible things.
>> > >>
>> > >> (1) You currently have Point-Stat configured to compute stats
over
>> 16+
>> > >> masking regions. Do you just want to add 1 more to that
list...
>> namely
>> > for
>> > >> only LAND points?
>> > >>
>> > >> (2) Or are you asking about using the relatively new option to
only
>> > verify
>> > >> "land" obs message types using land grid points and "water"
obs
>> message
>> > >> types using water grid points?
>> > >>
>> > >>  For (1), it's basically a simple example of what we call
"data"
>> > masking.
>> > >> There is one example of data masking shown at the bottom of
this
>> page:
>> > >>
>> > >>
>> >
>> https://dtcenter.org/met-online-tutorial-metv8-0/grid-processing-
tools/gen-vx-mask/output
>> > >> Let's say you have a GRIB file named "fcst.grb" that contains
a
>> record
>> > >> named "LAND" which is a land/sea mask. You just run:
>> > >> gen_vx_mask fcst.grb fcst.grb land_mask.nc -type data
-mask_field
>> > >> 'name="LAND"; level="Z0";' -thresh eq1
>> > >> And then you'd add land_mask.nc to the list of "poly" entries
in the
>> > >> Point-Stat config file.
>> > >>
>> > >> John
>> > >>
>> > >>
>> > >> On Thu, Jul 23, 2020 at 2:08 PM Minna Win via RT
<met_help at ucar.edu>
>> > >> wrote:
>> > >>
>> > >> >
>> > >> > Thu Jul 23 14:08:13 2020: Request 96002 was acted upon.
>> > >> > Transaction: Given to johnhg (John Halley Gotway) by
minnawin
>> > >> >        Queue: met_help
>> > >> >      Subject: revisiting gen_vx_mask
>> > >> >        Owner: johnhg
>> > >> >   Requestors: edward.strobach at noaa.gov
>> > >> >       Status: open
>> > >> >  Ticket <URL:
>> https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=96002
>> > >
>> > >> >
>> > >> >
>> > >> > This transaction appears to have no content
>> > >> >
>> > >>
>> > >>
>> > >
>> > > --
>> > > Edward Strobach
>> > > EMC/NCEP/NWS/
>> > > IMSG Contractor
>> > > Cubicle#: 2029
>> > > 301-683-3717
>> > >
>> >
>> >
>> > --
>> > Edward Strobach
>> > EMC/NCEP/NWS/
>> > IMSG Contractor
>> > Cubicle#: 2029
>> > 301-683-3717
>> >
>> >
>>
>>
>
> --
> Edward Strobach
> EMC/NCEP/NWS/
> IMSG Contractor
> Cubicle#: 2029
> 301-683-3717
>


--
Edward Strobach
EMC/NCEP/NWS/
IMSG Contractor
Cubicle#: 2029
301-683-3717

------------------------------------------------
Subject: revisiting gen_vx_mask
From: John Halley Gotway
Time: Fri Jul 24 12:54:21 2020

Ed,

I don't understand why this is so complicated. There's no reason to be
intersecting anything with CONUS. You said that you only want a LAND
mask,
so this should be very easy.

You are of course limited by the data that actually exists in your
input
file. Looking at the surface variables, I do not see LAND present, but
as
you point out vegetation type is present:

*wgrib2 aqm.t00z.nmm03.tm00 | grep surface*
...
818:55447094:d=2020072000:VEG:surface:3 hour fcst:
819:55533809:d=2020072000:VGTYP:surface:3 hour fcst:
...

Both VEG and VGTYP are there. Let's see what they look like by running
plot_data_plane:


*plot_data_plane aqm.t00z.nmm03.tm00 VEG.ps 'name="VEG"; level="Z0";'*
*plot_data_plane aqm.t00z.nmm03.tm00 VGTYP.ps 'name="VGTYP";
level="Z0";'*

See png version of results attached. Looks like either of these fields
would do a fine job of defining a land mask. So let's pick VGTYP and
define
the land mask by thresholding VGTYP != 0 and name the output variable
LAND:

*gen_vx_mask aqm.t00z.nmm03.tm00 aqm.t00z.nmm03.tm00 land_mask.nc
<http://land_mask.nc> -type data -mask_field 'name="VGTYP";
level="Z0";'
-thresh ne0 -name LAND*

And then plot the result to make sure:

*plot_data_plane land_mask.nc <http://land_mask.nc> land_mask.ps
<http://land_mask.ps> 'name="LAND"; level="(*,*)";'*

See png version of result attached.

So these are the LAND points in your model domain. You just configure
Point-Stat to include the full path to that file "land_mask.nc" in the
mask.poly setting.

John

On Fri, Jul 24, 2020 at 9:10 AM Edward Strobach - NOAA Affiliate via
RT <
met_help at ucar.edu> wrote:

>
> <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=96002 >
>
> Additionally, I tried using LAND (Surface land type) and FRAC_VEG
> (Vegetation fraction).  However, the grib entry is "Vegetation
Type".  Note
> the description of the record below:
>
> 880:Vegetation Type:Integer(0-13) (instant):lambert:surface:level
0:fcst
> time 3 hrs:from 202007201800
>
> I'm not sure using LAND or FRAC_VEG would work if the longname does
not
> follow what is expected.  I've tried writing a second netcdf file
using the
> example I showed you above.  I attempted it in this way:
>
> gen_vx_mask -type data -intersection
> /gpfs/dell2/emc/modeling/save/Edward.Strobach/sample_data/
> land_mask_integer_1.nc -input_field 'name="CONUS"; level="(*,*)";'
> /gpfs/hps/nco/ops/com/aqm/prod/aqm.20200720/aqm.t00z.nmm03.tm00
-mask_field
> 'name="FRAC_VEG"; level="Z0";' -thresh 'le1'
>
>
/gpfs/dell2/emc/modeling/save/Edward.Strobach/sample_data/land_mask_integer_1_CONUS.nc
>
> Note, that I also tried LAND as well. I end up getting this:
> DEBUG 1: Input Grid:
> /gpfs/dell2/emc/modeling/save/Edward.Strobach/sample_data/
> land_mask_integer_1.nc
> DEBUG 1: Mask File:
> /gpfs/hps/nco/ops/com/aqm/prod/aqm.20200720/aqm.t00z.nmm03.tm00
>
> DEBUG 2: Parsed Input Grid: Lambert Conformal (468 x 288)
> WARNING:
> WARNING: MetGrib2DataFile::data_plane() -> No matching record found
for
> 'LAND/Z0'
> WARNING:
> ERROR  :
> ERROR  : get_data_plane() -> trouble reading field "name="LAND";
> level="Z0";" from file
> "/gpfs/hps/nco/ops/com/aqm/prod/aqm.20200720/aqm.t00z.nmm03.tm00"
> ERROR  :
>
> It's different when I use FRAC_VEG, however:
>
> DEBUG 1: Input Grid:
> /gpfs/dell2/emc/modeling/save/Edward.Strobach/sample_data/
> land_mask_integer_1.nc
> DEBUG 1: Mask File:
> /gpfs/hps/nco/ops/com/aqm/prod/aqm.20200720/aqm.t00z.nmm03.tm00
> DEBUG 2: Parsed Input Grid: Lambert Conformal (468 x 288)
> ERROR  :
> ERROR  : VarInfoGrib2::set_dict() -> unrecognized GRIB2 field
abbreviation
> 'FRAC_VEG'
> ERROR  :
>
> While one complains about no matching record and the inability to
read in
> the data, the other just said that the GRIB2 field abbreviation was
> unrecognized.
>
> I did try to use Vegetation Type instead of LAND as well..
>
> On Fri, Jul 24, 2020 at 10:43 AM Edward Strobach - NOAA Affiliate <
> edward.strobach at noaa.gov> wrote:
>
> > Hi John,
> >
> > I'm successful when leaving out *-type data*.
> >
> > I do the following since I'm interested in capturing CONUS:
> > gen_vx_mask
> > /gpfs/hps/nco/ops/com/aqm/prod/aqm.20200720/aqm.t00z.nmm03.tm00
> >
>
/gpfs/dell2/emc/verification/noscrub/Julie.Prestopnik/met/9.1_beta2/met-
9.1_beta2/data/poly/CONUS.poly
> > land_mask_integer_1.nc -mask_field 'name='LAND'; level="Z0";'
-thresh
> eq1
> >
> > Blue represents the path to an example data file; purple is the
path to
> > the poly file; red is the output file name; green is the mask
field; and
> > thresh is set to 1.  Interestingly, if I leave out -mask_field,
the
> result
> > ends up being the same.  I thought that this step would retrieve
all land
> > points identified as 1 and create a file that groups all the data
inside
> > the input file where the land mask is 1.  Looking at the results,
the
> size
> > of the file is the same with and without the -mask_field.  Also,
the
> > available fields only include lat, lon, and CONUS.  Since this
field is
> > truly not an integer, I was thinking of doing something like this
-thresh
> > 'ge1&&lt2'  I'm not sure, but the interpretation of the proposed
> threshold
> > is an attempt at grouping all data that is greater or equal to 1
but less
> > than 2.
> >
> > It seems to me that the step you provided is a preliminary step.
An
> > example online uses the preliminary step above and constructs a
new file
> > using a threshold for surface pressure (see below).
> >
> >
> >
> >
> >
> >
> >
> >
> > *gen_vx_mask \ -type data -intersection \
> > $MET_TUTORIAL_DATA/output/gen_vx_mask/CONUS_G212_poly.nc \
-input_field
> > 'name="CONUS"; level="(*,*)";' \
> >
>
$MET_TUTORIAL_DATA/input/sample_fcst/2005080700/wrfprs_ruc13_12.tm00_G212
\
> > -mask_field 'name="PRES"; level="Z0";' -thresh 'le85000' \
> >
$MET_TUTORIAL_DATA/output/gen_vx_mask/sfcpres_850_and_conus_mask.nc
> > <http://sfcpres_850_and_conus_mask.nc> *
> >
> > Here, they find all points where surface pressure is less than and
equal
> > to 850-mb over the CONUS mask.  I can create a CONUS mask, but
ideally I
> > would need to group all the data together for different land
surface
> > types.  I could replace the pressure threshold with a land
threshold,
> but I
> > would then want to be able to group 2-m temperature, PBL height,
etc. in
> > this way.  Does that mean that I run the preliminary step followed
by a
> > similar step as outlined above?  After those two steps, do I then
somehow
> > group the data that I want when the land mask is between 1 and 2?
> >
> >
> >
> > On Thu, Jul 23, 2020 at 6:48 PM John Halley Gotway via RT <
> > met_help at ucar.edu> wrote:
> >
> >> Ed,
> >>
> >> To keep this simple, I would recommend running gen_vx_mask
manually on
> the
> >> command line for your domain of interest. Run it to define the
LAND
> mask.
> >>
> >> gen_vx_mask wrfprs_ruc13_12.tm00_G212 wrfprs_ruc13_12.tm00_G212
> >> land_mask.nc
> >> -type data -mask_field 'name="LAND"; level="Z0";' -thresh eq1
> >>
> >> And then in the point_stat config file, literally just list the
path
> that
> >> file named land_mask.nc.
> >> poly = ["path/to/land_mask.nc"];
> >>
> >> Of course, replace wrfprs_ruc13_12.tm00_G212 with a file that's
on your
> >> domain of interest.
> >>
> >> John
> >>
> >> On Thu, Jul 23, 2020 at 3:46 PM Edward Strobach - NOAA Affiliate
via RT
> <
> >> met_help at ucar.edu> wrote:
> >>
> >> >
> >> > <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=96002 >
> >> >
> >> > I think I understand how this is done now...I think.  I'm going
to
> walk
> >> > through my impressions based on what I read and use an example
you
> >> provided
> >> > a while back.
> >> >
> >> > 1) As long as met is loaded the gen_vx_mask can be used at the
command
> >> line
> >> > or in a bash type script.
> >> >
> >> > 2) gen_vx_mask can be summoned in two ways:
> >> >  i.  on the command line:
> >> > gen_vx_mask wrfprs_ruc_24.tm00 freezing_TMP_Z2.nc -type
> >> > data -mask_field 'name="SURFACE_TYPE"; level="Z0";' -thresh
> >> ==4||==5||==8
> >> > -name STYPE_4_5_8
> >> > ii.  inside point stat config file
> >> > mask = { poly = ["nam_2012040900_F012.grib2
> {name=\"TMP\";level=\"Z2\";}
> >> > le273"; ]; }
> >> >
> >> > The examples you provided are supposed to be the same...I
guess? The
> >> files
> >> > between the two examples are not the same and theshes are not
included
> >> in
> >> > the second example.  If I'm reading this right, the first
example
> takes
> >> the
> >> > *.tm00 file and takes 2-meter temperature over a specific type
of
> >> surface
> >> > with flags 4, 5, and 8.  The second example seems to group 2-m
> >> temperature
> >> > for temperature freezing and below.
> >> >
> >> >
> >> > This example seems a bit more relevant to me:
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> > *gen_vx_mask \ -type data -intersection \
> >> > $MET_TUTORIAL_DATA/output/gen_vx_mask/CONUS_G212_poly.nc \
> -input_field
> >> > 'name="CONUS"; level="(*,*)";' \
> >> >
> >>
>
$MET_TUTORIAL_DATA/input/sample_fcst/2005080700/wrfprs_ruc13_12.tm00_G212
\
> >> > -mask_field 'name="PRES"; level="Z0";' -thresh 'le85000' \
> >> >
$MET_TUTORIAL_DATA/output/gen_vx_mask/sfcpres_850_and_conus_mask.nc
> >> > <http://sfcpres_850_and_conus_mask.nc> *
> >> >
> >> > This example seems to create a subset of the data from
> >> > wrfprs_ruc13_12.tm00_G212 for all fields where surface pressure
is
> >> 850-mb
> >> > or less, and stores them in sfcpres_850_and_conus_mask.nc.  Is
that
> >> what
> >> > is
> >> > being done here?  If so, then my mask field would be "LAND";
and I can
> >> > choose which thresholds I want (i.e. "-thresh 'e1'\; or
threshold = 1)
> >> >
> >> > If I want to group data when the land flag equals 1, then I
think
> what I
> >> > would need to do is this:
> >> > mask = { poly = ["A_Grib_File.tm00
{name=\"LAND\";level=\"Z0\";} e1";
> >> ]; }
> >> >
> >> > It's not clear to me, but perhaps outside of the pointstat
configure
> >> file I
> >> > would have to name my stat files in such a way that the stat
files
> >> include
> >> > *LAND_1* inside the naming convention.
> >> >
> >> > On Thu, Jul 23, 2020 at 5:02 PM Edward Strobach - NOAA
Affiliate <
> >> > edward.strobach at noaa.gov> wrote:
> >> >
> >> > > Yes, I plan to tackle the first point.  Thanks for the
example
> >> > >
> >> > > On Thu, Jul 23, 2020 at 4:25 PM John Halley Gotway via RT <
> >> > > met_help at ucar.edu> wrote:
> >> > >
> >> > >> Ed,
> >> > >>
> >> > >> I see you have a question about using a land/sea mask in
> Point-Stat.
> >> > Now,
> >> > >> I'm not sure exactly what you're asking, but I suspect it's
one of
> >> two
> >> > >> possible things.
> >> > >>
> >> > >> (1) You currently have Point-Stat configured to compute
stats over
> >> 16+
> >> > >> masking regions. Do you just want to add 1 more to that
list...
> >> namely
> >> > for
> >> > >> only LAND points?
> >> > >>
> >> > >> (2) Or are you asking about using the relatively new option
to only
> >> > verify
> >> > >> "land" obs message types using land grid points and "water"
obs
> >> message
> >> > >> types using water grid points?
> >> > >>
> >> > >>  For (1), it's basically a simple example of what we call
"data"
> >> > masking.
> >> > >> There is one example of data masking shown at the bottom of
this
> >> page:
> >> > >>
> >> > >>
> >> >
> >>
> https://dtcenter.org/met-online-tutorial-metv8-0/grid-processing-
tools/gen-vx-mask/output
> >> > >> Let's say you have a GRIB file named "fcst.grb" that
contains a
> >> record
> >> > >> named "LAND" which is a land/sea mask. You just run:
> >> > >> gen_vx_mask fcst.grb fcst.grb land_mask.nc -type data
-mask_field
> >> > >> 'name="LAND"; level="Z0";' -thresh eq1
> >> > >> And then you'd add land_mask.nc to the list of "poly"
entries in
> the
> >> > >> Point-Stat config file.
> >> > >>
> >> > >> John
> >> > >>
> >> > >>
> >> > >> On Thu, Jul 23, 2020 at 2:08 PM Minna Win via RT <
> met_help at ucar.edu>
> >> > >> wrote:
> >> > >>
> >> > >> >
> >> > >> > Thu Jul 23 14:08:13 2020: Request 96002 was acted upon.
> >> > >> > Transaction: Given to johnhg (John Halley Gotway) by
minnawin
> >> > >> >        Queue: met_help
> >> > >> >      Subject: revisiting gen_vx_mask
> >> > >> >        Owner: johnhg
> >> > >> >   Requestors: edward.strobach at noaa.gov
> >> > >> >       Status: open
> >> > >> >  Ticket <URL:
> >> https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=96002
> >> > >
> >> > >> >
> >> > >> >
> >> > >> > This transaction appears to have no content
> >> > >> >
> >> > >>
> >> > >>
> >> > >
> >> > > --
> >> > > Edward Strobach
> >> > > EMC/NCEP/NWS/
> >> > > IMSG Contractor
> >> > > Cubicle#: 2029
> >> > > 301-683-3717
> >> > >
> >> >
> >> >
> >> > --
> >> > Edward Strobach
> >> > EMC/NCEP/NWS/
> >> > IMSG Contractor
> >> > Cubicle#: 2029
> >> > 301-683-3717
> >> >
> >> >
> >>
> >>
> >
> > --
> > Edward Strobach
> > EMC/NCEP/NWS/
> > IMSG Contractor
> > Cubicle#: 2029
> > 301-683-3717
> >
>
>
> --
> Edward Strobach
> EMC/NCEP/NWS/
> IMSG Contractor
> Cubicle#: 2029
> 301-683-3717
>
>

------------------------------------------------
Subject: revisiting gen_vx_mask
From: Edward Strobach - NOAA Affiliate
Time: Fri Jul 24 13:02:34 2020

It's not always easy to interpret through email. I read the tutorial
on
gen_vx_mask multiple times and followed your exact instructions from
the
previous email and it did not work.  I tried some experiments and had
some
minor success, but since I'm new to using this command and am trying
to
understand how it is used with different conditions impressed upon it,
I
may have additional questions.  I'll make sure to reduce my
correspondence
in the future to minimize any agitation I may have caused. I will
follow
what you laid out here, and regardless of the result, I will make sure
not
to follow up.

On Fri, Jul 24, 2020 at 2:54 PM John Halley Gotway via RT
<met_help at ucar.edu>
wrote:

> Ed,
>
> I don't understand why this is so complicated. There's no reason to
be
> intersecting anything with CONUS. You said that you only want a LAND
mask,
> so this should be very easy.
>
> You are of course limited by the data that actually exists in your
input
> file. Looking at the surface variables, I do not see LAND present,
but as
> you point out vegetation type is present:
>
> *wgrib2 aqm.t00z.nmm03.tm00 | grep surface*
> ...
> 818:55447094:d=2020072000:VEG:surface:3 hour fcst:
> 819:55533809:d=2020072000:VGTYP:surface:3 hour fcst:
> ...
>
> Both VEG and VGTYP are there. Let's see what they look like by
running
> plot_data_plane:
>
>
> *plot_data_plane aqm.t00z.nmm03.tm00 VEG.ps 'name="VEG";
level="Z0";'*
> *plot_data_plane aqm.t00z.nmm03.tm00 VGTYP.ps 'name="VGTYP";
level="Z0";'*
>
> See png version of results attached. Looks like either of these
fields
> would do a fine job of defining a land mask. So let's pick VGTYP and
define
> the land mask by thresholding VGTYP != 0 and name the output
variable LAND:
>
> *gen_vx_mask aqm.t00z.nmm03.tm00 aqm.t00z.nmm03.tm00 land_mask.nc
> <http://land_mask.nc> -type data -mask_field 'name="VGTYP";
level="Z0";'
> -thresh ne0 -name LAND*
>
> And then plot the result to make sure:
>
> *plot_data_plane land_mask.nc <http://land_mask.nc> land_mask.ps
> <http://land_mask.ps> 'name="LAND"; level="(*,*)";'*
>
> See png version of result attached.
>
> So these are the LAND points in your model domain. You just
configure
> Point-Stat to include the full path to that file "land_mask.nc" in
the
> mask.poly setting.
>
> John
>
> On Fri, Jul 24, 2020 at 9:10 AM Edward Strobach - NOAA Affiliate via
RT <
> met_help at ucar.edu> wrote:
>
> >
> > <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=96002 >
> >
> > Additionally, I tried using LAND (Surface land type) and FRAC_VEG
> > (Vegetation fraction).  However, the grib entry is "Vegetation
Type".
> Note
> > the description of the record below:
> >
> > 880:Vegetation Type:Integer(0-13) (instant):lambert:surface:level
0:fcst
> > time 3 hrs:from 202007201800
> >
> > I'm not sure using LAND or FRAC_VEG would work if the longname
does not
> > follow what is expected.  I've tried writing a second netcdf file
using
> the
> > example I showed you above.  I attempted it in this way:
> >
> > gen_vx_mask -type data -intersection
> > /gpfs/dell2/emc/modeling/save/Edward.Strobach/sample_data/
> > land_mask_integer_1.nc -input_field 'name="CONUS"; level="(*,*)";'
> > /gpfs/hps/nco/ops/com/aqm/prod/aqm.20200720/aqm.t00z.nmm03.tm00
> -mask_field
> > 'name="FRAC_VEG"; level="Z0";' -thresh 'le1'
> >
> >
>
/gpfs/dell2/emc/modeling/save/Edward.Strobach/sample_data/land_mask_integer_1_CONUS.nc
> >
> > Note, that I also tried LAND as well. I end up getting this:
> > DEBUG 1: Input Grid:
> > /gpfs/dell2/emc/modeling/save/Edward.Strobach/sample_data/
> > land_mask_integer_1.nc
> > DEBUG 1: Mask File:
> > /gpfs/hps/nco/ops/com/aqm/prod/aqm.20200720/aqm.t00z.nmm03.tm00
> >
> > DEBUG 2: Parsed Input Grid: Lambert Conformal (468 x 288)
> > WARNING:
> > WARNING: MetGrib2DataFile::data_plane() -> No matching record
found for
> > 'LAND/Z0'
> > WARNING:
> > ERROR  :
> > ERROR  : get_data_plane() -> trouble reading field "name="LAND";
> > level="Z0";" from file
> > "/gpfs/hps/nco/ops/com/aqm/prod/aqm.20200720/aqm.t00z.nmm03.tm00"
> > ERROR  :
> >
> > It's different when I use FRAC_VEG, however:
> >
> > DEBUG 1: Input Grid:
> > /gpfs/dell2/emc/modeling/save/Edward.Strobach/sample_data/
> > land_mask_integer_1.nc
> > DEBUG 1: Mask File:
> > /gpfs/hps/nco/ops/com/aqm/prod/aqm.20200720/aqm.t00z.nmm03.tm00
> > DEBUG 2: Parsed Input Grid: Lambert Conformal (468 x 288)
> > ERROR  :
> > ERROR  : VarInfoGrib2::set_dict() -> unrecognized GRIB2 field
> abbreviation
> > 'FRAC_VEG'
> > ERROR  :
> >
> > While one complains about no matching record and the inability to
read in
> > the data, the other just said that the GRIB2 field abbreviation
was
> > unrecognized.
> >
> > I did try to use Vegetation Type instead of LAND as well..
> >
> > On Fri, Jul 24, 2020 at 10:43 AM Edward Strobach - NOAA Affiliate
<
> > edward.strobach at noaa.gov> wrote:
> >
> > > Hi John,
> > >
> > > I'm successful when leaving out *-type data*.
> > >
> > > I do the following since I'm interested in capturing CONUS:
> > > gen_vx_mask
> > > /gpfs/hps/nco/ops/com/aqm/prod/aqm.20200720/aqm.t00z.nmm03.tm00
> > >
> >
>
/gpfs/dell2/emc/verification/noscrub/Julie.Prestopnik/met/9.1_beta2/met-
9.1_beta2/data/poly/CONUS.poly
> > > land_mask_integer_1.nc -mask_field 'name='LAND'; level="Z0";'
-thresh
> > eq1
> > >
> > > Blue represents the path to an example data file; purple is the
path to
> > > the poly file; red is the output file name; green is the mask
field;
> and
> > > thresh is set to 1.  Interestingly, if I leave out -mask_field,
the
> > result
> > > ends up being the same.  I thought that this step would retrieve
all
> land
> > > points identified as 1 and create a file that groups all the
data
> inside
> > > the input file where the land mask is 1.  Looking at the
results, the
> > size
> > > of the file is the same with and without the -mask_field.  Also,
the
> > > available fields only include lat, lon, and CONUS.  Since this
field is
> > > truly not an integer, I was thinking of doing something like
this
> -thresh
> > > 'ge1&&lt2'  I'm not sure, but the interpretation of the proposed
> > threshold
> > > is an attempt at grouping all data that is greater or equal to 1
but
> less
> > > than 2.
> > >
> > > It seems to me that the step you provided is a preliminary step.
An
> > > example online uses the preliminary step above and constructs a
new
> file
> > > using a threshold for surface pressure (see below).
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > *gen_vx_mask \ -type data -intersection \
> > > $MET_TUTORIAL_DATA/output/gen_vx_mask/CONUS_G212_poly.nc \
-input_field
> > > 'name="CONUS"; level="(*,*)";' \
> > >
> >
>
$MET_TUTORIAL_DATA/input/sample_fcst/2005080700/wrfprs_ruc13_12.tm00_G212
\
> > > -mask_field 'name="PRES"; level="Z0";' -thresh 'le85000' \
> > >
$MET_TUTORIAL_DATA/output/gen_vx_mask/sfcpres_850_and_conus_mask.nc
> > > <http://sfcpres_850_and_conus_mask.nc> *
> > >
> > > Here, they find all points where surface pressure is less than
and
> equal
> > > to 850-mb over the CONUS mask.  I can create a CONUS mask, but
ideally
> I
> > > would need to group all the data together for different land
surface
> > > types.  I could replace the pressure threshold with a land
threshold,
> > but I
> > > would then want to be able to group 2-m temperature, PBL height,
etc.
> in
> > > this way.  Does that mean that I run the preliminary step
followed by a
> > > similar step as outlined above?  After those two steps, do I
then
> somehow
> > > group the data that I want when the land mask is between 1 and
2?
> > >
> > >
> > >
> > > On Thu, Jul 23, 2020 at 6:48 PM John Halley Gotway via RT <
> > > met_help at ucar.edu> wrote:
> > >
> > >> Ed,
> > >>
> > >> To keep this simple, I would recommend running gen_vx_mask
manually on
> > the
> > >> command line for your domain of interest. Run it to define the
LAND
> > mask.
> > >>
> > >> gen_vx_mask wrfprs_ruc13_12.tm00_G212 wrfprs_ruc13_12.tm00_G212
> > >> land_mask.nc
> > >> -type data -mask_field 'name="LAND"; level="Z0";' -thresh eq1
> > >>
> > >> And then in the point_stat config file, literally just list the
path
> > that
> > >> file named land_mask.nc.
> > >> poly = ["path/to/land_mask.nc"];
> > >>
> > >> Of course, replace wrfprs_ruc13_12.tm00_G212 with a file that's
on
> your
> > >> domain of interest.
> > >>
> > >> John
> > >>
> > >> On Thu, Jul 23, 2020 at 3:46 PM Edward Strobach - NOAA
Affiliate via
> RT
> > <
> > >> met_help at ucar.edu> wrote:
> > >>
> > >> >
> > >> > <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=96002
>
> > >> >
> > >> > I think I understand how this is done now...I think.  I'm
going to
> > walk
> > >> > through my impressions based on what I read and use an
example you
> > >> provided
> > >> > a while back.
> > >> >
> > >> > 1) As long as met is loaded the gen_vx_mask can be used at
the
> command
> > >> line
> > >> > or in a bash type script.
> > >> >
> > >> > 2) gen_vx_mask can be summoned in two ways:
> > >> >  i.  on the command line:
> > >> > gen_vx_mask wrfprs_ruc_24.tm00 freezing_TMP_Z2.nc -type
> > >> > data -mask_field 'name="SURFACE_TYPE"; level="Z0";' -thresh
> > >> ==4||==5||==8
> > >> > -name STYPE_4_5_8
> > >> > ii.  inside point stat config file
> > >> > mask = { poly = ["nam_2012040900_F012.grib2
> > {name=\"TMP\";level=\"Z2\";}
> > >> > le273"; ]; }
> > >> >
> > >> > The examples you provided are supposed to be the same...I
guess? The
> > >> files
> > >> > between the two examples are not the same and theshes are not
> included
> > >> in
> > >> > the second example.  If I'm reading this right, the first
example
> > takes
> > >> the
> > >> > *.tm00 file and takes 2-meter temperature over a specific
type of
> > >> surface
> > >> > with flags 4, 5, and 8.  The second example seems to group 2-
m
> > >> temperature
> > >> > for temperature freezing and below.
> > >> >
> > >> >
> > >> > This example seems a bit more relevant to me:
> > >> >
> > >> >
> > >> >
> > >> >
> > >> >
> > >> >
> > >> >
> > >> >
> > >> > *gen_vx_mask \ -type data -intersection \
> > >> > $MET_TUTORIAL_DATA/output/gen_vx_mask/CONUS_G212_poly.nc \
> > -input_field
> > >> > 'name="CONUS"; level="(*,*)";' \
> > >> >
> > >>
> >
>
$MET_TUTORIAL_DATA/input/sample_fcst/2005080700/wrfprs_ruc13_12.tm00_G212
\
> > >> > -mask_field 'name="PRES"; level="Z0";' -thresh 'le85000' \
> > >> >
$MET_TUTORIAL_DATA/output/gen_vx_mask/sfcpres_850_and_conus_mask.nc
> > >> > <http://sfcpres_850_and_conus_mask.nc> *
> > >> >
> > >> > This example seems to create a subset of the data from
> > >> > wrfprs_ruc13_12.tm00_G212 for all fields where surface
pressure is
> > >> 850-mb
> > >> > or less, and stores them in sfcpres_850_and_conus_mask.nc.
Is that
> > >> what
> > >> > is
> > >> > being done here?  If so, then my mask field would be "LAND";
and I
> can
> > >> > choose which thresholds I want (i.e. "-thresh 'e1'\; or
threshold =
> 1)
> > >> >
> > >> > If I want to group data when the land flag equals 1, then I
think
> > what I
> > >> > would need to do is this:
> > >> > mask = { poly = ["A_Grib_File.tm00
{name=\"LAND\";level=\"Z0\";}
> e1";
> > >> ]; }
> > >> >
> > >> > It's not clear to me, but perhaps outside of the pointstat
configure
> > >> file I
> > >> > would have to name my stat files in such a way that the stat
files
> > >> include
> > >> > *LAND_1* inside the naming convention.
> > >> >
> > >> > On Thu, Jul 23, 2020 at 5:02 PM Edward Strobach - NOAA
Affiliate <
> > >> > edward.strobach at noaa.gov> wrote:
> > >> >
> > >> > > Yes, I plan to tackle the first point.  Thanks for the
example
> > >> > >
> > >> > > On Thu, Jul 23, 2020 at 4:25 PM John Halley Gotway via RT <
> > >> > > met_help at ucar.edu> wrote:
> > >> > >
> > >> > >> Ed,
> > >> > >>
> > >> > >> I see you have a question about using a land/sea mask in
> > Point-Stat.
> > >> > Now,
> > >> > >> I'm not sure exactly what you're asking, but I suspect
it's one
> of
> > >> two
> > >> > >> possible things.
> > >> > >>
> > >> > >> (1) You currently have Point-Stat configured to compute
stats
> over
> > >> 16+
> > >> > >> masking regions. Do you just want to add 1 more to that
list...
> > >> namely
> > >> > for
> > >> > >> only LAND points?
> > >> > >>
> > >> > >> (2) Or are you asking about using the relatively new
option to
> only
> > >> > verify
> > >> > >> "land" obs message types using land grid points and
"water" obs
> > >> message
> > >> > >> types using water grid points?
> > >> > >>
> > >> > >>  For (1), it's basically a simple example of what we call
"data"
> > >> > masking.
> > >> > >> There is one example of data masking shown at the bottom
of this
> > >> page:
> > >> > >>
> > >> > >>
> > >> >
> > >>
> >
> https://dtcenter.org/met-online-tutorial-metv8-0/grid-processing-
tools/gen-vx-mask/output
> > >> > >> Let's say you have a GRIB file named "fcst.grb" that
contains a
> > >> record
> > >> > >> named "LAND" which is a land/sea mask. You just run:
> > >> > >> gen_vx_mask fcst.grb fcst.grb land_mask.nc -type data
> -mask_field
> > >> > >> 'name="LAND"; level="Z0";' -thresh eq1
> > >> > >> And then you'd add land_mask.nc to the list of "poly"
entries in
> > the
> > >> > >> Point-Stat config file.
> > >> > >>
> > >> > >> John
> > >> > >>
> > >> > >>
> > >> > >> On Thu, Jul 23, 2020 at 2:08 PM Minna Win via RT <
> > met_help at ucar.edu>
> > >> > >> wrote:
> > >> > >>
> > >> > >> >
> > >> > >> > Thu Jul 23 14:08:13 2020: Request 96002 was acted upon.
> > >> > >> > Transaction: Given to johnhg (John Halley Gotway) by
minnawin
> > >> > >> >        Queue: met_help
> > >> > >> >      Subject: revisiting gen_vx_mask
> > >> > >> >        Owner: johnhg
> > >> > >> >   Requestors: edward.strobach at noaa.gov
> > >> > >> >       Status: open
> > >> > >> >  Ticket <URL:
> > >> https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=96002
> > >> > >
> > >> > >> >
> > >> > >> >
> > >> > >> > This transaction appears to have no content
> > >> > >> >
> > >> > >>
> > >> > >>
> > >> > >
> > >> > > --
> > >> > > Edward Strobach
> > >> > > EMC/NCEP/NWS/
> > >> > > IMSG Contractor
> > >> > > Cubicle#: 2029
> > >> > > 301-683-3717
> > >> > >
> > >> >
> > >> >
> > >> > --
> > >> > Edward Strobach
> > >> > EMC/NCEP/NWS/
> > >> > IMSG Contractor
> > >> > Cubicle#: 2029
> > >> > 301-683-3717
> > >> >
> > >> >
> > >>
> > >>
> > >
> > > --
> > > Edward Strobach
> > > EMC/NCEP/NWS/
> > > IMSG Contractor
> > > Cubicle#: 2029
> > > 301-683-3717
> > >
> >
> >
> > --
> > Edward Strobach
> > EMC/NCEP/NWS/
> > IMSG Contractor
> > Cubicle#: 2029
> > 301-683-3717
> >
> >
>
>

--
Edward Strobach
EMC/NCEP/NWS/
IMSG Contractor
Cubicle#: 2029
301-683-3717

------------------------------------------------


More information about the Met_help mailing list