[Met_help] [rt.rap.ucar.edu #80143] History for #80140 Update

John Halley Gotway via RT met_help at ucar.edu
Thu Jun 15 10:30:55 MDT 2017


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

John, I see the issue now on the PCP_COMBINE issue - some hours in the GALWEM 
file have accumulations of 3 hours and some have accumulations for the entire 
forecast hour.   I'll try to correct that here.  I have another issue:

I am verifying ensemble probabilities for precip.  In the manual for 5.2 says 
to use the following syntax in the configuration file.  I added PQP1 and other 
to the grib2 file in the users directory (attached).  I am verifying against a 
6 hour accumulation netcdf file.   Two questions, is this the correct way to 
do Prob fcsts?  For prob obs I have 6hour accumulation netcdf files.  Will met 
convert those to 1 or 0 if the accum threshold is met or do I have to do that 
ahead of time in the obs files.  Since the manual doesn't say otherwise, I 
assume that MET does this conversion internally.  In my GRIB2 file is PQP1 so 
why am I getting the error below?  I stored a fcst and ob file on the server.

fcst = {
   message_type = [ "ADPSFC" ];
   sid_exc      = [];

   field = [
      {
        name = "PROB";
        level = [ "A006" ];
        prob =
        { name = "PQP1";
          thresh_lo = .01;
        }
      },
      {
        name = "PROB";
        level = [ "A006" ];
        prob =
        { name = "QP005";
          thresh_lo = .05;
        }
      },
      {
        name = "PROB";
        level = [ "A006" ];
        prob =
        { name = "QP010";
          thresh_lo = .10;
        }
      },
      {
        name = "PROB";
        level = [ "A006" ];
        prob =
        { name = "PCP1";
          thresh_lo = .25;
        }
      },
      {
        name = "PROB";
        level = [ "A006" ];
        prob =
        { name = "PCP1";
          thresh_lo = .50;
        }
      },
      {
        name = "PROB";
        level = [ "A006" ];
        prob =
        { name = "PCP1";
          thresh_lo = 1;
        }
      }
   ];

}

//obs=fcst;
obs = {
   message_type = [ "ADPSFC" ];
   sid_exc      = [];

   field = [
      {
        name = 16;
        level = [ "L0" ];
        GRIB1_ptv=131;
        GRIB1_center=57;
        GRIB1_subcenter=2;
        cat_thresh = [ >= .01 ];
      },
      {
        name = 16;
        level = [ "L0" ];
        GRIB1_ptv=131;
        GRIB1_center=57;
        GRIB1_subcenter=2;
        cat_thresh = [ >= .05 ];
      },
      {
        name = 16;
        level = [ "L0" ];
        GRIB1_ptv=131;
        GRIB1_center=57;
        GRIB1_subcenter=2;
        cat_thresh = [ >= .10 ];
      },
      {
        name = 16;
        level = [ "L0" ];
        GRIB1_ptv=131;
        GRIB1_center=57;
        GRIB1_subcenter=2;
        cat_thresh = [ >= .25 ];
      },
      {
        name = 16;
        level = [ "L0" ];
        GRIB1_ptv=131;
        GRIB1_center=57;
        GRIB1_subcenter=2;
        cat_thresh = [ >= .5 ];
      },
      {
        name = 16;
        level = [ "L0" ];
        GRIB1_ptv=131;
        GRIB1_center=57;
        GRIB1_subcenter=2;
        cat_thresh = [ >= 1 ];
      }
   ];
}

This is the output I get cut down to the last few lines.

DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized GRIB2 field 
indexes - disc: 0, master table: 10, center: 57, local table: 1, parm_cat: 6, 
parm: 70
DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized GRIB2 field 
indexes - disc: 0, master table: 10, center: 57, local table: 1, parm_cat: 6, 
parm: 70
DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized GRIB2 field 
indexes - disc: 0, master table: 10, center: 57, local table: 1, parm_cat: 6, 
parm: 70
DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized GRIB2 field 
indexes - disc: 0, master table: 10, center: 57, local table: 1, parm_cat: 6, 
parm: 70
DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized GRIB2 field 
indexes - disc: 0, master table: 10, center: 57, local table: 1, parm_cat: 6, 
parm: 70
DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized GRIB2 field 
indexes - disc: 0, master table: 10, center: 57, local table: 1, parm_cat: 6, 
parm: 70
DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized GRIB2 field 
indexes - disc: 0, master table: 10, center: 57, local table: 1, parm_cat: 6, 
parm: 70
DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized GRIB2 field 
indexes - disc: 0, master table: 10, center: 57, local table: 1, parm_cat: 6, 
parm: 70
DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized GRIB2 field 
indexes - disc: 0, master table: 10, center: 57, local table: 1, parm_cat: 6, 
parm: 70
DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized GRIB2 field 
indexes - disc: 0, master table: 10, center: 57, local table: 1, parm_cat: 6, 
parm: 70
DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized GRIB2 field 
indexes - disc: 0, master table: 10, center: 57, local table: 1, parm_cat: 6, 
parm: 70
DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized GRIB2 field 
indexes - disc: 0, master table: 10, center: 57, local table: 1, parm_cat: 6, 
parm: 70
DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized GRIB2 field 
indexes - disc: 0, master table: 10, center: 57, local table: 1, parm_cat: 19, 
parm: 223
DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized GRIB2 field 
indexes - disc: 0, master table: 10, center: 57, local table: 1, parm_cat: 19, 
parm: 223
DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized GRIB2 field 
indexes - disc: 0, master table: 10, center: 57, local table: 1, parm_cat: 19, 
parm: 223
DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized GRIB2 field 
indexes - disc: 0, master table: 10, center: 57, local table: 1, parm_cat: 19, 
parm: 223
DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized GRIB2 field 
indexes - disc: 0, master table: 10, center: 57, local table: 1, parm_cat: 19, 
parm: 223
DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo object of type 
"FileType_Gb2".
DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list contains 0 entries.
ERROR  :
ERROR  : VarInfoGrib::add_grib_code() - either name or GRIB1_ptv and GRIB1_rec 
or GRIB1_code must be specified in field information
ERROR  :




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

Subject: #80140 Update
From: John Halley Gotway
Time: Thu Apr 13 14:47:44 2017

Bob,

Looking in your config file, I have a question.  You are verifying a
probability of precip forecast... and the forecast is for probability
of
some event.  For example, probability of precip > 0.5.  Shouldn't you
verify that against a single observation threshold, namely observed
precip
> 0.5?  That's what I've done in my example below.

The configuration settings are a great question.  Below, I've listed
how we
intended for folks to set this up, factoring the common elements out
rather
than repeating them.

fcst = {

   name        = "PROB";
   level          = "A06";
   prob          = { name = "APCP"; }
   cat_thresh =
[>=0,>=0.1,>=0.2,>=0.3,>=0.4,>=0.5,>=0.6,>=0.7,>=0.8,>=0.9,>
=1.0];

   field = [
      { prob = { thresh_lo = .01; } },
      { prob = { thresh_lo = .05; } },
      { prob = { thresh_lo = .10; } },
      { prob = { thresh_lo = .25; } },
      { prob = { thresh_lo = .50; } },
      { prob = { thresh_lo = 1.0; } }
   ];
}

obs = {

   message_type     = [ "ADPSFC" ];
   sid_exc               = [];
   name                  = "APCP";
   level                    = "L0";
   GRIB1_ptv           = 131;
   GRIB1_center      = 57;
   GRIB1_subcenter = 2;

   field = [
      { cat_thresh = [>=.01 ]; },
      { cat_thresh = [>=.05 ]; },
      { cat_thresh = [>=.10 ]; },
      { cat_thresh = [>=.25 ]; },
      { cat_thresh = [>=.50 ]; },
      { cat_thresh = [>=1.0 ]; }
   ];
}

But I'm worried that the default Grid-Stat config file will cause us
problems.  In retrospect, we should have made the "fcst" and "obs"
settings
empty in the default config file.  Grid-Stat reads the default *first*
and
then the user-specified one *second*.  The user-specified settings
overrides the default settings.  Since there already are some default
settings in "fcst" and "obs", I'm guessing we'll have issues on what
exactly gets overridden.  For example, in the default one the "name"
of the
first "fcst.field" entry is set to "APCP".  We're trying to override
that
to be "PROB"... but defining one level up won't successfully override
it.

The details are a bit confusing, but if you try this configuration
out,
please let me know how it goes.

If you have problems, you could try to see if the following method
fixes
them:

(1) Let's say MET is installed in "/path/to/met".... and I assume you
don't
have write permissions there.

(2) Copy over MET's runtime files to a local directory (the name of
the new
directory doesn't really matter):
   cp -r /path/to/met/share/met MET_BASE_TESTING

(3) Edit your default Grid-Stat config file by just removing the whole
"fcst" and "obs" sections:
   vi MET_BASE_TESTING/config/GridStatConfig_default

(4) Set the MET_BASE environment variable to point to your local copy.
That tells MET to read your local copy instead of the one defined at
compilation time:
   setenv MET_BASE /full/path/to/MET_BASE_TESTING

(5) Rerun Grid-Stat to see if the overrides work now.

We should consider changing these defaults in the next release of MET.

Thanks,
John



On Thu, Apr 13, 2017 at 12:29 PM, robert.craig.2 at us.af.mil via RT <
met_help at ucar.edu> wrote:

>
> Thu Apr 13 12:29:24 2017: Request 80143 was acted upon.
> Transaction: Ticket created by robert.craig.2 at us.af.mil
>        Queue: met_help
>      Subject: #80140 Update
>        Owner: Nobody
>   Requestors: robert.craig.2 at us.af.mil
>       Status: new
>  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=80143 >
>
>
> John, after trying different things, I believe the error is
occurring on
> the degrib of the NETcdf ob file instead of the fcst file.  I then
replaced
> the "16" with "APCP" in the ob file and seemed to progress to my
next error
> message.
>
> DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized
GRIB2
> field indexes - disc: 0, master table: 1, center: 57, local table:
0,
> parm_cat: 1, parm: 29
> DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
object of
> type "FileType_Gb2".
> DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list contains
0
> entries.
> WARNING:
> WARNING: Multiple GRIB1 table entries match lookup criteria
(parm_name =
> APCP, table_number = 131):
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> WARNING:
> DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
object of
> type "FileType_Gb2".
> DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list contains
0
> entries.
> WARNING:
> WARNING: Multiple GRIB1 table entries match lookup criteria
(parm_name =
> APCP, table_number = 131):
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> WARNING:
> DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
object of
> type "FileType_Gb2".
> DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list contains
0
> entries.
> WARNING:
> WARNING: Multiple GRIB1 table entries match lookup criteria
(parm_name =
> APCP, table_number = 131):
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> WARNING:
> DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
object of
> type "FileType_Gb2".
> DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list contains
0
> entries.
> WARNING:
> WARNING: Multiple GRIB1 table entries match lookup criteria
(parm_name =
> APCP, table_number = 131):
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> WARNING:
> DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
object of
> type "FileType_Gb2".
> DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list contains
0
> entries.
> WARNING:
> WARNING: Multiple GRIB1 table entries match lookup criteria
(parm_name =
> APCP, table_number = 131):
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> WARNING:
> DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
object of
> type "FileType_Gb2".
> DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list contains
0
> entries.
> WARNING:
> WARNING: Multiple GRIB1 table entries match lookup criteria
(parm_name =
> APCP, table_number = 131):
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> WARNING:
> ERROR  :
> ERROR  : check_prob_thresh() -> When verifying a probability field,
you
> must select at least 3 thresholds beginning with 0.0 and ending with
1.0.
> ERROR  :
>
> Next, I swapped out the cat_thresh in the obs file with
> cat_thresh =
[>=0,>=0.1,>=0.2,>=0.3,>=0.4,>=0.5,>=0.6,>=0.7,>=0.8,>=0.9,>
> =1.0];
>   and added the same line to all the fcst fields and seemed to get
past
> the errors.  To me, it seems I have a lot of redundant information
in the
> fcst fields now but maybe that has to be.
>
> Bob
>
> fcst = {
>    message_type = [ "ADPSFC" ];
>    sid_exc      = [];
>
>    field = [
>       {
>         name = "PROB";
>         level = [ "A06" ];
>         prob =
>         { name = "APCP";
>           thresh_lo = .01;
>
>         }
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       },
>       {
>         name = "PROB";
>         level = [ "A006" ];
>         prob =
>         { name = "APCP";
>           thresh_lo = .05;
>         }
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       },
>       {
>         name = "PROB";
>         level = [ "A006" ];
>         prob =
>         { name = "APCP";
>           thresh_lo = .10;
>         }
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       },
>       {
>         name = "PROB";
>         level = [ "A006" ];
>         prob =
>         { name = "APCP";
>           thresh_lo = .25;
>         }
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       },
>       {
>         name = "PROB";
>         level = [ "A006" ];
>         prob =
>         { name = "APCP";
>           thresh_lo = .50;
>         }
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       },
>       {
>         name = "PROB";
>         level = [ "A006" ];
>         prob =
>         { name = "APCP";
>           thresh_lo = 1;
>         }
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       }
>    ];
>
> }
>
> //obs=fcst;
> obs = {
>    message_type = [ "ADPSFC" ];
>    sid_exc      = [];
>
>    field = [
>       {
>         name = "APCP";
>         level = [ "L0" ];
>         GRIB1_ptv=131;
>         GRIB1_center=57;
>         GRIB1_subcenter=2;
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       },
>       {
>         name = "APCP";
>         level = [ "L0" ];
>         GRIB1_ptv=131;
>         GRIB1_center=57;
>         GRIB1_subcenter=2;
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       },
>       {
>         name = "APCP";
>         level = [ "L0" ];
>         GRIB1_ptv=131;
>         GRIB1_center=57;
>         GRIB1_subcenter=2;
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       },
>       {
>         name = "APCP";
>         level = [ "L0" ];
>         GRIB1_ptv=131;
>         GRIB1_center=57;
>         GRIB1_subcenter=2;
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       },
>       {
>         name = "APCP";
>         level = [ "L0" ];
>         GRIB1_ptv=131;
>         GRIB1_center=57;
>         GRIB1_subcenter=2;
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       },
>       {
>         name = "APCP";
>         level = [ "L0" ];
>         GRIB1_ptv=131;
>         GRIB1_center=57;
>         GRIB1_subcenter=2;
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       }
>    ];
> }
>
>
>
>

------------------------------------------------
Subject: RE: [Non-DoD Source] Re: [rt.rap.ucar.edu #80143] #80140 Update
From: robert.craig.2 at us.af.mil
Time: Mon Apr 17 12:47:25 2017

John, I will try your recommendations.  A follow on question.  To get
the Brier Skill  Score from MET I will need to provide a climo file of
precip relative frequencies.  For this case of multiple thresholds in
the configuration file for precip, I would have to provide a relative
frequency of precipitation for the domain for each threshold of precip
(>.01, >.05, etc) in the climo file.   How would I use the climo field
to do this?
Or do I have to run MET on each precipitation threshold individually
providing a climo file for each containing the relative freq of precip
for each threshold?  How would you recommend this be done?

Thanks
Bob

-----Original Message-----
From: John Halley Gotway via RT [mailto:met_help at ucar.edu]
Sent: Thursday, April 13, 2017 3:48 PM
To: CRAIG, ROBERT J GS-12 USAF ACC 16 WS/WXN
<robert.craig.2 at us.af.mil>
Cc: SITTEL, MATTHEW C CTR USAF AFMC AFLCMC/HBAW-OL
<matthew.sittel.ctr at us.af.mil>
Subject: [Non-DoD Source] Re: [rt.rap.ucar.edu #80143] #80140 Update

Bob,

Looking in your config file, I have a question.  You are verifying a
probability of precip forecast... and the forecast is for probability
of some event.  For example, probability of precip > 0.5.  Shouldn't
you verify that against a single observation threshold, namely
observed precip
> 0.5?  That's what I've done in my example below.

The configuration settings are a great question.  Below, I've listed
how we intended for folks to set this up, factoring the common
elements out rather than repeating them.

fcst = {

   name        = "PROB";
   level          = "A06";
   prob          = { name = "APCP"; }
   cat_thresh =
[>=0,>=0.1,>=0.2,>=0.3,>=0.4,>=0.5,>=0.6,>=0.7,>=0.8,>=0.9,>
=1.0];

   field = [
      { prob = { thresh_lo = .01; } },
      { prob = { thresh_lo = .05; } },
      { prob = { thresh_lo = .10; } },
      { prob = { thresh_lo = .25; } },
      { prob = { thresh_lo = .50; } },
      { prob = { thresh_lo = 1.0; } }
   ];
}

obs = {

   message_type     = [ "ADPSFC" ];
   sid_exc               = [];
   name                  = "APCP";
   level                    = "L0";
   GRIB1_ptv           = 131;
   GRIB1_center      = 57;
   GRIB1_subcenter = 2;

   field = [
      { cat_thresh = [>=.01 ]; },
      { cat_thresh = [>=.05 ]; },
      { cat_thresh = [>=.10 ]; },
      { cat_thresh = [>=.25 ]; },
      { cat_thresh = [>=.50 ]; },
      { cat_thresh = [>=1.0 ]; }
   ];
}

But I'm worried that the default Grid-Stat config file will cause us
problems.  In retrospect, we should have made the "fcst" and "obs"
settings empty in the default config file.  Grid-Stat reads the
default *first* and then the user-specified one *second*.  The user-
specified settings overrides the default settings.  Since there
already are some default settings in "fcst" and "obs", I'm guessing
we'll have issues on what exactly gets overridden.  For example, in
the default one the "name" of the first "fcst.field" entry is set to
"APCP".  We're trying to override that to be "PROB"... but defining
one level up won't successfully override it.

The details are a bit confusing, but if you try this configuration
out, please let me know how it goes.

If you have problems, you could try to see if the following method
fixes
them:

(1) Let's say MET is installed in "/path/to/met".... and I assume you
don't have write permissions there.

(2) Copy over MET's runtime files to a local directory (the name of
the new directory doesn't really matter):
   cp -r /path/to/met/share/met MET_BASE_TESTING

(3) Edit your default Grid-Stat config file by just removing the whole
"fcst" and "obs" sections:
   vi MET_BASE_TESTING/config/GridStatConfig_default

(4) Set the MET_BASE environment variable to point to your local copy.
That tells MET to read your local copy instead of the one defined at
compilation time:
   setenv MET_BASE /full/path/to/MET_BASE_TESTING

(5) Rerun Grid-Stat to see if the overrides work now.

We should consider changing these defaults in the next release of MET.

Thanks,
John



On Thu, Apr 13, 2017 at 12:29 PM, robert.craig.2 at us.af.mil via RT <
met_help at ucar.edu> wrote:

>
> Thu Apr 13 12:29:24 2017: Request 80143 was acted upon.
> Transaction: Ticket created by robert.craig.2 at us.af.mil
>        Queue: met_help
>      Subject: #80140 Update
>        Owner: Nobody
>   Requestors: robert.craig.2 at us.af.mil
>       Status: new
>  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=80143
> >
>
>
> John, after trying different things, I believe the error is
occurring
> on the degrib of the NETcdf ob file instead of the fcst file.  I
then
> replaced the "16" with "APCP" in the ob file and seemed to progress
to
> my next error message.
>
> DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized
> GRIB2 field indexes - disc: 0, master table: 1, center: 57, local
> table: 0,
> parm_cat: 1, parm: 29
> DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
object
> of type "FileType_Gb2".
> DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list contains
0
> entries.
> WARNING:
> WARNING: Multiple GRIB1 table entries match lookup criteria
(parm_name
> = APCP, table_number = 131):
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> WARNING:
> DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
object
> of type "FileType_Gb2".
> DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list contains
0
> entries.
> WARNING:
> WARNING: Multiple GRIB1 table entries match lookup criteria
(parm_name
> = APCP, table_number = 131):
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> WARNING:
> DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
object
> of type "FileType_Gb2".
> DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list contains
0
> entries.
> WARNING:
> WARNING: Multiple GRIB1 table entries match lookup criteria
(parm_name
> = APCP, table_number = 131):
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> WARNING:
> DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
object
> of type "FileType_Gb2".
> DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list contains
0
> entries.
> WARNING:
> WARNING: Multiple GRIB1 table entries match lookup criteria
(parm_name
> = APCP, table_number = 131):
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> WARNING:
> DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
object
> of type "FileType_Gb2".
> DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list contains
0
> entries.
> WARNING:
> WARNING: Multiple GRIB1 table entries match lookup criteria
(parm_name
> = APCP, table_number = 131):
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> WARNING:
> DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
object
> of type "FileType_Gb2".
> DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list contains
0
> entries.
> WARNING:
> WARNING: Multiple GRIB1 table entries match lookup criteria
(parm_name
> = APCP, table_number = 131):
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING:   parm_name: APCP, table_number = 131, code = 61, center =
57,
> subcenter = 2
> WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> WARNING:
> ERROR  :
> ERROR  : check_prob_thresh() -> When verifying a probability field,
> you must select at least 3 thresholds beginning with 0.0 and ending
with 1.0.
> ERROR  :
>
> Next, I swapped out the cat_thresh in the obs file with cat_thresh =
> [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>=0.5,>=0.6,>=0.7,>=0.8,>=0.9,>
> =1.0];
>   and added the same line to all the fcst fields and seemed to get
> past the errors.  To me, it seems I have a lot of redundant
> information in the fcst fields now but maybe that has to be.
>
> Bob
>
> fcst = {
>    message_type = [ "ADPSFC" ];
>    sid_exc      = [];
>
>    field = [
>       {
>         name = "PROB";
>         level = [ "A06" ];
>         prob =
>         { name = "APCP";
>           thresh_lo = .01;
>
>         }
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       },
>       {
>         name = "PROB";
>         level = [ "A006" ];
>         prob =
>         { name = "APCP";
>           thresh_lo = .05;
>         }
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       },
>       {
>         name = "PROB";
>         level = [ "A006" ];
>         prob =
>         { name = "APCP";
>           thresh_lo = .10;
>         }
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       },
>       {
>         name = "PROB";
>         level = [ "A006" ];
>         prob =
>         { name = "APCP";
>           thresh_lo = .25;
>         }
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       },
>       {
>         name = "PROB";
>         level = [ "A006" ];
>         prob =
>         { name = "APCP";
>           thresh_lo = .50;
>         }
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       },
>       {
>         name = "PROB";
>         level = [ "A006" ];
>         prob =
>         { name = "APCP";
>           thresh_lo = 1;
>         }
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       }
>    ];
>
> }
>
> //obs=fcst;
> obs = {
>    message_type = [ "ADPSFC" ];
>    sid_exc      = [];
>
>    field = [
>       {
>         name = "APCP";
>         level = [ "L0" ];
>         GRIB1_ptv=131;
>         GRIB1_center=57;
>         GRIB1_subcenter=2;
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       },
>       {
>         name = "APCP";
>         level = [ "L0" ];
>         GRIB1_ptv=131;
>         GRIB1_center=57;
>         GRIB1_subcenter=2;
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       },
>       {
>         name = "APCP";
>         level = [ "L0" ];
>         GRIB1_ptv=131;
>         GRIB1_center=57;
>         GRIB1_subcenter=2;
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       },
>       {
>         name = "APCP";
>         level = [ "L0" ];
>         GRIB1_ptv=131;
>         GRIB1_center=57;
>         GRIB1_subcenter=2;
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       },
>       {
>         name = "APCP";
>         level = [ "L0" ];
>         GRIB1_ptv=131;
>         GRIB1_center=57;
>         GRIB1_subcenter=2;
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       },
>       {
>         name = "APCP";
>         level = [ "L0" ];
>         GRIB1_ptv=131;
>         GRIB1_center=57;
>         GRIB1_subcenter=2;
>         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
>       }
>    ];
> }
>
>
>
>



------------------------------------------------
Subject: #80140 Update
From: John Halley Gotway
Time: Mon Apr 17 14:55:00 2017

Bob,

You should be able to process all the fields in a single run.  Let's
say
that you have a NetCDF file containing the climatologies for frequency
of
precip exceeding 0.01, 0.05, and so on.  Let's say the NetCDF
variables are
named... APCP_FREQ_0.01, APCP_FREQ_0.05, and so on.  You'd set up the
"climo_mean" section of the Grid-Stat config file like this:

climo_mean = {

   file_name = [ "/full/path/to/climo_mean_nc_file" ];
   field = [
      { name = "APCP_FREQ_0.01"; level = "(*,*)"; },
      { name = "APCP_FREQ_0.05"; level = "(*,*)"; },
      { name = "APCP_FREQ_0.10"; level = "(*,*)"; },
      { name = "APCP_FREQ_0.25"; level = "(*,*)"; },
      { name = "APCP_FREQ_0.50"; level = "(*,*)"; },
      { name = "APCP_FREQ_1.00"; level = "(*,*)"; }
   ];

...

Notice that I'm defining the exact same number of climo fields as the
number of forecast fields I'm evaluating.

Make sense?

Thanks,
John

On Mon, Apr 17, 2017 at 12:47 PM, robert.craig.2 at us.af.mil via RT <
met_help at ucar.edu> wrote:

>
> <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=80143 >
>
> John, I will try your recommendations.  A follow on question.  To
get the
> Brier Skill  Score from MET I will need to provide a climo file of
precip
> relative frequencies.  For this case of multiple thresholds in the
> configuration file for precip, I would have to provide a relative
frequency
> of precipitation for the domain for each threshold of precip (>.01,
>.05,
> etc) in the climo file.   How would I use the climo field to do
this?
> Or do I have to run MET on each precipitation threshold individually
> providing a climo file for each containing the relative freq of
precip for
> each threshold?  How would you recommend this be done?
>
> Thanks
> Bob
>
> -----Original Message-----
> From: John Halley Gotway via RT [mailto:met_help at ucar.edu]
> Sent: Thursday, April 13, 2017 3:48 PM
> To: CRAIG, ROBERT J GS-12 USAF ACC 16 WS/WXN
<robert.craig.2 at us.af.mil>
> Cc: SITTEL, MATTHEW C CTR USAF AFMC AFLCMC/HBAW-OL <
> matthew.sittel.ctr at us.af.mil>
> Subject: [Non-DoD Source] Re: [rt.rap.ucar.edu #80143] #80140 Update
>
> Bob,
>
> Looking in your config file, I have a question.  You are verifying a
> probability of precip forecast... and the forecast is for
probability of
> some event.  For example, probability of precip > 0.5.  Shouldn't
you
> verify that against a single observation threshold, namely observed
precip
> > 0.5?  That's what I've done in my example below.
>
> The configuration settings are a great question.  Below, I've listed
how
> we intended for folks to set this up, factoring the common elements
out
> rather than repeating them.
>
> fcst = {
>
>    name        = "PROB";
>    level          = "A06";
>    prob          = { name = "APCP"; }
>    cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>
> =1.0];
>
>    field = [
>       { prob = { thresh_lo = .01; } },
>       { prob = { thresh_lo = .05; } },
>       { prob = { thresh_lo = .10; } },
>       { prob = { thresh_lo = .25; } },
>       { prob = { thresh_lo = .50; } },
>       { prob = { thresh_lo = 1.0; } }
>    ];
> }
>
> obs = {
>
>    message_type     = [ "ADPSFC" ];
>    sid_exc               = [];
>    name                  = "APCP";
>    level                    = "L0";
>    GRIB1_ptv           = 131;
>    GRIB1_center      = 57;
>    GRIB1_subcenter = 2;
>
>    field = [
>       { cat_thresh = [>=.01 ]; },
>       { cat_thresh = [>=.05 ]; },
>       { cat_thresh = [>=.10 ]; },
>       { cat_thresh = [>=.25 ]; },
>       { cat_thresh = [>=.50 ]; },
>       { cat_thresh = [>=1.0 ]; }
>    ];
> }
>
> But I'm worried that the default Grid-Stat config file will cause us
> problems.  In retrospect, we should have made the "fcst" and "obs"
settings
> empty in the default config file.  Grid-Stat reads the default
*first* and
> then the user-specified one *second*.  The user-specified settings
> overrides the default settings.  Since there already are some
default
> settings in "fcst" and "obs", I'm guessing we'll have issues on what
> exactly gets overridden.  For example, in the default one the "name"
of the
> first "fcst.field" entry is set to "APCP".  We're trying to override
that
> to be "PROB"... but defining one level up won't successfully
override it.
>
> The details are a bit confusing, but if you try this configuration
out,
> please let me know how it goes.
>
> If you have problems, you could try to see if the following method
fixes
> them:
>
> (1) Let's say MET is installed in "/path/to/met".... and I assume
you
> don't have write permissions there.
>
> (2) Copy over MET's runtime files to a local directory (the name of
the
> new directory doesn't really matter):
>    cp -r /path/to/met/share/met MET_BASE_TESTING
>
> (3) Edit your default Grid-Stat config file by just removing the
whole
> "fcst" and "obs" sections:
>    vi MET_BASE_TESTING/config/GridStatConfig_default
>
> (4) Set the MET_BASE environment variable to point to your local
copy.
> That tells MET to read your local copy instead of the one defined at
> compilation time:
>    setenv MET_BASE /full/path/to/MET_BASE_TESTING
>
> (5) Rerun Grid-Stat to see if the overrides work now.
>
> We should consider changing these defaults in the next release of
MET.
>
> Thanks,
> John
>
>
>
> On Thu, Apr 13, 2017 at 12:29 PM, robert.craig.2 at us.af.mil via RT <
> met_help at ucar.edu> wrote:
>
> >
> > Thu Apr 13 12:29:24 2017: Request 80143 was acted upon.
> > Transaction: Ticket created by robert.craig.2 at us.af.mil
> >        Queue: met_help
> >      Subject: #80140 Update
> >        Owner: Nobody
> >   Requestors: robert.craig.2 at us.af.mil
> >       Status: new
> >  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=80143
> > >
> >
> >
> > John, after trying different things, I believe the error is
occurring
> > on the degrib of the NETcdf ob file instead of the fcst file.  I
then
> > replaced the "16" with "APCP" in the ob file and seemed to
progress to
> > my next error message.
> >
> > DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized
> > GRIB2 field indexes - disc: 0, master table: 1, center: 57, local
> > table: 0,
> > parm_cat: 1, parm: 29
> > DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
object
> > of type "FileType_Gb2".
> > DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list
contains 0
> > entries.
> > WARNING:
> > WARNING: Multiple GRIB1 table entries match lookup criteria
(parm_name
> > = APCP, table_number = 131):
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> > WARNING:
> > DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
object
> > of type "FileType_Gb2".
> > DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list
contains 0
> > entries.
> > WARNING:
> > WARNING: Multiple GRIB1 table entries match lookup criteria
(parm_name
> > = APCP, table_number = 131):
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> > WARNING:
> > DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
object
> > of type "FileType_Gb2".
> > DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list
contains 0
> > entries.
> > WARNING:
> > WARNING: Multiple GRIB1 table entries match lookup criteria
(parm_name
> > = APCP, table_number = 131):
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> > WARNING:
> > DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
object
> > of type "FileType_Gb2".
> > DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list
contains 0
> > entries.
> > WARNING:
> > WARNING: Multiple GRIB1 table entries match lookup criteria
(parm_name
> > = APCP, table_number = 131):
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> > WARNING:
> > DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
object
> > of type "FileType_Gb2".
> > DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list
contains 0
> > entries.
> > WARNING:
> > WARNING: Multiple GRIB1 table entries match lookup criteria
(parm_name
> > = APCP, table_number = 131):
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> > WARNING:
> > DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
object
> > of type "FileType_Gb2".
> > DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list
contains 0
> > entries.
> > WARNING:
> > WARNING: Multiple GRIB1 table entries match lookup criteria
(parm_name
> > = APCP, table_number = 131):
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> > WARNING:
> > ERROR  :
> > ERROR  : check_prob_thresh() -> When verifying a probability
field,
> > you must select at least 3 thresholds beginning with 0.0 and
ending with
> 1.0.
> > ERROR  :
> >
> > Next, I swapped out the cat_thresh in the obs file with cat_thresh
=
> > [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>=0.5,>=0.6,>=0.7,>=0.8,>=0.9,>
> > =1.0];
> >   and added the same line to all the fcst fields and seemed to get
> > past the errors.  To me, it seems I have a lot of redundant
> > information in the fcst fields now but maybe that has to be.
> >
> > Bob
> >
> > fcst = {
> >    message_type = [ "ADPSFC" ];
> >    sid_exc      = [];
> >
> >    field = [
> >       {
> >         name = "PROB";
> >         level = [ "A06" ];
> >         prob =
> >         { name = "APCP";
> >           thresh_lo = .01;
> >
> >         }
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "PROB";
> >         level = [ "A006" ];
> >         prob =
> >         { name = "APCP";
> >           thresh_lo = .05;
> >         }
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "PROB";
> >         level = [ "A006" ];
> >         prob =
> >         { name = "APCP";
> >           thresh_lo = .10;
> >         }
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "PROB";
> >         level = [ "A006" ];
> >         prob =
> >         { name = "APCP";
> >           thresh_lo = .25;
> >         }
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "PROB";
> >         level = [ "A006" ];
> >         prob =
> >         { name = "APCP";
> >           thresh_lo = .50;
> >         }
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "PROB";
> >         level = [ "A006" ];
> >         prob =
> >         { name = "APCP";
> >           thresh_lo = 1;
> >         }
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       }
> >    ];
> >
> > }
> >
> > //obs=fcst;
> > obs = {
> >    message_type = [ "ADPSFC" ];
> >    sid_exc      = [];
> >
> >    field = [
> >       {
> >         name = "APCP";
> >         level = [ "L0" ];
> >         GRIB1_ptv=131;
> >         GRIB1_center=57;
> >         GRIB1_subcenter=2;
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "APCP";
> >         level = [ "L0" ];
> >         GRIB1_ptv=131;
> >         GRIB1_center=57;
> >         GRIB1_subcenter=2;
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "APCP";
> >         level = [ "L0" ];
> >         GRIB1_ptv=131;
> >         GRIB1_center=57;
> >         GRIB1_subcenter=2;
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "APCP";
> >         level = [ "L0" ];
> >         GRIB1_ptv=131;
> >         GRIB1_center=57;
> >         GRIB1_subcenter=2;
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "APCP";
> >         level = [ "L0" ];
> >         GRIB1_ptv=131;
> >         GRIB1_center=57;
> >         GRIB1_subcenter=2;
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "APCP";
> >         level = [ "L0" ];
> >         GRIB1_ptv=131;
> >         GRIB1_center=57;
> >         GRIB1_subcenter=2;
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       }
> >    ];
> > }
> >
> >
> >
> >
>
>
>
>

------------------------------------------------
Subject: RE: [Non-DoD Source] Re: [rt.rap.ucar.edu #80143] #80140 Update
From: robert.craig.2 at us.af.mil
Time: Mon Apr 17 15:15:39 2017

John, that makes sense.  I will press forward.

Thanks

-----Original Message-----
From: John Halley Gotway via RT [mailto:met_help at ucar.edu]
Sent: Monday, April 17, 2017 3:55 PM
To: CRAIG, ROBERT J GS-12 USAF ACC 16 WS/WXN
<robert.craig.2 at us.af.mil>
Cc: SITTEL, MATTHEW C CTR USAF AFMC AFLCMC/HBAW-OL
<matthew.sittel.ctr at us.af.mil>
Subject: Re: [Non-DoD Source] Re: [rt.rap.ucar.edu #80143] #80140
Update

Bob,

You should be able to process all the fields in a single run.  Let's
say that you have a NetCDF file containing the climatologies for
frequency of precip exceeding 0.01, 0.05, and so on.  Let's say the
NetCDF variables are named... APCP_FREQ_0.01, APCP_FREQ_0.05, and so
on.  You'd set up the "climo_mean" section of the Grid-Stat config
file like this:

climo_mean = {

   file_name = [ "/full/path/to/climo_mean_nc_file" ];
   field = [
      { name = "APCP_FREQ_0.01"; level = "(*,*)"; },
      { name = "APCP_FREQ_0.05"; level = "(*,*)"; },
      { name = "APCP_FREQ_0.10"; level = "(*,*)"; },
      { name = "APCP_FREQ_0.25"; level = "(*,*)"; },
      { name = "APCP_FREQ_0.50"; level = "(*,*)"; },
      { name = "APCP_FREQ_1.00"; level = "(*,*)"; }
   ];

...

Notice that I'm defining the exact same number of climo fields as the
number of forecast fields I'm evaluating.

Make sense?

Thanks,
John

On Mon, Apr 17, 2017 at 12:47 PM, robert.craig.2 at us.af.mil via RT <
met_help at ucar.edu> wrote:

>
> <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=80143 >
>
> John, I will try your recommendations.  A follow on question.  To
get
> the Brier Skill  Score from MET I will need to provide a climo file
of
> precip relative frequencies.  For this case of multiple thresholds
in
> the configuration file for precip, I would have to provide a
relative
> frequency of precipitation for the domain for each threshold of
precip (>.01, >.05,
> etc) in the climo file.   How would I use the climo field to do
this?
> Or do I have to run MET on each precipitation threshold individually
> providing a climo file for each containing the relative freq of
precip
> for each threshold?  How would you recommend this be done?
>
> Thanks
> Bob
>
> -----Original Message-----
> From: John Halley Gotway via RT [mailto:met_help at ucar.edu]
> Sent: Thursday, April 13, 2017 3:48 PM
> To: CRAIG, ROBERT J GS-12 USAF ACC 16 WS/WXN
> <robert.craig.2 at us.af.mil>
> Cc: SITTEL, MATTHEW C CTR USAF AFMC AFLCMC/HBAW-OL <
> matthew.sittel.ctr at us.af.mil>
> Subject: [Non-DoD Source] Re: [rt.rap.ucar.edu #80143] #80140 Update
>
> Bob,
>
> Looking in your config file, I have a question.  You are verifying a
> probability of precip forecast... and the forecast is for
probability
> of some event.  For example, probability of precip > 0.5.  Shouldn't
> you verify that against a single observation threshold, namely
> observed precip
> > 0.5?  That's what I've done in my example below.
>
> The configuration settings are a great question.  Below, I've listed
> how we intended for folks to set this up, factoring the common
> elements out rather than repeating them.
>
> fcst = {
>
>    name        = "PROB";
>    level          = "A06";
>    prob          = { name = "APCP"; }
>    cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,> =1.0];
>
>    field = [
>       { prob = { thresh_lo = .01; } },
>       { prob = { thresh_lo = .05; } },
>       { prob = { thresh_lo = .10; } },
>       { prob = { thresh_lo = .25; } },
>       { prob = { thresh_lo = .50; } },
>       { prob = { thresh_lo = 1.0; } }
>    ];
> }
>
> obs = {
>
>    message_type     = [ "ADPSFC" ];
>    sid_exc               = [];
>    name                  = "APCP";
>    level                    = "L0";
>    GRIB1_ptv           = 131;
>    GRIB1_center      = 57;
>    GRIB1_subcenter = 2;
>
>    field = [
>       { cat_thresh = [>=.01 ]; },
>       { cat_thresh = [>=.05 ]; },
>       { cat_thresh = [>=.10 ]; },
>       { cat_thresh = [>=.25 ]; },
>       { cat_thresh = [>=.50 ]; },
>       { cat_thresh = [>=1.0 ]; }
>    ];
> }
>
> But I'm worried that the default Grid-Stat config file will cause us
> problems.  In retrospect, we should have made the "fcst" and "obs"
> settings empty in the default config file.  Grid-Stat reads the
> default *first* and then the user-specified one *second*.  The
> user-specified settings overrides the default settings.  Since there
> already are some default settings in "fcst" and "obs", I'm guessing
> we'll have issues on what exactly gets overridden.  For example, in
> the default one the "name" of the first "fcst.field" entry is set to
> "APCP".  We're trying to override that to be "PROB"... but defining
one level up won't successfully override it.
>
> The details are a bit confusing, but if you try this configuration
> out, please let me know how it goes.
>
> If you have problems, you could try to see if the following method
> fixes
> them:
>
> (1) Let's say MET is installed in "/path/to/met".... and I assume
you
> don't have write permissions there.
>
> (2) Copy over MET's runtime files to a local directory (the name of
> the new directory doesn't really matter):
>    cp -r /path/to/met/share/met MET_BASE_TESTING
>
> (3) Edit your default Grid-Stat config file by just removing the
whole
> "fcst" and "obs" sections:
>    vi MET_BASE_TESTING/config/GridStatConfig_default
>
> (4) Set the MET_BASE environment variable to point to your local
copy.
> That tells MET to read your local copy instead of the one defined at
> compilation time:
>    setenv MET_BASE /full/path/to/MET_BASE_TESTING
>
> (5) Rerun Grid-Stat to see if the overrides work now.
>
> We should consider changing these defaults in the next release of
MET.
>
> Thanks,
> John
>
>
>
> On Thu, Apr 13, 2017 at 12:29 PM, robert.craig.2 at us.af.mil via RT <
> met_help at ucar.edu> wrote:
>
> >
> > Thu Apr 13 12:29:24 2017: Request 80143 was acted upon.
> > Transaction: Ticket created by robert.craig.2 at us.af.mil
> >        Queue: met_help
> >      Subject: #80140 Update
> >        Owner: Nobody
> >   Requestors: robert.craig.2 at us.af.mil
> >       Status: new
> >  Ticket <URL:
> > https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=80143
> > >
> >
> >
> > John, after trying different things, I believe the error is
> > occurring on the degrib of the NETcdf ob file instead of the fcst
> > file.  I then replaced the "16" with "APCP" in the ob file and
> > seemed to progress to my next error message.
> >
> > DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized
> > GRIB2 field indexes - disc: 0, master table: 1, center: 57, local
> > table: 0,
> > parm_cat: 1, parm: 29
> > DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
> > object of type "FileType_Gb2".
> > DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list
contains
> > 0 entries.
> > WARNING:
> > WARNING: Multiple GRIB1 table entries match lookup criteria
> > (parm_name = APCP, table_number = 131):
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> > WARNING:
> > DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
> > object of type "FileType_Gb2".
> > DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list
contains
> > 0 entries.
> > WARNING:
> > WARNING: Multiple GRIB1 table entries match lookup criteria
> > (parm_name = APCP, table_number = 131):
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> > WARNING:
> > DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
> > object of type "FileType_Gb2".
> > DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list
contains
> > 0 entries.
> > WARNING:
> > WARNING: Multiple GRIB1 table entries match lookup criteria
> > (parm_name = APCP, table_number = 131):
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> > WARNING:
> > DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
> > object of type "FileType_Gb2".
> > DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list
contains
> > 0 entries.
> > WARNING:
> > WARNING: Multiple GRIB1 table entries match lookup criteria
> > (parm_name = APCP, table_number = 131):
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> > WARNING:
> > DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
> > object of type "FileType_Gb2".
> > DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list
contains
> > 0 entries.
> > WARNING:
> > WARNING: Multiple GRIB1 table entries match lookup criteria
> > (parm_name = APCP, table_number = 131):
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> > WARNING:
> > DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
> > object of type "FileType_Gb2".
> > DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list
contains
> > 0 entries.
> > WARNING:
> > WARNING: Multiple GRIB1 table entries match lookup criteria
> > (parm_name = APCP, table_number = 131):
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> > WARNING:
> > ERROR  :
> > ERROR  : check_prob_thresh() -> When verifying a probability
field,
> > you must select at least 3 thresholds beginning with 0.0 and
ending
> > with
> 1.0.
> > ERROR  :
> >
> > Next, I swapped out the cat_thresh in the obs file with cat_thresh
=
> > [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>=0.5,>=0.6,>=0.7,>=0.8,>=0.9,>
> > =1.0];
> >   and added the same line to all the fcst fields and seemed to get
> > past the errors.  To me, it seems I have a lot of redundant
> > information in the fcst fields now but maybe that has to be.
> >
> > Bob
> >
> > fcst = {
> >    message_type = [ "ADPSFC" ];
> >    sid_exc      = [];
> >
> >    field = [
> >       {
> >         name = "PROB";
> >         level = [ "A06" ];
> >         prob =
> >         { name = "APCP";
> >           thresh_lo = .01;
> >
> >         }
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "PROB";
> >         level = [ "A006" ];
> >         prob =
> >         { name = "APCP";
> >           thresh_lo = .05;
> >         }
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "PROB";
> >         level = [ "A006" ];
> >         prob =
> >         { name = "APCP";
> >           thresh_lo = .10;
> >         }
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "PROB";
> >         level = [ "A006" ];
> >         prob =
> >         { name = "APCP";
> >           thresh_lo = .25;
> >         }
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "PROB";
> >         level = [ "A006" ];
> >         prob =
> >         { name = "APCP";
> >           thresh_lo = .50;
> >         }
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "PROB";
> >         level = [ "A006" ];
> >         prob =
> >         { name = "APCP";
> >           thresh_lo = 1;
> >         }
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       }
> >    ];
> >
> > }
> >
> > //obs=fcst;
> > obs = {
> >    message_type = [ "ADPSFC" ];
> >    sid_exc      = [];
> >
> >    field = [
> >       {
> >         name = "APCP";
> >         level = [ "L0" ];
> >         GRIB1_ptv=131;
> >         GRIB1_center=57;
> >         GRIB1_subcenter=2;
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "APCP";
> >         level = [ "L0" ];
> >         GRIB1_ptv=131;
> >         GRIB1_center=57;
> >         GRIB1_subcenter=2;
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "APCP";
> >         level = [ "L0" ];
> >         GRIB1_ptv=131;
> >         GRIB1_center=57;
> >         GRIB1_subcenter=2;
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "APCP";
> >         level = [ "L0" ];
> >         GRIB1_ptv=131;
> >         GRIB1_center=57;
> >         GRIB1_subcenter=2;
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "APCP";
> >         level = [ "L0" ];
> >         GRIB1_ptv=131;
> >         GRIB1_center=57;
> >         GRIB1_subcenter=2;
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "APCP";
> >         level = [ "L0" ];
> >         GRIB1_ptv=131;
> >         GRIB1_center=57;
> >         GRIB1_subcenter=2;
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       }
> >    ];
> > }
> >
> >
> >
> >
>
>
>
>



------------------------------------------------
Subject: #80140 Update
From: robert.craig.2 at us.af.mil
Time: Wed Apr 19 08:22:53 2017

John, I made the changes you recommended below for the fcst, ob, and
climo
fields.  I also removed the fcst and obs sections for the
pointstatconfig_default file.  After doing all that I am getting the
following
error:

DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized
GRIB2 field
indexes - disc: 0, master table: 1, center: 57, local table: 0,
parm_cat: 1,
parm: 29
DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized
GRIB2 field
indexes - disc: 0, master table: 1, center: 57, local table: 0,
parm_cat: 1,
parm: 29
DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized
GRIB2 field
indexes - disc: 0, master table: 1, center: 57, local table: 0,
parm_cat: 1,
parm: 29
DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized
GRIB2 field
indexes - disc: 0, master table: 1, center: 57, local table: 0,
parm_cat: 1,
parm: 29
DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized
GRIB2 field
indexes - disc: 0, master table: 1, center: 57, local table: 0,
parm_cat: 1,
parm: 29
DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized
GRIB2 field
indexes - disc: 0, master table: 1, center: 57, local table: 0,
parm_cat: 1,
parm: 29
DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo object
of type
"FileType_Gb2".
DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list contains 0
entries.
ERROR  :
ERROR  : VarInfoGrib2::set_dict() - unrecognized GRIB2 probability
field
abbreviation 'PROB'
ERROR  :

My config file is attached.  The problem with these errors is they
don't say
what caused them: fcst, obs, or climo field.  I assume it was fcst
since it
says it was related to GRIB2.   I didn't get this error when I had the
fcst
fields spread out, see below.  I like the consolidated version - where
did I
go wrong?   Thanks Bob


fcst = {
   message_type = [ "ADPSFC" ];
   sid_exc      = [];

   field = [
      {
        name = "PROB";
        level = [ "A06" ];
        prob =
        { name = "APCP";
          thresh_lo = .01;

        }
        cat_thresh =
[>=0,>=0.1,>=0.2,>=0.3,>=0.4,>=0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
      },
      {
        name = "PROB";
        level = [ "A006" ];
        prob =
        { name = "APCP";
          thresh_lo = .05;
        }
        cat_thresh =
[>=0,>=0.1,>=0.2,>=0.3,>=0.4,>=0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
      },
      {
        name = "PROB";
        level = [ "A006" ];
        prob =
        { name = "APCP";
          thresh_lo = .10;
        }
        cat_thresh =
[>=0,>=0.1,>=0.2,>=0.3,>=0.4,>=0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
      },
      {
        name = "PROB";
        level = [ "A006" ];
        prob =
        { name = "APCP";
          thresh_lo = .25;
        }
        cat_thresh =
[>=0,>=0.1,>=0.2,>=0.3,>=0.4,>=0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
      },
      {
        name = "PROB";
        level = [ "A006" ];
        prob =
        { name = "APCP";
          thresh_lo = .50;
        }
        cat_thresh =
[>=0,>=0.1,>=0.2,>=0.3,>=0.4,>=0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
      },
      {
        name = "PROB";
        level = [ "A006" ];
        prob =
        { name = "APCP";
          thresh_lo = 1;
        }
        cat_thresh =
[>=0,>=0.1,>=0.2,>=0.3,>=0.4,>=0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
      }
   ];

}


-----Original Message-----
From: John Halley Gotway via RT [mailto:met_help at ucar.edu]
Sent: Monday, April 17, 2017 3:55 PM
To: CRAIG, ROBERT J GS-12 USAF ACC 16 WS/WXN
<robert.craig.2 at us.af.mil>
Cc: SITTEL, MATTHEW C CTR USAF AFMC AFLCMC/HBAW-OL
<matthew.sittel.ctr at us.af.mil>
Subject: Re: [Non-DoD Source] Re: [rt.rap.ucar.edu #80143] #80140
Update

Bob,

You should be able to process all the fields in a single run.  Let's
say that
you have a NetCDF file containing the climatologies for frequency of
precip
exceeding 0.01, 0.05, and so on.  Let's say the NetCDF variables are
named...
APCP_FREQ_0.01, APCP_FREQ_0.05, and so on.  You'd set up the
"climo_mean"
section of the Grid-Stat config file like this:

climo_mean = {

   file_name = [ "/full/path/to/climo_mean_nc_file" ];
   field = [
      { name = "APCP_FREQ_0.01"; level = "(*,*)"; },
      { name = "APCP_FREQ_0.05"; level = "(*,*)"; },
      { name = "APCP_FREQ_0.10"; level = "(*,*)"; },
      { name = "APCP_FREQ_0.25"; level = "(*,*)"; },
      { name = "APCP_FREQ_0.50"; level = "(*,*)"; },
      { name = "APCP_FREQ_1.00"; level = "(*,*)"; }
   ];

...

Notice that I'm defining the exact same number of climo fields as the
number
of forecast fields I'm evaluating.

Make sense?

Thanks,
John

On Mon, Apr 17, 2017 at 12:47 PM, robert.craig.2 at us.af.mil via RT <
met_help at ucar.edu> wrote:

>
> <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=80143 >
>
> John, I will try your recommendations.  A follow on question.  To
get
> the Brier Skill  Score from MET I will need to provide a climo file
of
> precip relative frequencies.  For this case of multiple thresholds
in
> the configuration file for precip, I would have to provide a
relative
> frequency of precipitation for the domain for each threshold of
precip
> (>.01, >.05,
> etc) in the climo file.   How would I use the climo field to do
this?
> Or do I have to run MET on each precipitation threshold individually
> providing a climo file for each containing the relative freq of
precip
> for each threshold?  How would you recommend this be done?
>
> Thanks
> Bob
>
> -----Original Message-----
> From: John Halley Gotway via RT [mailto:met_help at ucar.edu]
> Sent: Thursday, April 13, 2017 3:48 PM
> To: CRAIG, ROBERT J GS-12 USAF ACC 16 WS/WXN
> <robert.craig.2 at us.af.mil>
> Cc: SITTEL, MATTHEW C CTR USAF AFMC AFLCMC/HBAW-OL <
> matthew.sittel.ctr at us.af.mil>
> Subject: [Non-DoD Source] Re: [rt.rap.ucar.edu #80143] #80140 Update
>
> Bob,
>
> Looking in your config file, I have a question.  You are verifying a
> probability of precip forecast... and the forecast is for
probability
> of some event.  For example, probability of precip > 0.5.  Shouldn't
> you verify that against a single observation threshold, namely
> observed precip
> > 0.5?  That's what I've done in my example below.
>
> The configuration settings are a great question.  Below, I've listed
> how we intended for folks to set this up, factoring the common
> elements out rather than repeating them.
>
> fcst = {
>
>    name        = "PROB";
>    level          = "A06";
>    prob          = { name = "APCP"; }
>    cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> =0.5,>=0.6,>=0.7,>=0.8,>=0.9,> =1.0];
>
>    field = [
>       { prob = { thresh_lo = .01; } },
>       { prob = { thresh_lo = .05; } },
>       { prob = { thresh_lo = .10; } },
>       { prob = { thresh_lo = .25; } },
>       { prob = { thresh_lo = .50; } },
>       { prob = { thresh_lo = 1.0; } }
>    ];
> }
>
> obs = {
>
>    message_type     = [ "ADPSFC" ];
>    sid_exc               = [];
>    name                  = "APCP";
>    level                    = "L0";
>    GRIB1_ptv           = 131;
>    GRIB1_center      = 57;
>    GRIB1_subcenter = 2;
>
>    field = [
>       { cat_thresh = [>=.01 ]; },
>       { cat_thresh = [>=.05 ]; },
>       { cat_thresh = [>=.10 ]; },
>       { cat_thresh = [>=.25 ]; },
>       { cat_thresh = [>=.50 ]; },
>       { cat_thresh = [>=1.0 ]; }
>    ];
> }
>
> But I'm worried that the default Grid-Stat config file will cause us
> problems.  In retrospect, we should have made the "fcst" and "obs"
> settings empty in the default config file.  Grid-Stat reads the
> default *first* and then the user-specified one *second*.  The
> user-specified settings overrides the default settings.  Since there
> already are some default settings in "fcst" and "obs", I'm guessing
> we'll have issues on what exactly gets overridden.  For example, in
> the default one the "name" of the first "fcst.field" entry is set to
> "APCP".  We're trying to override that to be "PROB"... but defining
one
> level up won't successfully override it.
>
> The details are a bit confusing, but if you try this configuration
> out, please let me know how it goes.
>
> If you have problems, you could try to see if the following method
> fixes
> them:
>
> (1) Let's say MET is installed in "/path/to/met".... and I assume
you
> don't have write permissions there.
>
> (2) Copy over MET's runtime files to a local directory (the name of
> the new directory doesn't really matter):
>    cp -r /path/to/met/share/met MET_BASE_TESTING
>
> (3) Edit your default Grid-Stat config file by just removing the
whole
> "fcst" and "obs" sections:
>    vi MET_BASE_TESTING/config/GridStatConfig_default
>
> (4) Set the MET_BASE environment variable to point to your local
copy.
> That tells MET to read your local copy instead of the one defined at
> compilation time:
>    setenv MET_BASE /full/path/to/MET_BASE_TESTING
>
> (5) Rerun Grid-Stat to see if the overrides work now.
>
> We should consider changing these defaults in the next release of
MET.
>
> Thanks,
> John
>
>
>
> On Thu, Apr 13, 2017 at 12:29 PM, robert.craig.2 at us.af.mil via RT <
> met_help at ucar.edu> wrote:
>
> >
> > Thu Apr 13 12:29:24 2017: Request 80143 was acted upon.
> > Transaction: Ticket created by robert.craig.2 at us.af.mil
> >        Queue: met_help
> >      Subject: #80140 Update
> >        Owner: Nobody
> >   Requestors: robert.craig.2 at us.af.mil
> >       Status: new
> >  Ticket <URL:
> > https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=80143
> > >
> >
> >
> > John, after trying different things, I believe the error is
> > occurring on the degrib of the NETcdf ob file instead of the fcst
> > file.  I then replaced the "16" with "APCP" in the ob file and
> > seemed to progress to my next error message.
> >
> > DEBUG 4: MetGrib2DataFile::read_grib2_record_list() - unrecognized
> > GRIB2 field indexes - disc: 0, master table: 1, center: 57, local
> > table: 0,
> > parm_cat: 1, parm: 29
> > DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
> > object of type "FileType_Gb2".
> > DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list
contains
> > 0 entries.
> > WARNING:
> > WARNING: Multiple GRIB1 table entries match lookup criteria
> > (parm_name = APCP, table_number = 131):
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> > WARNING:
> > DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
> > object of type "FileType_Gb2".
> > DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list
contains
> > 0 entries.
> > WARNING:
> > WARNING: Multiple GRIB1 table entries match lookup criteria
> > (parm_name = APCP, table_number = 131):
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> > WARNING:
> > DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
> > object of type "FileType_Gb2".
> > DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list
contains
> > 0 entries.
> > WARNING:
> > WARNING: Multiple GRIB1 table entries match lookup criteria
> > (parm_name = APCP, table_number = 131):
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> > WARNING:
> > DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
> > object of type "FileType_Gb2".
> > DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list
contains
> > 0 entries.
> > WARNING:
> > WARNING: Multiple GRIB1 table entries match lookup criteria
> > (parm_name = APCP, table_number = 131):
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> > WARNING:
> > DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
> > object of type "FileType_Gb2".
> > DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list
contains
> > 0 entries.
> > WARNING:
> > WARNING: Multiple GRIB1 table entries match lookup criteria
> > (parm_name = APCP, table_number = 131):
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> > WARNING:
> > DEBUG 4: VarInfoFactory::new_var_info() -> created new VarInfo
> > object of type "FileType_Gb2".
> > DEBUG 4: parse_conf_sid_exc() -> Station ID exclusion list
contains
> > 0 entries.
> > WARNING:
> > WARNING: Multiple GRIB1 table entries match lookup criteria
> > (parm_name = APCP, table_number = 131):
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING:   parm_name: APCP, table_number = 131, code = 61, center
= 57,
> > subcenter = 2
> > WARNING: Using:   parm_name: APCP, table_number = 131, code = 61
> > WARNING:
> > ERROR  :
> > ERROR  : check_prob_thresh() -> When verifying a probability
field,
> > you must select at least 3 thresholds beginning with 0.0 and
ending
> > with
> 1.0.
> > ERROR  :
> >
> > Next, I swapped out the cat_thresh in the obs file with cat_thresh
=
> > [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>=0.5,>=0.6,>=0.7,>=0.8,>=0.9,>
> > =1.0];
> >   and added the same line to all the fcst fields and seemed to get
> > past the errors.  To me, it seems I have a lot of redundant
> > information in the fcst fields now but maybe that has to be.
> >
> > Bob
> >
> > fcst = {
> >    message_type = [ "ADPSFC" ];
> >    sid_exc      = [];
> >
> >    field = [
> >       {
> >         name = "PROB";
> >         level = [ "A06" ];
> >         prob =
> >         { name = "APCP";
> >           thresh_lo = .01;
> >
> >         }
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "PROB";
> >         level = [ "A006" ];
> >         prob =
> >         { name = "APCP";
> >           thresh_lo = .05;
> >         }
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "PROB";
> >         level = [ "A006" ];
> >         prob =
> >         { name = "APCP";
> >           thresh_lo = .10;
> >         }
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "PROB";
> >         level = [ "A006" ];
> >         prob =
> >         { name = "APCP";
> >           thresh_lo = .25;
> >         }
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "PROB";
> >         level = [ "A006" ];
> >         prob =
> >         { name = "APCP";
> >           thresh_lo = .50;
> >         }
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "PROB";
> >         level = [ "A006" ];
> >         prob =
> >         { name = "APCP";
> >           thresh_lo = 1;
> >         }
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       }
> >    ];
> >
> > }
> >
> > //obs=fcst;
> > obs = {
> >    message_type = [ "ADPSFC" ];
> >    sid_exc      = [];
> >
> >    field = [
> >       {
> >         name = "APCP";
> >         level = [ "L0" ];
> >         GRIB1_ptv=131;
> >         GRIB1_center=57;
> >         GRIB1_subcenter=2;
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "APCP";
> >         level = [ "L0" ];
> >         GRIB1_ptv=131;
> >         GRIB1_center=57;
> >         GRIB1_subcenter=2;
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "APCP";
> >         level = [ "L0" ];
> >         GRIB1_ptv=131;
> >         GRIB1_center=57;
> >         GRIB1_subcenter=2;
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "APCP";
> >         level = [ "L0" ];
> >         GRIB1_ptv=131;
> >         GRIB1_center=57;
> >         GRIB1_subcenter=2;
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "APCP";
> >         level = [ "L0" ];
> >         GRIB1_ptv=131;
> >         GRIB1_center=57;
> >         GRIB1_subcenter=2;
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       },
> >       {
> >         name = "APCP";
> >         level = [ "L0" ];
> >         GRIB1_ptv=131;
> >         GRIB1_center=57;
> >         GRIB1_subcenter=2;
> >         cat_thresh = [>=0,>=0.1,>=0.2,>=0.3,>=0.4,>
> > =0.5,>=0.6,>=0.7,>=0.8,>=0.9,>=1.0];
> >       }
> >    ];
> > }
> >
> >
> >
> >
>
>
>
>


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


More information about the Met_help mailing list