[Met_help] [rt.rap.ucar.edu #94669] History for GridConfig

John Halley Gotway via RT met_help at ucar.edu
Wed Apr 1 11:07:06 MDT 2020


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

Conversations
Unread
 
1–1 of 1
 
Everything else
 
1–50 of 87,883
 
	
	
	
	
Serra, Mr. Efren, C.
	
GridConfig
 
	 
	11:17 AM
	
	
	
	
John Halley Gotway .
	
[rt.rap.ucar.edu #94662] space weather use case error
 
	 
	10:58 AM
	
	
	
	
Anna Thomas
	
Re: Draft Agreement Needed for Tara Jensen's UK Met Office Proposal 2020-0315 - Due 3-6-20
 
	 
	10:39 AM
	
	
	
	
John Halley Gotway .
	
Re: [rt.rap.ucar.edu #94651] profile comparison
 
	 
	10:39 AM
	
	
	
	
Susan Broussard
	
Re: Draft Agreement Needed for Tara Jensen's UK Met Office Proposal 2020-0315 - Due 3-6-20
 
	 
	10:29 AM
	
	
	
	
Michael Ek
	
Fwd: ECSA travel fund application
 
	 
	10:27 AM
	
	
	
	
Cecelia DeLuca - NO.
	
Re: quick-turn-around - request for 2-3 release-highlight slides -
 
	 
	10:23 AM
	
	
	
	
Jason Otkin
	
Re: verification statistics
 
	 
	10:22 AM
	
	
	
	
Jeffrey Duda - NOAA.
	
compiling MET on Orion
 
	 
	10:18 AM
	
	
	
	
Mittermaier, Marion
	
RE: Hopefully final draft SOW
 
	 
	9:59 AM
	
	
	
	
Susan Broussard
	
Re: Draft Agreement Needed for Tara Jensen's UK Met Office Proposal 2020-0315 - Due 3-6-20
 
	 
	8:06 AM
	
	
	
	
Anna Thomas
	
Re: Draft Agreement Needed for Tara Jensen's UK Met Office Proposal 2020-0315 - Due 3-6-20
 
	 
	8:00 AM
GridConfig
Inbox
	x
Serra, Mr. Efren, Contractor, Code 7531
	
11:17 AM (5 minutes ago)
	
to Minna, me

Tara/Minna – I was wondering how come grid_stat takes python_numpy as argument and then one can provide multiple files in the fcst = {} and obs = {} objects. I know Liz Satterfield uses as follows:

 

//

// Forecast and observation fields to be verified

//

fcst = {

     field = [

     {

       name       = "/users/satterfield/scripts/python/read_NRL_binary.py /unified_verif/work/workliz/global_stats_ec/tmpdir/fcst/2016010100/geopht_pre_0500.0_0000.0_glob360x1

81_2016010100_00000000_fcstfld";

       cat_thresh = [ NA ];

     },

 

…

 

obs = {

     field = [

     {

       name       = "/users/satterfield/scripts/python/read_NRL_binary.py /unified_verif/work/workliz/global_stats_ec/tmpdir/verif/2016010100/geopht_pre_0500.0_0000.0_glob360x

181_2016010100_00000000_fcstfld";

       cat_thresh = [ NA ];

     },

 

 

I was hoping to use GRIB1 probabilities and analysis files as follows:

 

fcst = {

        field = [

 

{

file_type  = GRIB1;

level      = "Z0";

prob       = TRUE;

name = "read_prob_sig_wav_ht.py /ftp/receive/serrae/ww3-tc-ofcl-ens-winds-eval/io012019/2019042600/US058GOCN-GR1mdl.0011_0255_02400U0RL2019042600_0001_000000-000000prob_sig_wa

v_ht_gt12ft";

cat_thresh = [ ==0.1 ];

},

…

obs = {

        field = [

 

{

        file_type  = GRIB1;

        level      = "Z0";

        cat_thresh = [ >0.0, >=12.0 ];

        convert(x) = 3.28084*x;

name = "/ftp/receive/serrae/ww3-tc-ofcl-ens-winds-eval/io012019/2019042700/US058GOCN-GR1mdl.0088_0240_00000F0RL2019042700_0001_000000-000000sig_wav_ht";

cat_thresh = [NA];

mask = { poly = ["/ftp/receive/serrae/ww3-tc-ofcl-ens-winds-eval/io012019/io012019-2019042700.nc"]; };

},

…

 

Efren A. Serra (Contractor)

Physicist

 

DeVine Consulting, Inc.

Naval Research Laboratory

Marine Meteorology Division

7 Grace Hopper Ave., STOP 2

Monterey, CA 93943

Code 7542

Mobile: 408-425-5027

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

Subject: GridConfig
From: John Halley Gotway
Time: Mon Mar 23 11:56:12 2020

Efren,

I see that you have a question about the Grid-Stat tool in MET.  It
sounds like you've seen how Liz Satterfield has configured Grid-Stat
using python embedding.  But you would like to GRIB version 1 data as
input to Grid-Stat.

If that is your question, then the answer is definitely yes.  MET was
originally created to handle the GRIB1 output created by the Unified
PostProcessor software package.  So it handle GRIB1 input data very
well.  And there's no need to use Python at all.  Python embedding is
a relatively new feature that can be used for datasets that MET does
not already support directly.

Instead of using PYTHON_NUMPY on the Grid-Stat command line, you'd run
it something like this:

grid_stat \
/ftp/receive/serrae/ww3-tc-ofcl-ens-winds-
eval/io012019/2019042600/US058GOCN-
GR1mdl.0011_0255_02400U0RL2019042600_0001_000000-000000prob_sig_wa \
/ftp/receive/serrae/ww3-tc-ofcl-ens-winds-
eval/io012019/2019042700/US058GOCN-
GR1mdl.0088_0240_00000F0RL2019042700_0001_000000-000000sig_wav_ht \
GridStatConfig_prob_sig_wa \
-outdir out

Where the first file contains the probabilistic forecast data, the
second file contains the verifying observations, and the 3rd file
(GridStatConfig_prob_sig_wa) is the Grid-Stat configuration file
you've created.

In that config file, you'd set...

fcst = {
  field = [
   { name="???";
      level="Z0";
      cat_thresh = [ ==0.1 ];
      prob = TRUE; }
  ];
}

obs = {
  field = [
   { name="???";
      level="Z0";
      cat_thresh = [ >0.0 ];
      convert(x) = 3.28084*x;
    }
  ];
}

Here are the questions you need to answer...
 - In the fcst dictionary, replace "???" with the GRIB code
abbreviation for this probability data.
  - In the obs dictionary, replace "???" with the GRIB code
abbreviation for the verifying observation data.
  - All probability forecasts are created as the probability of some
"event".  And the event is typically defined by thresholding the
observation data.  What's the event definition for your data?  Is it
">0" or ">=12"?  If you want to evaluate both thresholds, I think
you'll need to list the same fields twice... once using ">0" and a
second time using ">=12".

If you have additional issues or questions, you can post sample data
to our anonymous ftp site following these
instructions:https://dtcenter.org/community-code/model-evaluation-
tools-met/met-help-desk#ftp

Thanks,
John Halley Gotway

------------------------------------------------
Subject: GridConfig
From: efren.serra.ctr at nrlmry.navy.mil
Time: Mon Mar 23 12:18:24 2020

John - What if I want to use the attached GridConfig configuration
file where I specify more than one fcst/obs fields?

-----Original Message-----
From: John Halley Gotway via RT <met_help at ucar.edu>
Sent: Monday, March 23, 2020 10:56 AM
To: Serra, Mr. Efren, Contractor, Code 7531
<efren.serra.ctr at nrlmry.navy.mil>
Subject: [rt.rap.ucar.edu #94669] GridConfig

Efren,

I see that you have a question about the Grid-Stat tool in MET.  It
sounds like you've seen how Liz Satterfield has configured Grid-Stat
using python embedding.  But you would like to GRIB version 1 data as
input to Grid-Stat.

If that is your question, then the answer is definitely yes.  MET was
originally created to handle the GRIB1 output created by the Unified
PostProcessor software package.  So it handle GRIB1 input data very
well.  And there's no need to use Python at all.  Python embedding is
a relatively new feature that can be used for datasets that MET does
not already support directly.

Instead of using PYTHON_NUMPY on the Grid-Stat command line, you'd run
it something like this:

grid_stat \
/ftp/receive/serrae/ww3-tc-ofcl-ens-winds-
eval/io012019/2019042600/US058GOCN-
GR1mdl.0011_0255_02400U0RL2019042600_0001_000000-000000prob_sig_wa \
/ftp/receive/serrae/ww3-tc-ofcl-ens-winds-
eval/io012019/2019042700/US058GOCN-
GR1mdl.0088_0240_00000F0RL2019042700_0001_000000-000000sig_wav_ht \
GridStatConfig_prob_sig_wa \ -outdir out

Where the first file contains the probabilistic forecast data, the
second file contains the verifying observations, and the 3rd file
(GridStatConfig_prob_sig_wa) is the Grid-Stat configuration file
you've created.

In that config file, you'd set...

fcst = {
  field = [
   { name="???";
      level="Z0";
      cat_thresh = [ ==0.1 ];
      prob = TRUE; }
  ];
}

obs = {
  field = [
   { name="???";
      level="Z0";
      cat_thresh = [ >0.0 ];
      convert(x) = 3.28084*x;
    }
  ];
}

Here are the questions you need to answer...
 - In the fcst dictionary, replace "???" with the GRIB code
abbreviation for this probability data.
  - In the obs dictionary, replace "???" with the GRIB code
abbreviation for the verifying observation data.
  - All probability forecasts are created as the probability of some
"event".  And the event is typically defined by thresholding the
observation data.  What's the event definition for your data?  Is it
">0" or ">=12"?  If you want to evaluate both thresholds, I think
you'll need to list the same fields twice... once using ">0" and a
second time using ">=12".

If you have additional issues or questions, you can post sample data
to our anonymous ftp site following these
instructions:https://dtcenter.org/community-code/model-evaluation-
tools-met/met-help-desk#ftp

Thanks,
John Halley Gotway

------------------------------------------------
Subject: GridConfig
From: John Halley Gotway
Time: Mon Mar 23 12:49:16 2020

Efren,

Thanks for sending along your config file.  I see that you're trying
to
over multiple input files, every 12 hours for several days.  That will
not
work.  Grid-Stat is designed to read exactly one input forecast file
and
exactly one input observation file.  You can definitely configure it
to
verify multiple fields from those files in a single run, but it will
not
read data from different GRIB1 input files.  I do see how your example
is a
logical extension of what Liz Satterfield does with Python embedding,
but
the logic just currently doesn't support that.

I'd recommend 2 options:

(1) GRIB files can literally be catted together. For example "cat
file1.grb
file2.grib > file_1_and_2.grib"
You could "cat" together all the input forecast files into one big
one.
And then do the same for the observations.
In the configuration file, for each "field" array entry, you can list
the
requested timing info... valid_time = "20190428_12";
The timing info can be defined as "init_time", "valid_time", or
"fcst_lead".

(2) Instead of running Grid-Stat once to evaluate many output times,
users
typically run it many times, once for each output time.  We've been
working
on the METplus python wrappers over the last couple of years to make
this
easier.
So consider setting up a METplus use case for this evaluation.

Thanks,
John

------------------------------------------------
Subject: RE: [rt.rap.ucar.edu #94669] GridConfig
From: efren.serra.ctr at nrlmry.navy.mil
Time: Mon Mar 23 13:36:19 2020

Thanks for the feedback!

-----Original Message-----
From: John Halley Gotway via RT <met_help at ucar.edu>
Sent: Monday, March 23, 2020 11:49 AM
To: Serra, Mr. Efren, Contractor, Code 7531
<efren.serra.ctr at nrlmry.navy.mil>
Subject: Re: [rt.rap.ucar.edu #94669] GridConfig

Efren,

Thanks for sending along your config file.  I see that you're trying
to over multiple input files, every 12 hours for several days.  That
will not work.  Grid-Stat is designed to read exactly one input
forecast file and exactly one input observation file.  You can
definitely configure it to verify multiple fields from those files in
a single run, but it will not read data from different GRIB1 input
files.  I do see how your example is a logical extension of what Liz
Satterfield does with Python embedding, but the logic just currently
doesn't support that.

I'd recommend 2 options:

(1) GRIB files can literally be catted together. For example "cat
file1.grb file2.grib > file_1_and_2.grib"
You could "cat" together all the input forecast files into one big
one.
And then do the same for the observations.
In the configuration file, for each "field" array entry, you can list
the requested timing info... valid_time = "20190428_12"; The timing
info can be defined as "init_time", "valid_time", or "fcst_lead".

(2) Instead of running Grid-Stat once to evaluate many output times,
users typically run it many times, once for each output time.  We've
been working on the METplus python wrappers over the last couple of
years to make this easier.
So consider setting up a METplus use case for this evaluation.

Thanks,
John



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


More information about the Met_help mailing list