[Met_help] [rt.rap.ucar.edu #91234] History for VX_MASK Throwing all data

John Halley Gotway via RT met_help at ucar.edu
Fri Jul 26 14:05:52 MDT 2019


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

John, I generated a vx_mask file for the Baltic region.  I am verifying a domain larger than the vx_mask file, using vx_mask to just verify over the nested grid.  I used the following command line to create the mask:

/h/MET/bin/gen_vx_mask /home/specmdev/scratch/test/baltic1p5/PS.557WW_SC.U_DI.C_GP.GALWEM-RD_GR.C1P5KM_AR.BALTIC_DD.20180531_CY.12_FH.029_DF.GR2 /home/specmdev/scratch/test/baltic1p5/PS.557WW_SC.U_DI.C_GP.GALWEM-RD_GR.C1P5KM_AR.BALTIC_DD.20180531_CY.12_FH.029_DF.GR2 /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -type grid

I generate a vx_mask file over the correct region (verified with plot_data_plane).

I ran point_stat generate model-ob pairs for boundary model and the nest.  The nest should have about 230 obs in it. Then I ran stat_anal to generate stats using obs in the nest for the outer domain.  The stat anal job is below:

/h/MET/bin/stat_analysis -lookin /h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test -out /h/data/global/WXQC/data/met/summary/sl_baltic4_1 -tmp_dir /h/data/global/WXQC/dat
a/met/tmp -column_min -obs 900 -column_max -obs 1100 -line_type MPR -out_line_type CNT -by FCST_LEAD -by OBS_LEV -interp_mthd BILIN -vx_mask /h/data/global/WXQC/data/met/poly/baltic_1p
5km.nc -config /h/data/global/WXQC/data/met/config/met_config/STATAnalysisConfig_bootstrap_aggstat  -v 4

When I run this I get the following message:

DEBUG 1: Reading user-defined grib1 MET_GRIB_TABLES file: /h/data/global/WXQC/data/met/config/grib2/grib1_af_131_57.txt
DEBUG 1: Reading user-defined grib2 MET_GRIB_TABLES file: /h/data/global/WXQC/data/met/config/grib2/grib2_geps.txt
DEBUG 1: Creating STAT-Analysis output file "/h/data/global/WXQC/data/met/summary/sl_baltic4_1"
DEBUG 1: Default Config File: /h/MET/share/met/config/STATAnalysisConfig_default
DEBUG 1: User Config File: /h/data/global/WXQC/data/met/config/met_config/STATAnalysisConfig_bootstrap_aggstat
DEBUG 4: Default Job from the config file: "-fcst_valid_beg 20180101_000000 -fcst_valid_end 20180531_180000 "
DEBUG 4: Amending default job with command line options: "-column_min -obs 900 -column_max -obs 1100 -line_type MPR -out_line_type CNT -by FCST_LEAD -by OBS_LEV -interp_mthd BILIN -vx_mask /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc"
DEBUG 4: New default jobstring: "-fcst_valid_beg 20180101_000000 -fcst_valid_end 20180531_180000 -vx_mask /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -interp_mthd BILIN -line_type MPR -column_thresh -obs >=900 -column_thresh -obs <=1100 -by FCST_LEAD -by OBS_LEV -out_line_type CNT -out_alpha 0.05000 -boot_interval 2 -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937 -boot_seed '' -rank_corr_flag 0 "
DEBUG 2: Processing 14 STAT files.
DEBUG 3: Processing STAT file "/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_060000L_20180201_180000V.stat" ... 1 of 14
DEBUG 3: Processing STAT file "/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_000000L_20180201_000000V.stat" ... 2 of 14
DEBUG 3: Processing STAT file "/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_300000L_20180201_180000V.stat" ... 3 of 14
DEBUG 3: Processing STAT file "/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_000000L_20180201_120000V.stat" ... 4 of 14
DEBUG 3: Processing STAT file "/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_060000L_20180201_060000V.stat" ... 5 of 14

DEBUG 3: Processing STAT file "/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_240000L_20180201_000000V.stat" ... 6 of 14
DEBUG 3: Processing STAT file "/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_240000L_20180201_120000V.stat" ... 7 of 14
DEBUG 3: Processing STAT file "/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_180000L_20180201_180000V.stat" ... 8 of 14
DEBUG 3: Processing STAT file "/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_120000L_20180201_120000V.stat" ... 9 of 14
DEBUG 3: Processing STAT file "/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_300000L_20180201_060000V.stat" ... 10 of 14

DEBUG 3: Processing STAT file "/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_360000L_20180201_000000V.stat" ... 11 of 14
DEBUG 3: Processing STAT file "/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_120000L_20180201_000000V.stat" ... 12 of 14
DEBUG 3: Processing STAT file "/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_360000L_20180201_120000V.stat" ... 13 of 14
DEBUG 3: Processing STAT file "/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_180000L_20180201_060000V.stat" ... 14 of 14
DEBUG 2: STAT Lines read     = 51646
DEBUG 2: STAT Lines retained = 0
DEBUG 4: process_job(jobstring):-job aggregate_stat"
DEBUG 4:
DEBUG 4: Initializing Job 1 to default job: "-fcst_valid_beg 20180101_000000 -fcst_valid_end 20180531_180000 -vx_mask /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -interp_mthd BILIN -line_type MPR -column_thresh -obs >=900 -column_thresh -obs <=1100 -by FCST_LEAD -by OBS_LEV -out_line_type CNT -out_alpha 0.05000 -boot_interval 2 -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937 -boot_seed '' -rank_corr_flag 0 "
DEBUG 4:
DEBUG 4: Amending Job 1 with options: "-job aggregate_stat"
DEBUG 4:
DEBUG 4: Amending Job 1 with command line options: "-column_min -obs 900 -column_max -obs 1100 -line_type MPR -out_line_type CNT -by FCST_LEAD -by OBS_LEV -interp_mthd BILIN -vx_mask /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc"
DEBUG 2:
DEBUG 2: Processing Job 1: -job aggregate_stat -fcst_valid_beg 20180101_000000 -fcst_valid_end 20180531_180000 -vx_mask /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -interp_mthd BILIN -line_type MPR -column_thresh -obs >=900 -column_thresh -obs <=1100 -by FCST_LEAD -by OBS_LEV -out_line_type CNT -out_alpha 0.05000 -boot_interval 2 -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937 -boot_seed '' -rank_corr_flag 0
GSL_RNG_TYPE=mt19937
GSL_RNG_SEED=18446744071994357853
DEBUG 2: Computing output for 0 case(s).
WARNING:
WARNING: do_job_aggr_stat() -> no matching STAT lines found for job: -job aggregate_stat -fcst_valid_beg 20180101_000000 -fcst_valid_end 20180531_180000 -vx_mask /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -interp_mthd BILIN -line_type MPR -column_thresh -obs >=900 -column_thresh -obs <=1100 -by FCST_LEAD -by OBS_LEV -out_line_type CNT -out_alpha 0.05000 -boot_interval 2 -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937 -boot_seed '' -rank_corr_flag 0
WARNING:
DEBUG 2: Job 1 used 0 out of 0 STAT lines.

If I take the vx_mask entry, I get stats.  So what is the problem?  I placed a couple model files and MPR files on AMERDEC.

Thanks
Bob


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

Subject: VX_MASK Throwing all data
From: John Halley Gotway
Time: Wed Jul 24 15:36:49 2019

Bob,

I see that you have a question about the -vx_mask job command option
for
the STAT-Analysis tool.  The good news is that this one is pretty easy
to
solve.

If you look in the default STAT-Analysis config file, you'll see
several
filtering options as the top of the config file (model, desc,
fcst_lead,
... and so on, including vx_mask).  Each of these config options has a
corresponding job command option.  Setting the "vx_mask = [];" option
in
the STAT-Analysis config file is equivalent to setting the "-vx_mask"
job
command option.  And the key point is that these options filter the
contents of the corresponding column of the .stat files from MET.
Let's
say you ran Point-Stat and created output for two masking regions
which are
named EAST and WEST in the .stat output file.  Specifying "-vx_mask
EAST"
would filter the input data down to the lines where "VX_MASK = EAST".
You're getting 0 matched pairs when using "-vx_mask
/h/data/global/WXQC/data/met/poly/baltic_1p5km.nc" because that string
doesn't appear in the .stat files.

But what you actually want to do is filter the lat/lon of the MPR
lines.
Looking in the data/config/README file, you can do this using the
-mask_grid, -mask_poly, or -mask_sid job command options:

//       "-mask_grid       name"
//       "-mask_poly       file"
//       "-mask_sid        file|list" see description of "sid" entry
above

Please use "-mask_poly
/h/data/global/WXQC/data/met/poly/baltic_1p5km.nc"
to filter the MPR lines using the output of gen_vx_mask.

Hopefully that'll do what you need.

Thanks,
John




On Wed, Jul 24, 2019 at 3:00 PM robert.craig.2 at us.af.mil via RT <
met_help at ucar.edu> wrote:

>
> Wed Jul 24 15:00:14 2019: Request 91234 was acted upon.
> Transaction: Ticket created by robert.craig.2 at us.af.mil
>        Queue: met_help
>      Subject: VX_MASK Throwing all data
>        Owner: Nobody
>   Requestors: robert.craig.2 at us.af.mil
>       Status: new
>  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=91234 >
>
>
> John, I generated a vx_mask file for the Baltic region.  I am
verifying a
> domain larger than the vx_mask file, using vx_mask to just verify
over the
> nested grid.  I used the following command line to create the mask:
>
> /h/MET/bin/gen_vx_mask
> /home/specmdev/scratch/test/baltic1p5/PS.557WW_SC.U_DI.C_GP.GALWEM-
RD_GR.C1P5KM_AR.BALTIC_DD.20180531_CY.12_FH.029_DF.GR2
> /home/specmdev/scratch/test/baltic1p5/PS.557WW_SC.U_DI.C_GP.GALWEM-
RD_GR.C1P5KM_AR.BALTIC_DD.20180531_CY.12_FH.029_DF.GR2
> /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -type grid
>
> I generate a vx_mask file over the correct region (verified with
> plot_data_plane).
>
> I ran point_stat generate model-ob pairs for boundary model and the
nest.
> The nest should have about 230 obs in it. Then I ran stat_anal to
generate
> stats using obs in the nest for the outer domain.  The stat anal job
is
> below:
>
> /h/MET/bin/stat_analysis -lookin
> /h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test -out
> /h/data/global/WXQC/data/met/summary/sl_baltic4_1 -tmp_dir
> /h/data/global/WXQC/dat
> a/met/tmp -column_min -obs 900 -column_max -obs 1100 -line_type MPR
> -out_line_type CNT -by FCST_LEAD -by OBS_LEV -interp_mthd BILIN
-vx_mask
> /h/data/global/WXQC/data/met/poly/baltic_1p
> 5km.nc -config
>
/h/data/global/WXQC/data/met/config/met_config/STATAnalysisConfig_bootstrap_aggstat
> -v 4
>
> When I run this I get the following message:
>
> DEBUG 1: Reading user-defined grib1 MET_GRIB_TABLES file:
> /h/data/global/WXQC/data/met/config/grib2/grib1_af_131_57.txt
> DEBUG 1: Reading user-defined grib2 MET_GRIB_TABLES file:
> /h/data/global/WXQC/data/met/config/grib2/grib2_geps.txt
> DEBUG 1: Creating STAT-Analysis output file
> "/h/data/global/WXQC/data/met/summary/sl_baltic4_1"
> DEBUG 1: Default Config File:
> /h/MET/share/met/config/STATAnalysisConfig_default
> DEBUG 1: User Config File:
>
/h/data/global/WXQC/data/met/config/met_config/STATAnalysisConfig_bootstrap_aggstat
> DEBUG 4: Default Job from the config file: "-fcst_valid_beg
> 20180101_000000 -fcst_valid_end 20180531_180000 "
> DEBUG 4: Amending default job with command line options: "-
column_min -obs
> 900 -column_max -obs 1100 -line_type MPR -out_line_type CNT -by
FCST_LEAD
> -by OBS_LEV -interp_mthd BILIN -vx_mask
/h/data/global/WXQC/data/met/poly/
> baltic_1p5km.nc"
> DEBUG 4: New default jobstring: "-fcst_valid_beg 20180101_000000
> -fcst_valid_end 20180531_180000 -vx_mask
/h/data/global/WXQC/data/met/poly/
> baltic_1p5km.nc -interp_mthd BILIN -line_type MPR -column_thresh
-obs
> >=900 -column_thresh -obs <=1100 -by FCST_LEAD -by OBS_LEV
-out_line_type
> CNT -out_alpha 0.05000 -boot_interval 2 -boot_rep_prop 1.00000
-n_boot_rep
> 1000 -boot_rng mt19937 -boot_seed '' -rank_corr_flag 0 "
> DEBUG 2: Processing 14 STAT files.
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_060000L_20180201_180000V.stat"
> ... 1 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_000000L_20180201_000000V.stat"
> ... 2 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_300000L_20180201_180000V.stat"
> ... 3 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_000000L_20180201_120000V.stat"
> ... 4 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_060000L_20180201_060000V.stat"
> ... 5 of 14
>
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_240000L_20180201_000000V.stat"
> ... 6 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_240000L_20180201_120000V.stat"
> ... 7 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_180000L_20180201_180000V.stat"
> ... 8 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_120000L_20180201_120000V.stat"
> ... 9 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_300000L_20180201_060000V.stat"
> ... 10 of 14
>
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_360000L_20180201_000000V.stat"
> ... 11 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_120000L_20180201_000000V.stat"
> ... 12 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_360000L_20180201_120000V.stat"
> ... 13 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_180000L_20180201_060000V.stat"
> ... 14 of 14
> DEBUG 2: STAT Lines read     = 51646
> DEBUG 2: STAT Lines retained = 0
> DEBUG 4: process_job(jobstring):-job aggregate_stat"
> DEBUG 4:
> DEBUG 4: Initializing Job 1 to default job: "-fcst_valid_beg
> 20180101_000000 -fcst_valid_end 20180531_180000 -vx_mask
> /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -interp_mthd BILIN
> -line_type MPR -column_thresh -obs >=900 -column_thresh -obs <=1100
-by
> FCST_LEAD -by OBS_LEV -out_line_type CNT -out_alpha 0.05000
-boot_interval
> 2 -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937
-boot_seed ''
> -rank_corr_flag 0 "
> DEBUG 4:
> DEBUG 4: Amending Job 1 with options: "-job aggregate_stat"
> DEBUG 4:
> DEBUG 4: Amending Job 1 with command line options: "-column_min -obs
900
> -column_max -obs 1100 -line_type MPR -out_line_type CNT -by
FCST_LEAD -by
> OBS_LEV -interp_mthd BILIN -vx_mask
/h/data/global/WXQC/data/met/poly/
> baltic_1p5km.nc"
> DEBUG 2:
> DEBUG 2: Processing Job 1: -job aggregate_stat -fcst_valid_beg
> 20180101_000000 -fcst_valid_end 20180531_180000 -vx_mask
> /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -interp_mthd BILIN
> -line_type MPR -column_thresh -obs >=900 -column_thresh -obs <=1100
-by
> FCST_LEAD -by OBS_LEV -out_line_type CNT -out_alpha 0.05000
-boot_interval
> 2 -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937
-boot_seed ''
> -rank_corr_flag 0
> GSL_RNG_TYPE=mt19937
> GSL_RNG_SEED=18446744071994357853
> DEBUG 2: Computing output for 0 case(s).
> WARNING:
> WARNING: do_job_aggr_stat() -> no matching STAT lines found for job:
-job
> aggregate_stat -fcst_valid_beg 20180101_000000 -fcst_valid_end
> 20180531_180000 -vx_mask
/h/data/global/WXQC/data/met/poly/baltic_1p5km.nc
> -interp_mthd BILIN -line_type MPR -column_thresh -obs >=900
-column_thresh
> -obs <=1100 -by FCST_LEAD -by OBS_LEV -out_line_type CNT -out_alpha
0.05000
> -boot_interval 2 -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng
mt19937
> -boot_seed '' -rank_corr_flag 0
> WARNING:
> DEBUG 2: Job 1 used 0 out of 0 STAT lines.
>
> If I take the vx_mask entry, I get stats.  So what is the problem?
I
> placed a couple model files and MPR files on AMERDEC.
>
> Thanks
> Bob
>
>

------------------------------------------------
Subject: RE: [Non-DoD Source] Re: [rt.rap.ucar.edu #91234] VX_MASK Throwing all data
From: robert.craig.2 at us.af.mil
Time: Thu Jul 25 06:40:43 2019

John, thanks for clarifying the difference with vx_mask and the other
filters.

Bob

-----Original Message-----
From: John Halley Gotway via RT <met_help at ucar.edu>
Sent: Wednesday, July 24, 2019 4:37 PM
To: CRAIG, ROBERT J GS-12 USAF ACC 16 WS/WXN
<robert.craig.2 at us.af.mil>
Subject: [Non-DoD Source] Re: [rt.rap.ucar.edu #91234] VX_MASK
Throwing all data

Bob,

I see that you have a question about the -vx_mask job command option
for the STAT-Analysis tool.  The good news is that this one is pretty
easy to solve.

If you look in the default STAT-Analysis config file, you'll see
several filtering options as the top of the config file (model, desc,
fcst_lead, ... and so on, including vx_mask).  Each of these config
options has a corresponding job command option.  Setting the "vx_mask
= [];" option in the STAT-Analysis config file is equivalent to
setting the "-vx_mask" job command option.  And the key point is that
these options filter the contents of the corresponding column of the
.stat files from MET.  Let's say you ran Point-Stat and created output
for two masking regions which are named EAST and WEST in the .stat
output file.  Specifying "-vx_mask EAST"
would filter the input data down to the lines where "VX_MASK = EAST".
You're getting 0 matched pairs when using "-vx_mask
/h/data/global/WXQC/data/met/poly/baltic_1p5km.nc" because that string
doesn't appear in the .stat files.

But what you actually want to do is filter the lat/lon of the MPR
lines.
Looking in the data/config/README file, you can do this using the
-mask_grid, -mask_poly, or -mask_sid job command options:

//       "-mask_grid       name"
//       "-mask_poly       file"
//       "-mask_sid        file|list" see description of "sid" entry
above

Please use "-mask_poly
/h/data/global/WXQC/data/met/poly/baltic_1p5km.nc"
to filter the MPR lines using the output of gen_vx_mask.

Hopefully that'll do what you need.

Thanks,
John




On Wed, Jul 24, 2019 at 3:00 PM robert.craig.2 at us.af.mil via RT <
met_help at ucar.edu> wrote:

>
> Wed Jul 24 15:00:14 2019: Request 91234 was acted upon.
> Transaction: Ticket created by robert.craig.2 at us.af.mil
>        Queue: met_help
>      Subject: VX_MASK Throwing all data
>        Owner: Nobody
>   Requestors: robert.craig.2 at us.af.mil
>       Status: new
>  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=91234
> >
>
>
> John, I generated a vx_mask file for the Baltic region.  I am
> verifying a domain larger than the vx_mask file, using vx_mask to
just
> verify over the nested grid.  I used the following command line to
create the mask:
>
> /h/MET/bin/gen_vx_mask
> /home/specmdev/scratch/test/baltic1p5/PS.557WW_SC.U_DI.C_GP.GALWEM-
RD_
> GR.C1P5KM_AR.BALTIC_DD.20180531_CY.12_FH.029_DF.GR2
> /home/specmdev/scratch/test/baltic1p5/PS.557WW_SC.U_DI.C_GP.GALWEM-
RD_
> GR.C1P5KM_AR.BALTIC_DD.20180531_CY.12_FH.029_DF.GR2
> /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -type grid
>
> I generate a vx_mask file over the correct region (verified with
> plot_data_plane).
>
> I ran point_stat generate model-ob pairs for boundary model and the
nest.
> The nest should have about 230 obs in it. Then I ran stat_anal to
> generate stats using obs in the nest for the outer domain.  The stat
> anal job is
> below:
>
> /h/MET/bin/stat_analysis -lookin
> /h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test -out
> /h/data/global/WXQC/data/met/summary/sl_baltic4_1 -tmp_dir
> /h/data/global/WXQC/dat a/met/tmp -column_min -obs 900 -column_max
> -obs 1100 -line_type MPR -out_line_type CNT -by FCST_LEAD -by
OBS_LEV
> -interp_mthd BILIN -vx_mask
> /h/data/global/WXQC/data/met/poly/baltic_1p
> 5km.nc -config
>
/h/data/global/WXQC/data/met/config/met_config/STATAnalysisConfig_boot
> strap_aggstat
> -v 4
>
> When I run this I get the following message:
>
> DEBUG 1: Reading user-defined grib1 MET_GRIB_TABLES file:
> /h/data/global/WXQC/data/met/config/grib2/grib1_af_131_57.txt
> DEBUG 1: Reading user-defined grib2 MET_GRIB_TABLES file:
> /h/data/global/WXQC/data/met/config/grib2/grib2_geps.txt
> DEBUG 1: Creating STAT-Analysis output file
> "/h/data/global/WXQC/data/met/summary/sl_baltic4_1"
> DEBUG 1: Default Config File:
> /h/MET/share/met/config/STATAnalysisConfig_default
> DEBUG 1: User Config File:
>
/h/data/global/WXQC/data/met/config/met_config/STATAnalysisConfig_boot
> strap_aggstat DEBUG 4: Default Job from the config file:
> "-fcst_valid_beg
> 20180101_000000 -fcst_valid_end 20180531_180000 "
> DEBUG 4: Amending default job with command line options: "-
column_min
> -obs
> 900 -column_max -obs 1100 -line_type MPR -out_line_type CNT -by
> FCST_LEAD -by OBS_LEV -interp_mthd BILIN -vx_mask
> /h/data/global/WXQC/data/met/poly/
> baltic_1p5km.nc"
> DEBUG 4: New default jobstring: "-fcst_valid_beg 20180101_000000
> -fcst_valid_end 20180531_180000 -vx_mask
> /h/data/global/WXQC/data/met/poly/
> baltic_1p5km.nc -interp_mthd BILIN -line_type MPR -column_thresh
-obs
> >=900 -column_thresh -obs <=1100 -by FCST_LEAD -by OBS_LEV
> >-out_line_type
> CNT -out_alpha 0.05000 -boot_interval 2 -boot_rep_prop 1.00000
> -n_boot_rep
> 1000 -boot_rng mt19937 -boot_seed '' -rank_corr_flag 0 "
> DEBUG 2: Processing 14 STAT files.
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_060000L_20180201_180000V.stat"
> ... 1 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_000000L_20180201_000000V.stat"
> ... 2 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_300000L_20180201_180000V.stat"
> ... 3 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_000000L_20180201_120000V.stat"
> ... 4 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_060000L_20180201_060000V.stat"
> ... 5 of 14
>
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_240000L_20180201_000000V.stat"
> ... 6 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_240000L_20180201_120000V.stat"
> ... 7 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_180000L_20180201_180000V.stat"
> ... 8 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_120000L_20180201_120000V.stat"
> ... 9 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_300000L_20180201_060000V.stat"
> ... 10 of 14
>
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_360000L_20180201_000000V.stat"
> ... 11 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_120000L_20180201_000000V.stat"
> ... 12 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_360000L_20180201_120000V.stat"
> ... 13 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_180000L_20180201_060000V.stat"
> ... 14 of 14
> DEBUG 2: STAT Lines read     = 51646
> DEBUG 2: STAT Lines retained = 0
> DEBUG 4: process_job(jobstring):-job aggregate_stat"
> DEBUG 4:
> DEBUG 4: Initializing Job 1 to default job: "-fcst_valid_beg
> 20180101_000000 -fcst_valid_end 20180531_180000 -vx_mask
> /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -interp_mthd BILIN
> -line_type MPR -column_thresh -obs >=900 -column_thresh -obs <=1100
> -by FCST_LEAD -by OBS_LEV -out_line_type CNT -out_alpha 0.05000
> -boot_interval
> 2 -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937
-boot_seed ''
> -rank_corr_flag 0 "
> DEBUG 4:
> DEBUG 4: Amending Job 1 with options: "-job aggregate_stat"
> DEBUG 4:
> DEBUG 4: Amending Job 1 with command line options: "-column_min -obs
> 900 -column_max -obs 1100 -line_type MPR -out_line_type CNT -by
> FCST_LEAD -by OBS_LEV -interp_mthd BILIN -vx_mask
> /h/data/global/WXQC/data/met/poly/
> baltic_1p5km.nc"
> DEBUG 2:
> DEBUG 2: Processing Job 1: -job aggregate_stat -fcst_valid_beg
> 20180101_000000 -fcst_valid_end 20180531_180000 -vx_mask
> /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -interp_mthd BILIN
> -line_type MPR -column_thresh -obs >=900 -column_thresh -obs <=1100
> -by FCST_LEAD -by OBS_LEV -out_line_type CNT -out_alpha 0.05000
> -boot_interval
> 2 -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937
-boot_seed ''
> -rank_corr_flag 0
> GSL_RNG_TYPE=mt19937
> GSL_RNG_SEED=18446744071994357853
> DEBUG 2: Computing output for 0 case(s).
> WARNING:
> WARNING: do_job_aggr_stat() -> no matching STAT lines found for job:
> -job aggregate_stat -fcst_valid_beg 20180101_000000 -fcst_valid_end
> 20180531_180000 -vx_mask
> /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc
> -interp_mthd BILIN -line_type MPR -column_thresh -obs >=900
> -column_thresh -obs <=1100 -by FCST_LEAD -by OBS_LEV -out_line_type
> CNT -out_alpha 0.05000 -boot_interval 2 -boot_rep_prop 1.00000
> -n_boot_rep 1000 -boot_rng mt19937 -boot_seed '' -rank_corr_flag 0
> WARNING:
> DEBUG 2: Job 1 used 0 out of 0 STAT lines.
>
> If I take the vx_mask entry, I get stats.  So what is the problem?
I
> placed a couple model files and MPR files on AMERDEC.
>
> Thanks
> Bob
>
>



------------------------------------------------
Subject: RE: [Non-DoD Source] Re: [rt.rap.ucar.edu #91234] VX_MASK Throwing all data
From: robert.craig.2 at us.af.mil
Time: Thu Jul 25 07:23:52 2019

John, a related question.  When I compare the nested grid to the outer
grid using -mask_poly, the number of observations used is not
identical.  I believe is caused by when verifying a nested grid, obs
near the edge won't be used unless there is four grid points around
the observation - bilin interpolation.   When I ran point stat, the
interpolation percentage was 100% so all grid points had to be there
for the interpolation to happen.  Short of rerunning  point_stat with
the interpolation percentage set to 0 so all obs in the domain are
used, is there a way MET can save off the observation IDs used in the
nested grid and use those obs in -mask_sid for the outer grid masking
to ensure I verify the nested and outer grid with the exact same set
of observations.  The brute force way would be to filter the nest MPR
file to just the observation ID column, clean up the list, and then
use that in -mask_sid.  Is this the only way to ensure the same number
over observations are used?

Thanks
Bob

-----Original Message-----
From: John Halley Gotway via RT <met_help at ucar.edu>
Sent: Wednesday, July 24, 2019 4:37 PM
To: CRAIG, ROBERT J GS-12 USAF ACC 16 WS/WXN
<robert.craig.2 at us.af.mil>
Subject: [Non-DoD Source] Re: [rt.rap.ucar.edu #91234] VX_MASK
Throwing all data

Bob,

I see that you have a question about the -vx_mask job command option
for the STAT-Analysis tool.  The good news is that this one is pretty
easy to solve.

If you look in the default STAT-Analysis config file, you'll see
several filtering options as the top of the config file (model, desc,
fcst_lead, ... and so on, including vx_mask).  Each of these config
options has a corresponding job command option.  Setting the "vx_mask
= [];" option in the STAT-Analysis config file is equivalent to
setting the "-vx_mask" job command option.  And the key point is that
these options filter the contents of the corresponding column of the
.stat files from MET.  Let's say you ran Point-Stat and created output
for two masking regions which are named EAST and WEST in the .stat
output file.  Specifying "-vx_mask EAST"
would filter the input data down to the lines where "VX_MASK = EAST".
You're getting 0 matched pairs when using "-vx_mask
/h/data/global/WXQC/data/met/poly/baltic_1p5km.nc" because that string
doesn't appear in the .stat files.

But what you actually want to do is filter the lat/lon of the MPR
lines.
Looking in the data/config/README file, you can do this using the
-mask_grid, -mask_poly, or -mask_sid job command options:

//       "-mask_grid       name"
//       "-mask_poly       file"
//       "-mask_sid        file|list" see description of "sid" entry
above

Please use "-mask_poly
/h/data/global/WXQC/data/met/poly/baltic_1p5km.nc"
to filter the MPR lines using the output of gen_vx_mask.

Hopefully that'll do what you need.

Thanks,
John




On Wed, Jul 24, 2019 at 3:00 PM robert.craig.2 at us.af.mil via RT <
met_help at ucar.edu> wrote:

>
> Wed Jul 24 15:00:14 2019: Request 91234 was acted upon.
> Transaction: Ticket created by robert.craig.2 at us.af.mil
>        Queue: met_help
>      Subject: VX_MASK Throwing all data
>        Owner: Nobody
>   Requestors: robert.craig.2 at us.af.mil
>       Status: new
>  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=91234
> >
>
>
> John, I generated a vx_mask file for the Baltic region.  I am
> verifying a domain larger than the vx_mask file, using vx_mask to
just
> verify over the nested grid.  I used the following command line to
create the mask:
>
> /h/MET/bin/gen_vx_mask
> /home/specmdev/scratch/test/baltic1p5/PS.557WW_SC.U_DI.C_GP.GALWEM-
RD_
> GR.C1P5KM_AR.BALTIC_DD.20180531_CY.12_FH.029_DF.GR2
> /home/specmdev/scratch/test/baltic1p5/PS.557WW_SC.U_DI.C_GP.GALWEM-
RD_
> GR.C1P5KM_AR.BALTIC_DD.20180531_CY.12_FH.029_DF.GR2
> /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -type grid
>
> I generate a vx_mask file over the correct region (verified with
> plot_data_plane).
>
> I ran point_stat generate model-ob pairs for boundary model and the
nest.
> The nest should have about 230 obs in it. Then I ran stat_anal to
> generate stats using obs in the nest for the outer domain.  The stat
> anal job is
> below:
>
> /h/MET/bin/stat_analysis -lookin
> /h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test -out
> /h/data/global/WXQC/data/met/summary/sl_baltic4_1 -tmp_dir
> /h/data/global/WXQC/dat a/met/tmp -column_min -obs 900 -column_max
> -obs 1100 -line_type MPR -out_line_type CNT -by FCST_LEAD -by
OBS_LEV
> -interp_mthd BILIN -vx_mask
> /h/data/global/WXQC/data/met/poly/baltic_1p
> 5km.nc -config
>
/h/data/global/WXQC/data/met/config/met_config/STATAnalysisConfig_boot
> strap_aggstat
> -v 4
>
> When I run this I get the following message:
>
> DEBUG 1: Reading user-defined grib1 MET_GRIB_TABLES file:
> /h/data/global/WXQC/data/met/config/grib2/grib1_af_131_57.txt
> DEBUG 1: Reading user-defined grib2 MET_GRIB_TABLES file:
> /h/data/global/WXQC/data/met/config/grib2/grib2_geps.txt
> DEBUG 1: Creating STAT-Analysis output file
> "/h/data/global/WXQC/data/met/summary/sl_baltic4_1"
> DEBUG 1: Default Config File:
> /h/MET/share/met/config/STATAnalysisConfig_default
> DEBUG 1: User Config File:
>
/h/data/global/WXQC/data/met/config/met_config/STATAnalysisConfig_boot
> strap_aggstat DEBUG 4: Default Job from the config file:
> "-fcst_valid_beg
> 20180101_000000 -fcst_valid_end 20180531_180000 "
> DEBUG 4: Amending default job with command line options: "-
column_min
> -obs
> 900 -column_max -obs 1100 -line_type MPR -out_line_type CNT -by
> FCST_LEAD -by OBS_LEV -interp_mthd BILIN -vx_mask
> /h/data/global/WXQC/data/met/poly/
> baltic_1p5km.nc"
> DEBUG 4: New default jobstring: "-fcst_valid_beg 20180101_000000
> -fcst_valid_end 20180531_180000 -vx_mask
> /h/data/global/WXQC/data/met/poly/
> baltic_1p5km.nc -interp_mthd BILIN -line_type MPR -column_thresh
-obs
> >=900 -column_thresh -obs <=1100 -by FCST_LEAD -by OBS_LEV
> >-out_line_type
> CNT -out_alpha 0.05000 -boot_interval 2 -boot_rep_prop 1.00000
> -n_boot_rep
> 1000 -boot_rng mt19937 -boot_seed '' -rank_corr_flag 0 "
> DEBUG 2: Processing 14 STAT files.
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_060000L_20180201_180000V.stat"
> ... 1 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_000000L_20180201_000000V.stat"
> ... 2 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_300000L_20180201_180000V.stat"
> ... 3 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_000000L_20180201_120000V.stat"
> ... 4 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_060000L_20180201_060000V.stat"
> ... 5 of 14
>
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_240000L_20180201_000000V.stat"
> ... 6 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_240000L_20180201_120000V.stat"
> ... 7 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_180000L_20180201_180000V.stat"
> ... 8 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_120000L_20180201_120000V.stat"
> ... 9 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_300000L_20180201_060000V.stat"
> ... 10 of 14
>
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_360000L_20180201_000000V.stat"
> ... 11 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_120000L_20180201_000000V.stat"
> ... 12 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_360000L_20180201_120000V.stat"
> ... 13 of 14
> DEBUG 3: Processing STAT file
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_180000L_20180201_060000V.stat"
> ... 14 of 14
> DEBUG 2: STAT Lines read     = 51646
> DEBUG 2: STAT Lines retained = 0
> DEBUG 4: process_job(jobstring):-job aggregate_stat"
> DEBUG 4:
> DEBUG 4: Initializing Job 1 to default job: "-fcst_valid_beg
> 20180101_000000 -fcst_valid_end 20180531_180000 -vx_mask
> /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -interp_mthd BILIN
> -line_type MPR -column_thresh -obs >=900 -column_thresh -obs <=1100
> -by FCST_LEAD -by OBS_LEV -out_line_type CNT -out_alpha 0.05000
> -boot_interval
> 2 -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937
-boot_seed ''
> -rank_corr_flag 0 "
> DEBUG 4:
> DEBUG 4: Amending Job 1 with options: "-job aggregate_stat"
> DEBUG 4:
> DEBUG 4: Amending Job 1 with command line options: "-column_min -obs
> 900 -column_max -obs 1100 -line_type MPR -out_line_type CNT -by
> FCST_LEAD -by OBS_LEV -interp_mthd BILIN -vx_mask
> /h/data/global/WXQC/data/met/poly/
> baltic_1p5km.nc"
> DEBUG 2:
> DEBUG 2: Processing Job 1: -job aggregate_stat -fcst_valid_beg
> 20180101_000000 -fcst_valid_end 20180531_180000 -vx_mask
> /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -interp_mthd BILIN
> -line_type MPR -column_thresh -obs >=900 -column_thresh -obs <=1100
> -by FCST_LEAD -by OBS_LEV -out_line_type CNT -out_alpha 0.05000
> -boot_interval
> 2 -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937
-boot_seed ''
> -rank_corr_flag 0
> GSL_RNG_TYPE=mt19937
> GSL_RNG_SEED=18446744071994357853
> DEBUG 2: Computing output for 0 case(s).
> WARNING:
> WARNING: do_job_aggr_stat() -> no matching STAT lines found for job:
> -job aggregate_stat -fcst_valid_beg 20180101_000000 -fcst_valid_end
> 20180531_180000 -vx_mask
> /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc
> -interp_mthd BILIN -line_type MPR -column_thresh -obs >=900
> -column_thresh -obs <=1100 -by FCST_LEAD -by OBS_LEV -out_line_type
> CNT -out_alpha 0.05000 -boot_interval 2 -boot_rep_prop 1.00000
> -n_boot_rep 1000 -boot_rng mt19937 -boot_seed '' -rank_corr_flag 0
> WARNING:
> DEBUG 2: Job 1 used 0 out of 0 STAT lines.
>
> If I take the vx_mask entry, I get stats.  So what is the problem?
I
> placed a couple model files and MPR files on AMERDEC.
>
> Thanks
> Bob
>
>



------------------------------------------------
Subject: VX_MASK Throwing all data
From: John Halley Gotway
Time: Thu Jul 25 11:54:58 2019

Bob,

Yes, your explanation makes sense.  Edge effects can be a pain.  So
let me
clarify what it sounds like you're doing:

(1) You ran Point-Stat on the parent domain and wrote MPR output.
(2) You ran Point-Stat on a nested domain and wrote MPR output (using
a
subset of the obs used for the parent).
(3) You're running STAT-Analysis on the MPR lines from (1) and would
like
to subset them down to the stations which are used in the MPR lines
from
(2).

I assume this approach is to answer the question, how do the vx scores
of
the parent domain compare to the vx scores of the nest, using the
exact
same set of observations?

Without rerunning Point-Stat, then yes, I agree with you.  The best
way to
have fine control over which stations are or are not included is using
the
"mask_sid" option.  In met-8.1, the OBS_SID is stored in the 27-th
column.
So the following sort of command would ignore the header and print the
unique SID locations:
   egrep -v "VERSION" sample_mpr.txt | awk '{print $27}' | sort -u

Thanks,
John

On Thu, Jul 25, 2019 at 7:24 AM 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=91234 >
>
> John, a related question.  When I compare the nested grid to the
outer
> grid using -mask_poly, the number of observations used is not
identical.  I
> believe is caused by when verifying a nested grid, obs near the edge
won't
> be used unless there is four grid points around the observation -
bilin
> interpolation.   When I ran point stat, the interpolation percentage
was
> 100% so all grid points had to be there for the interpolation to
happen.
> Short of rerunning  point_stat with the interpolation percentage set
to 0
> so all obs in the domain are used, is there a way MET can save off
the
> observation IDs used in the nested grid and use those obs in
-mask_sid for
> the outer grid masking to ensure I verify the nested and outer grid
with
> the exact same set of observations.  The brute force way would be to
filter
> the nest MPR file to just the observation ID column, clean up the
list, and
> then use that in -mask_sid.  Is this the only way to ensure the same
number
> over observations are used?
>
> Thanks
> Bob
>
> -----Original Message-----
> From: John Halley Gotway via RT <met_help at ucar.edu>
> Sent: Wednesday, July 24, 2019 4:37 PM
> To: CRAIG, ROBERT J GS-12 USAF ACC 16 WS/WXN
<robert.craig.2 at us.af.mil>
> Subject: [Non-DoD Source] Re: [rt.rap.ucar.edu #91234] VX_MASK
Throwing
> all data
>
> Bob,
>
> I see that you have a question about the -vx_mask job command option
for
> the STAT-Analysis tool.  The good news is that this one is pretty
easy to
> solve.
>
> If you look in the default STAT-Analysis config file, you'll see
several
> filtering options as the top of the config file (model, desc,
fcst_lead,
> ... and so on, including vx_mask).  Each of these config options has
a
> corresponding job command option.  Setting the "vx_mask = [];"
option in
> the STAT-Analysis config file is equivalent to setting the "-
vx_mask" job
> command option.  And the key point is that these options filter the
> contents of the corresponding column of the .stat files from MET.
Let's
> say you ran Point-Stat and created output for two masking regions
which are
> named EAST and WEST in the .stat output file.  Specifying "-vx_mask
EAST"
> would filter the input data down to the lines where "VX_MASK =
EAST".
> You're getting 0 matched pairs when using "-vx_mask
> /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc" because that
string
> doesn't appear in the .stat files.
>
> But what you actually want to do is filter the lat/lon of the MPR
lines.
> Looking in the data/config/README file, you can do this using the
> -mask_grid, -mask_poly, or -mask_sid job command options:
>
> //       "-mask_grid       name"
> //       "-mask_poly       file"
> //       "-mask_sid        file|list" see description of "sid" entry
above
>
> Please use "-mask_poly
/h/data/global/WXQC/data/met/poly/baltic_1p5km.nc"
> to filter the MPR lines using the output of gen_vx_mask.
>
> Hopefully that'll do what you need.
>
> Thanks,
> John
>
>
>
>
> On Wed, Jul 24, 2019 at 3:00 PM robert.craig.2 at us.af.mil via RT <
> met_help at ucar.edu> wrote:
>
> >
> > Wed Jul 24 15:00:14 2019: Request 91234 was acted upon.
> > Transaction: Ticket created by robert.craig.2 at us.af.mil
> >        Queue: met_help
> >      Subject: VX_MASK Throwing all data
> >        Owner: Nobody
> >   Requestors: robert.craig.2 at us.af.mil
> >       Status: new
> >  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=91234
> > >
> >
> >
> > John, I generated a vx_mask file for the Baltic region.  I am
> > verifying a domain larger than the vx_mask file, using vx_mask to
just
> > verify over the nested grid.  I used the following command line to
> create the mask:
> >
> > /h/MET/bin/gen_vx_mask
> >
/home/specmdev/scratch/test/baltic1p5/PS.557WW_SC.U_DI.C_GP.GALWEM-RD_
> > GR.C1P5KM_AR.BALTIC_DD.20180531_CY.12_FH.029_DF.GR2
> >
/home/specmdev/scratch/test/baltic1p5/PS.557WW_SC.U_DI.C_GP.GALWEM-RD_
> > GR.C1P5KM_AR.BALTIC_DD.20180531_CY.12_FH.029_DF.GR2
> > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -type grid
> >
> > I generate a vx_mask file over the correct region (verified with
> > plot_data_plane).
> >
> > I ran point_stat generate model-ob pairs for boundary model and
the nest.
> > The nest should have about 230 obs in it. Then I ran stat_anal to
> > generate stats using obs in the nest for the outer domain.  The
stat
> > anal job is
> > below:
> >
> > /h/MET/bin/stat_analysis -lookin
> > /h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test
-out
> > /h/data/global/WXQC/data/met/summary/sl_baltic4_1 -tmp_dir
> > /h/data/global/WXQC/dat a/met/tmp -column_min -obs 900 -column_max
> > -obs 1100 -line_type MPR -out_line_type CNT -by FCST_LEAD -by
OBS_LEV
> > -interp_mthd BILIN -vx_mask
> > /h/data/global/WXQC/data/met/poly/baltic_1p
> > 5km.nc -config
> >
/h/data/global/WXQC/data/met/config/met_config/STATAnalysisConfig_boot
> > strap_aggstat
> > -v 4
> >
> > When I run this I get the following message:
> >
> > DEBUG 1: Reading user-defined grib1 MET_GRIB_TABLES file:
> > /h/data/global/WXQC/data/met/config/grib2/grib1_af_131_57.txt
> > DEBUG 1: Reading user-defined grib2 MET_GRIB_TABLES file:
> > /h/data/global/WXQC/data/met/config/grib2/grib2_geps.txt
> > DEBUG 1: Creating STAT-Analysis output file
> > "/h/data/global/WXQC/data/met/summary/sl_baltic4_1"
> > DEBUG 1: Default Config File:
> > /h/MET/share/met/config/STATAnalysisConfig_default
> > DEBUG 1: User Config File:
> >
/h/data/global/WXQC/data/met/config/met_config/STATAnalysisConfig_boot
> > strap_aggstat DEBUG 4: Default Job from the config file:
> > "-fcst_valid_beg
> > 20180101_000000 -fcst_valid_end 20180531_180000 "
> > DEBUG 4: Amending default job with command line options: "-
column_min
> > -obs
> > 900 -column_max -obs 1100 -line_type MPR -out_line_type CNT -by
> > FCST_LEAD -by OBS_LEV -interp_mthd BILIN -vx_mask
> > /h/data/global/WXQC/data/met/poly/
> > baltic_1p5km.nc"
> > DEBUG 4: New default jobstring: "-fcst_valid_beg 20180101_000000
> > -fcst_valid_end 20180531_180000 -vx_mask
> > /h/data/global/WXQC/data/met/poly/
> > baltic_1p5km.nc -interp_mthd BILIN -line_type MPR -column_thresh
-obs
> > >=900 -column_thresh -obs <=1100 -by FCST_LEAD -by OBS_LEV
> > >-out_line_type
> > CNT -out_alpha 0.05000 -boot_interval 2 -boot_rep_prop 1.00000
> > -n_boot_rep
> > 1000 -boot_rng mt19937 -boot_seed '' -rank_corr_flag 0 "
> > DEBUG 2: Processing 14 STAT files.
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_060000L_20180201_180000V.stat"
> > ... 1 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_000000L_20180201_000000V.stat"
> > ... 2 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_300000L_20180201_180000V.stat"
> > ... 3 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_000000L_20180201_120000V.stat"
> > ... 4 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_060000L_20180201_060000V.stat"
> > ... 5 of 14
> >
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_240000L_20180201_000000V.stat"
> > ... 6 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_240000L_20180201_120000V.stat"
> > ... 7 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_180000L_20180201_180000V.stat"
> > ... 8 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_120000L_20180201_120000V.stat"
> > ... 9 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_300000L_20180201_060000V.stat"
> > ... 10 of 14
> >
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_360000L_20180201_000000V.stat"
> > ... 11 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_120000L_20180201_000000V.stat"
> > ... 12 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_360000L_20180201_120000V.stat"
> > ... 13 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_180000L_20180201_060000V.stat"
> > ... 14 of 14
> > DEBUG 2: STAT Lines read     = 51646
> > DEBUG 2: STAT Lines retained = 0
> > DEBUG 4: process_job(jobstring):-job aggregate_stat"
> > DEBUG 4:
> > DEBUG 4: Initializing Job 1 to default job: "-fcst_valid_beg
> > 20180101_000000 -fcst_valid_end 20180531_180000 -vx_mask
> > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -interp_mthd
BILIN
> > -line_type MPR -column_thresh -obs >=900 -column_thresh -obs
<=1100
> > -by FCST_LEAD -by OBS_LEV -out_line_type CNT -out_alpha 0.05000
> > -boot_interval
> > 2 -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937
-boot_seed ''
> > -rank_corr_flag 0 "
> > DEBUG 4:
> > DEBUG 4: Amending Job 1 with options: "-job aggregate_stat"
> > DEBUG 4:
> > DEBUG 4: Amending Job 1 with command line options: "-column_min
-obs
> > 900 -column_max -obs 1100 -line_type MPR -out_line_type CNT -by
> > FCST_LEAD -by OBS_LEV -interp_mthd BILIN -vx_mask
> > /h/data/global/WXQC/data/met/poly/
> > baltic_1p5km.nc"
> > DEBUG 2:
> > DEBUG 2: Processing Job 1: -job aggregate_stat -fcst_valid_beg
> > 20180101_000000 -fcst_valid_end 20180531_180000 -vx_mask
> > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -interp_mthd
BILIN
> > -line_type MPR -column_thresh -obs >=900 -column_thresh -obs
<=1100
> > -by FCST_LEAD -by OBS_LEV -out_line_type CNT -out_alpha 0.05000
> > -boot_interval
> > 2 -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937
-boot_seed ''
> > -rank_corr_flag 0
> > GSL_RNG_TYPE=mt19937
> > GSL_RNG_SEED=18446744071994357853
> > DEBUG 2: Computing output for 0 case(s).
> > WARNING:
> > WARNING: do_job_aggr_stat() -> no matching STAT lines found for
job:
> > -job aggregate_stat -fcst_valid_beg 20180101_000000
-fcst_valid_end
> > 20180531_180000 -vx_mask
> > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc
> > -interp_mthd BILIN -line_type MPR -column_thresh -obs >=900
> > -column_thresh -obs <=1100 -by FCST_LEAD -by OBS_LEV
-out_line_type
> > CNT -out_alpha 0.05000 -boot_interval 2 -boot_rep_prop 1.00000
> > -n_boot_rep 1000 -boot_rng mt19937 -boot_seed '' -rank_corr_flag 0
> > WARNING:
> > DEBUG 2: Job 1 used 0 out of 0 STAT lines.
> >
> > If I take the vx_mask entry, I get stats.  So what is the problem?
I
> > placed a couple model files and MPR files on AMERDEC.
> >
> > Thanks
> > Bob
> >
> >
>
>
>
>

------------------------------------------------
Subject: RE: [Non-DoD Source] Re: [rt.rap.ucar.edu #91234] VX_MASK Throwing all data
From: robert.craig.2 at us.af.mil
Time: Thu Jul 25 12:00:00 2019


Thanks, I wanted to make sure there wasn't another way built in for
this before heading down that path of creating a SID file.

Bob

-----Original Message-----
From: John Halley Gotway via RT <met_help at ucar.edu>
Sent: Thursday, July 25, 2019 12:55 PM
To: CRAIG, ROBERT J GS-12 USAF ACC 16 WS/WXN
<robert.craig.2 at us.af.mil>
Subject: Re: [Non-DoD Source] Re: [rt.rap.ucar.edu #91234] VX_MASK
Throwing all data

Bob,

Yes, your explanation makes sense.  Edge effects can be a pain.  So
let me clarify what it sounds like you're doing:

(1) You ran Point-Stat on the parent domain and wrote MPR output.
(2) You ran Point-Stat on a nested domain and wrote MPR output (using
a subset of the obs used for the parent).
(3) You're running STAT-Analysis on the MPR lines from (1) and would
like to subset them down to the stations which are used in the MPR
lines from (2).

I assume this approach is to answer the question, how do the vx scores
of the parent domain compare to the vx scores of the nest, using the
exact same set of observations?

Without rerunning Point-Stat, then yes, I agree with you.  The best
way to have fine control over which stations are or are not included
is using the "mask_sid" option.  In met-8.1, the OBS_SID is stored in
the 27-th column.
So the following sort of command would ignore the header and print the
unique SID locations:
   egrep -v "VERSION" sample_mpr.txt | awk '{print $27}' | sort -u

Thanks,
John

On Thu, Jul 25, 2019 at 7:24 AM 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=91234 >
>
> John, a related question.  When I compare the nested grid to the
outer
> grid using -mask_poly, the number of observations used is not
> identical.  I believe is caused by when verifying a nested grid, obs
> near the edge won't be used unless there is four grid points around
the observation - bilin
> interpolation.   When I ran point stat, the interpolation percentage
was
> 100% so all grid points had to be there for the interpolation to
happen.
> Short of rerunning  point_stat with the interpolation percentage set
> to 0 so all obs in the domain are used, is there a way MET can save
> off the observation IDs used in the nested grid and use those obs in
> -mask_sid for the outer grid masking to ensure I verify the nested
and
> outer grid with the exact same set of observations.  The brute force
> way would be to filter the nest MPR file to just the observation ID
> column, clean up the list, and then use that in -mask_sid.  Is this
> the only way to ensure the same number over observations are used?
>
> Thanks
> Bob
>
> -----Original Message-----
> From: John Halley Gotway via RT <met_help at ucar.edu>
> Sent: Wednesday, July 24, 2019 4:37 PM
> To: CRAIG, ROBERT J GS-12 USAF ACC 16 WS/WXN
> <robert.craig.2 at us.af.mil>
> Subject: [Non-DoD Source] Re: [rt.rap.ucar.edu #91234] VX_MASK
> Throwing all data
>
> Bob,
>
> I see that you have a question about the -vx_mask job command option
> for the STAT-Analysis tool.  The good news is that this one is
pretty
> easy to solve.
>
> If you look in the default STAT-Analysis config file, you'll see
> several filtering options as the top of the config file (model,
desc,
> fcst_lead, ... and so on, including vx_mask).  Each of these config
> options has a corresponding job command option.  Setting the
"vx_mask
> = [];" option in the STAT-Analysis config file is equivalent to
> setting the "-vx_mask" job command option.  And the key point is
that
> these options filter the contents of the corresponding column of the
> .stat files from MET.  Let's say you ran Point-Stat and created
output
> for two masking regions which are named EAST and WEST in the .stat
output file.  Specifying "-vx_mask EAST"
> would filter the input data down to the lines where "VX_MASK =
EAST".
> You're getting 0 matched pairs when using "-vx_mask
> /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc" because that
string
> doesn't appear in the .stat files.
>
> But what you actually want to do is filter the lat/lon of the MPR
lines.
> Looking in the data/config/README file, you can do this using the
> -mask_grid, -mask_poly, or -mask_sid job command options:
>
> //       "-mask_grid       name"
> //       "-mask_poly       file"
> //       "-mask_sid        file|list" see description of "sid" entry
above
>
> Please use "-mask_poly
/h/data/global/WXQC/data/met/poly/baltic_1p5km.nc"
> to filter the MPR lines using the output of gen_vx_mask.
>
> Hopefully that'll do what you need.
>
> Thanks,
> John
>
>
>
>
> On Wed, Jul 24, 2019 at 3:00 PM robert.craig.2 at us.af.mil via RT <
> met_help at ucar.edu> wrote:
>
> >
> > Wed Jul 24 15:00:14 2019: Request 91234 was acted upon.
> > Transaction: Ticket created by robert.craig.2 at us.af.mil
> >        Queue: met_help
> >      Subject: VX_MASK Throwing all data
> >        Owner: Nobody
> >   Requestors: robert.craig.2 at us.af.mil
> >       Status: new
> >  Ticket <URL:
> > https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=91234
> > >
> >
> >
> > John, I generated a vx_mask file for the Baltic region.  I am
> > verifying a domain larger than the vx_mask file, using vx_mask to
> > just verify over the nested grid.  I used the following command
line
> > to
> create the mask:
> >
> > /h/MET/bin/gen_vx_mask
> >
/home/specmdev/scratch/test/baltic1p5/PS.557WW_SC.U_DI.C_GP.GALWEM-R
> > D_
> > GR.C1P5KM_AR.BALTIC_DD.20180531_CY.12_FH.029_DF.GR2
> >
/home/specmdev/scratch/test/baltic1p5/PS.557WW_SC.U_DI.C_GP.GALWEM-R
> > D_
> > GR.C1P5KM_AR.BALTIC_DD.20180531_CY.12_FH.029_DF.GR2
> > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -type grid
> >
> > I generate a vx_mask file over the correct region (verified with
> > plot_data_plane).
> >
> > I ran point_stat generate model-ob pairs for boundary model and
the nest.
> > The nest should have about 230 obs in it. Then I ran stat_anal to
> > generate stats using obs in the nest for the outer domain.  The
stat
> > anal job is
> > below:
> >
> > /h/MET/bin/stat_analysis -lookin
> > /h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test
-out
> > /h/data/global/WXQC/data/met/summary/sl_baltic4_1 -tmp_dir
> > /h/data/global/WXQC/dat a/met/tmp -column_min -obs 900 -column_max
> > -obs 1100 -line_type MPR -out_line_type CNT -by FCST_LEAD -by
> > OBS_LEV -interp_mthd BILIN -vx_mask
> > /h/data/global/WXQC/data/met/poly/baltic_1p
> > 5km.nc -config
> >
/h/data/global/WXQC/data/met/config/met_config/STATAnalysisConfig_bo
> > ot
> > strap_aggstat
> > -v 4
> >
> > When I run this I get the following message:
> >
> > DEBUG 1: Reading user-defined grib1 MET_GRIB_TABLES file:
> > /h/data/global/WXQC/data/met/config/grib2/grib1_af_131_57.txt
> > DEBUG 1: Reading user-defined grib2 MET_GRIB_TABLES file:
> > /h/data/global/WXQC/data/met/config/grib2/grib2_geps.txt
> > DEBUG 1: Creating STAT-Analysis output file
> > "/h/data/global/WXQC/data/met/summary/sl_baltic4_1"
> > DEBUG 1: Default Config File:
> > /h/MET/share/met/config/STATAnalysisConfig_default
> > DEBUG 1: User Config File:
> >
/h/data/global/WXQC/data/met/config/met_config/STATAnalysisConfig_bo
> > ot strap_aggstat DEBUG 4: Default Job from the config file:
> > "-fcst_valid_beg
> > 20180101_000000 -fcst_valid_end 20180531_180000 "
> > DEBUG 4: Amending default job with command line options:
> > "-column_min -obs
> > 900 -column_max -obs 1100 -line_type MPR -out_line_type CNT -by
> > FCST_LEAD -by OBS_LEV -interp_mthd BILIN -vx_mask
> > /h/data/global/WXQC/data/met/poly/
> > baltic_1p5km.nc"
> > DEBUG 4: New default jobstring: "-fcst_valid_beg 20180101_000000
> > -fcst_valid_end 20180531_180000 -vx_mask
> > /h/data/global/WXQC/data/met/poly/
> > baltic_1p5km.nc -interp_mthd BILIN -line_type MPR -column_thresh
> > -obs
> > >=900 -column_thresh -obs <=1100 -by FCST_LEAD -by OBS_LEV
> > >-out_line_type
> > CNT -out_alpha 0.05000 -boot_interval 2 -boot_rep_prop 1.00000
> > -n_boot_rep
> > 1000 -boot_rng mt19937 -boot_seed '' -rank_corr_flag 0 "
> > DEBUG 2: Processing 14 STAT files.
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_060000L_20180201_180000V.stat"
> > ... 1 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_000000L_20180201_000000V.stat"
> > ... 2 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_300000L_20180201_180000V.stat"
> > ... 3 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_000000L_20180201_120000V.stat"
> > ... 4 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_060000L_20180201_060000V.stat"
> > ... 5 of 14
> >
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_240000L_20180201_000000V.stat"
> > ... 6 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_240000L_20180201_120000V.stat"
> > ... 7 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_180000L_20180201_180000V.stat"
> > ... 8 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_120000L_20180201_120000V.stat"
> > ... 9 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_300000L_20180201_060000V.stat"
> > ... 10 of 14
> >
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_360000L_20180201_000000V.stat"
> > ... 11 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_120000L_20180201_000000V.stat"
> > ... 12 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_360000L_20180201_120000V.stat"
> > ... 13 of 14
> > DEBUG 3: Processing STAT file
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_180000L_20180201_060000V.stat"
> > ... 14 of 14
> > DEBUG 2: STAT Lines read     = 51646
> > DEBUG 2: STAT Lines retained = 0
> > DEBUG 4: process_job(jobstring):-job aggregate_stat"
> > DEBUG 4:
> > DEBUG 4: Initializing Job 1 to default job: "-fcst_valid_beg
> > 20180101_000000 -fcst_valid_end 20180531_180000 -vx_mask
> > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -interp_mthd
BILIN
> > -line_type MPR -column_thresh -obs >=900 -column_thresh -obs
<=1100
> > -by FCST_LEAD -by OBS_LEV -out_line_type CNT -out_alpha 0.05000
> > -boot_interval
> > 2 -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937
-boot_seed ''
> > -rank_corr_flag 0 "
> > DEBUG 4:
> > DEBUG 4: Amending Job 1 with options: "-job aggregate_stat"
> > DEBUG 4:
> > DEBUG 4: Amending Job 1 with command line options: "-column_min
-obs
> > 900 -column_max -obs 1100 -line_type MPR -out_line_type CNT -by
> > FCST_LEAD -by OBS_LEV -interp_mthd BILIN -vx_mask
> > /h/data/global/WXQC/data/met/poly/
> > baltic_1p5km.nc"
> > DEBUG 2:
> > DEBUG 2: Processing Job 1: -job aggregate_stat -fcst_valid_beg
> > 20180101_000000 -fcst_valid_end 20180531_180000 -vx_mask
> > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -interp_mthd
BILIN
> > -line_type MPR -column_thresh -obs >=900 -column_thresh -obs
<=1100
> > -by FCST_LEAD -by OBS_LEV -out_line_type CNT -out_alpha 0.05000
> > -boot_interval
> > 2 -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937
-boot_seed ''
> > -rank_corr_flag 0
> > GSL_RNG_TYPE=mt19937
> > GSL_RNG_SEED=18446744071994357853
> > DEBUG 2: Computing output for 0 case(s).
> > WARNING:
> > WARNING: do_job_aggr_stat() -> no matching STAT lines found for
job:
> > -job aggregate_stat -fcst_valid_beg 20180101_000000
-fcst_valid_end
> > 20180531_180000 -vx_mask
> > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc
> > -interp_mthd BILIN -line_type MPR -column_thresh -obs >=900
> > -column_thresh -obs <=1100 -by FCST_LEAD -by OBS_LEV
-out_line_type
> > CNT -out_alpha 0.05000 -boot_interval 2 -boot_rep_prop 1.00000
> > -n_boot_rep 1000 -boot_rng mt19937 -boot_seed '' -rank_corr_flag 0
> > WARNING:
> > DEBUG 2: Job 1 used 0 out of 0 STAT lines.
> >
> > If I take the vx_mask entry, I get stats.  So what is the problem?
> > I placed a couple model files and MPR files on AMERDEC.
> >
> > Thanks
> > Bob
> >
> >
>
>
>
>



------------------------------------------------
Subject: VX_MASK Throwing all data
From: John Halley Gotway
Time: Fri Jul 26 10:19:34 2019

John,

No, there's no obvious alternative way of handling this better with
met-8.1.

But I did have a couple of thoughts on the way into work today.  The
mask
section in Point-Stat contains 3 entries for defining masking regions.
But
there is a subtle difference between them:
- The grid and poly options are "area" masks, meaning they define
which
FORECAST grid points should be included in the verification region.
Any
forecast grid points outside those regions are considered to contain
bad
data values.
- The sid and llpnt entries are "point" masks, meaning they define
which
point OBSERVATIONS should be used.  The mask.sid option specifies the
list
of station names while the mask.llpnt option defines thresholds for
the
lat/lon values (with no consideration given to the grid on which the
vx is
done).

These sort of details matter a lot when dealing with edge effects.
The
appeal of the mask.grid and mask.poly options is that the same logic
for
them is applied consistently throughout the MET tools (in Point-Stat
and
Grid-Stat, in particular).  But perhaps there's room to add more
masking
options which would apply the grid and poly masking logic to the point
OBSERVATION locations instead of the forecast grid points.

For example, "gridpnt" and "polypnt" could mean "use point
observations
falling inside these regions".  And don't apply them in any way to the
gridded forecast data.  I *think* this logic would make it easier to
compare the performance of the nest to the parent using the same set
of
point observations... basically solving the edge effect issue.

But this would require new development.  We met with Evan and crew
yesterday to discuss how to handle these sort of ideas that come up
during
met-help support.  We could document it in a GitHub issue with AF's
name on
it, but leave it un-prioritized and discuss it further with you guys.

Is this enhancement worth documenting in this way?  Or is it overkill?

Thanks,
John



On Thu, Jul 25, 2019 at 4:13 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=91234 >
>
>
> Thanks, I wanted to make sure there wasn't another way built in for
this
> before heading down that path of creating a SID file.
>
> Bob
>
> -----Original Message-----
> From: John Halley Gotway via RT <met_help at ucar.edu>
> Sent: Thursday, July 25, 2019 12:55 PM
> To: CRAIG, ROBERT J GS-12 USAF ACC 16 WS/WXN
<robert.craig.2 at us.af.mil>
> Subject: Re: [Non-DoD Source] Re: [rt.rap.ucar.edu #91234] VX_MASK
> Throwing all data
>
> Bob,
>
> Yes, your explanation makes sense.  Edge effects can be a pain.  So
let me
> clarify what it sounds like you're doing:
>
> (1) You ran Point-Stat on the parent domain and wrote MPR output.
> (2) You ran Point-Stat on a nested domain and wrote MPR output
(using a
> subset of the obs used for the parent).
> (3) You're running STAT-Analysis on the MPR lines from (1) and would
like
> to subset them down to the stations which are used in the MPR lines
from
> (2).
>
> I assume this approach is to answer the question, how do the vx
scores of
> the parent domain compare to the vx scores of the nest, using the
exact
> same set of observations?
>
> Without rerunning Point-Stat, then yes, I agree with you.  The best
way to
> have fine control over which stations are or are not included is
using the
> "mask_sid" option.  In met-8.1, the OBS_SID is stored in the 27-th
column.
> So the following sort of command would ignore the header and print
the
> unique SID locations:
>    egrep -v "VERSION" sample_mpr.txt | awk '{print $27}' | sort -u
>
> Thanks,
> John
>
> On Thu, Jul 25, 2019 at 7:24 AM 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=91234 >
> >
> > John, a related question.  When I compare the nested grid to the
outer
> > grid using -mask_poly, the number of observations used is not
> > identical.  I believe is caused by when verifying a nested grid,
obs
> > near the edge won't be used unless there is four grid points
around the
> observation - bilin
> > interpolation.   When I ran point stat, the interpolation
percentage was
> > 100% so all grid points had to be there for the interpolation to
happen.
> > Short of rerunning  point_stat with the interpolation percentage
set
> > to 0 so all obs in the domain are used, is there a way MET can
save
> > off the observation IDs used in the nested grid and use those obs
in
> > -mask_sid for the outer grid masking to ensure I verify the nested
and
> > outer grid with the exact same set of observations.  The brute
force
> > way would be to filter the nest MPR file to just the observation
ID
> > column, clean up the list, and then use that in -mask_sid.  Is
this
> > the only way to ensure the same number over observations are used?
> >
> > Thanks
> > Bob
> >
> > -----Original Message-----
> > From: John Halley Gotway via RT <met_help at ucar.edu>
> > Sent: Wednesday, July 24, 2019 4:37 PM
> > To: CRAIG, ROBERT J GS-12 USAF ACC 16 WS/WXN
> > <robert.craig.2 at us.af.mil>
> > Subject: [Non-DoD Source] Re: [rt.rap.ucar.edu #91234] VX_MASK
> > Throwing all data
> >
> > Bob,
> >
> > I see that you have a question about the -vx_mask job command
option
> > for the STAT-Analysis tool.  The good news is that this one is
pretty
> > easy to solve.
> >
> > If you look in the default STAT-Analysis config file, you'll see
> > several filtering options as the top of the config file (model,
desc,
> > fcst_lead, ... and so on, including vx_mask).  Each of these
config
> > options has a corresponding job command option.  Setting the
"vx_mask
> > = [];" option in the STAT-Analysis config file is equivalent to
> > setting the "-vx_mask" job command option.  And the key point is
that
> > these options filter the contents of the corresponding column of
the
> > .stat files from MET.  Let's say you ran Point-Stat and created
output
> > for two masking regions which are named EAST and WEST in the .stat
> output file.  Specifying "-vx_mask EAST"
> > would filter the input data down to the lines where "VX_MASK =
EAST".
> > You're getting 0 matched pairs when using "-vx_mask
> > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc" because that
string
> > doesn't appear in the .stat files.
> >
> > But what you actually want to do is filter the lat/lon of the MPR
lines.
> > Looking in the data/config/README file, you can do this using the
> > -mask_grid, -mask_poly, or -mask_sid job command options:
> >
> > //       "-mask_grid       name"
> > //       "-mask_poly       file"
> > //       "-mask_sid        file|list" see description of "sid"
entry
> above
> >
> > Please use "-mask_poly
/h/data/global/WXQC/data/met/poly/baltic_1p5km.nc
> "
> > to filter the MPR lines using the output of gen_vx_mask.
> >
> > Hopefully that'll do what you need.
> >
> > Thanks,
> > John
> >
> >
> >
> >
> > On Wed, Jul 24, 2019 at 3:00 PM robert.craig.2 at us.af.mil via RT <
> > met_help at ucar.edu> wrote:
> >
> > >
> > > Wed Jul 24 15:00:14 2019: Request 91234 was acted upon.
> > > Transaction: Ticket created by robert.craig.2 at us.af.mil
> > >        Queue: met_help
> > >      Subject: VX_MASK Throwing all data
> > >        Owner: Nobody
> > >   Requestors: robert.craig.2 at us.af.mil
> > >       Status: new
> > >  Ticket <URL:
> > > https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=91234
> > > >
> > >
> > >
> > > John, I generated a vx_mask file for the Baltic region.  I am
> > > verifying a domain larger than the vx_mask file, using vx_mask
to
> > > just verify over the nested grid.  I used the following command
line
> > > to
> > create the mask:
> > >
> > > /h/MET/bin/gen_vx_mask
> > >
/home/specmdev/scratch/test/baltic1p5/PS.557WW_SC.U_DI.C_GP.GALWEM-R
> > > D_
> > > GR.C1P5KM_AR.BALTIC_DD.20180531_CY.12_FH.029_DF.GR2
> > >
/home/specmdev/scratch/test/baltic1p5/PS.557WW_SC.U_DI.C_GP.GALWEM-R
> > > D_
> > > GR.C1P5KM_AR.BALTIC_DD.20180531_CY.12_FH.029_DF.GR2
> > > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -type grid
> > >
> > > I generate a vx_mask file over the correct region (verified with
> > > plot_data_plane).
> > >
> > > I ran point_stat generate model-ob pairs for boundary model and
the
> nest.
> > > The nest should have about 230 obs in it. Then I ran stat_anal
to
> > > generate stats using obs in the nest for the outer domain.  The
stat
> > > anal job is
> > > below:
> > >
> > > /h/MET/bin/stat_analysis -lookin
> > > /h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test
-out
> > > /h/data/global/WXQC/data/met/summary/sl_baltic4_1 -tmp_dir
> > > /h/data/global/WXQC/dat a/met/tmp -column_min -obs 900
-column_max
> > > -obs 1100 -line_type MPR -out_line_type CNT -by FCST_LEAD -by
> > > OBS_LEV -interp_mthd BILIN -vx_mask
> > > /h/data/global/WXQC/data/met/poly/baltic_1p
> > > 5km.nc -config
> > >
/h/data/global/WXQC/data/met/config/met_config/STATAnalysisConfig_bo
> > > ot
> > > strap_aggstat
> > > -v 4
> > >
> > > When I run this I get the following message:
> > >
> > > DEBUG 1: Reading user-defined grib1 MET_GRIB_TABLES file:
> > > /h/data/global/WXQC/data/met/config/grib2/grib1_af_131_57.txt
> > > DEBUG 1: Reading user-defined grib2 MET_GRIB_TABLES file:
> > > /h/data/global/WXQC/data/met/config/grib2/grib2_geps.txt
> > > DEBUG 1: Creating STAT-Analysis output file
> > > "/h/data/global/WXQC/data/met/summary/sl_baltic4_1"
> > > DEBUG 1: Default Config File:
> > > /h/MET/share/met/config/STATAnalysisConfig_default
> > > DEBUG 1: User Config File:
> > >
/h/data/global/WXQC/data/met/config/met_config/STATAnalysisConfig_bo
> > > ot strap_aggstat DEBUG 4: Default Job from the config file:
> > > "-fcst_valid_beg
> > > 20180101_000000 -fcst_valid_end 20180531_180000 "
> > > DEBUG 4: Amending default job with command line options:
> > > "-column_min -obs
> > > 900 -column_max -obs 1100 -line_type MPR -out_line_type CNT -by
> > > FCST_LEAD -by OBS_LEV -interp_mthd BILIN -vx_mask
> > > /h/data/global/WXQC/data/met/poly/
> > > baltic_1p5km.nc"
> > > DEBUG 4: New default jobstring: "-fcst_valid_beg 20180101_000000
> > > -fcst_valid_end 20180531_180000 -vx_mask
> > > /h/data/global/WXQC/data/met/poly/
> > > baltic_1p5km.nc -interp_mthd BILIN -line_type MPR -column_thresh
> > > -obs
> > > >=900 -column_thresh -obs <=1100 -by FCST_LEAD -by OBS_LEV
> > > >-out_line_type
> > > CNT -out_alpha 0.05000 -boot_interval 2 -boot_rep_prop 1.00000
> > > -n_boot_rep
> > > 1000 -boot_rng mt19937 -boot_seed '' -rank_corr_flag 0 "
> > > DEBUG 2: Processing 14 STAT files.
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_060000L_20180201_180000V.stat"
> > > ... 1 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_000000L_20180201_000000V.stat"
> > > ... 2 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_300000L_20180201_180000V.stat"
> > > ... 3 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_000000L_20180201_120000V.stat"
> > > ... 4 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_060000L_20180201_060000V.stat"
> > > ... 5 of 14
> > >
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_240000L_20180201_000000V.stat"
> > > ... 6 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_240000L_20180201_120000V.stat"
> > > ... 7 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_180000L_20180201_180000V.stat"
> > > ... 8 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_120000L_20180201_120000V.stat"
> > > ... 9 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_300000L_20180201_060000V.stat"
> > > ... 10 of 14
> > >
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_360000L_20180201_000000V.stat"
> > > ... 11 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_120000L_20180201_000000V.stat"
> > > ... 12 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_360000L_20180201_120000V.stat"
> > > ... 13 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_180000L_20180201_060000V.stat"
> > > ... 14 of 14
> > > DEBUG 2: STAT Lines read     = 51646
> > > DEBUG 2: STAT Lines retained = 0
> > > DEBUG 4: process_job(jobstring):-job aggregate_stat"
> > > DEBUG 4:
> > > DEBUG 4: Initializing Job 1 to default job: "-fcst_valid_beg
> > > 20180101_000000 -fcst_valid_end 20180531_180000 -vx_mask
> > > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -interp_mthd
BILIN
> > > -line_type MPR -column_thresh -obs >=900 -column_thresh -obs
<=1100
> > > -by FCST_LEAD -by OBS_LEV -out_line_type CNT -out_alpha 0.05000
> > > -boot_interval
> > > 2 -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937
-boot_seed
> ''
> > > -rank_corr_flag 0 "
> > > DEBUG 4:
> > > DEBUG 4: Amending Job 1 with options: "-job aggregate_stat"
> > > DEBUG 4:
> > > DEBUG 4: Amending Job 1 with command line options: "-column_min
-obs
> > > 900 -column_max -obs 1100 -line_type MPR -out_line_type CNT -by
> > > FCST_LEAD -by OBS_LEV -interp_mthd BILIN -vx_mask
> > > /h/data/global/WXQC/data/met/poly/
> > > baltic_1p5km.nc"
> > > DEBUG 2:
> > > DEBUG 2: Processing Job 1: -job aggregate_stat -fcst_valid_beg
> > > 20180101_000000 -fcst_valid_end 20180531_180000 -vx_mask
> > > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -interp_mthd
BILIN
> > > -line_type MPR -column_thresh -obs >=900 -column_thresh -obs
<=1100
> > > -by FCST_LEAD -by OBS_LEV -out_line_type CNT -out_alpha 0.05000
> > > -boot_interval
> > > 2 -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937
-boot_seed
> ''
> > > -rank_corr_flag 0
> > > GSL_RNG_TYPE=mt19937
> > > GSL_RNG_SEED=18446744071994357853
> > > DEBUG 2: Computing output for 0 case(s).
> > > WARNING:
> > > WARNING: do_job_aggr_stat() -> no matching STAT lines found for
job:
> > > -job aggregate_stat -fcst_valid_beg 20180101_000000
-fcst_valid_end
> > > 20180531_180000 -vx_mask
> > > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc
> > > -interp_mthd BILIN -line_type MPR -column_thresh -obs >=900
> > > -column_thresh -obs <=1100 -by FCST_LEAD -by OBS_LEV
-out_line_type
> > > CNT -out_alpha 0.05000 -boot_interval 2 -boot_rep_prop 1.00000
> > > -n_boot_rep 1000 -boot_rng mt19937 -boot_seed '' -rank_corr_flag
0
> > > WARNING:
> > > DEBUG 2: Job 1 used 0 out of 0 STAT lines.
> > >
> > > If I take the vx_mask entry, I get stats.  So what is the
problem?
> > > I placed a couple model files and MPR files on AMERDEC.
> > >
> > > Thanks
> > > Bob
> > >
> > >
> >
> >
> >
> >
>
>
>
>

------------------------------------------------
Subject: RE: [Non-DoD Source] Re: [rt.rap.ucar.edu #91234] VX_MASK Throwing all data
From: robert.craig.2 at us.af.mil
Time: Fri Jul 26 12:43:00 2019

John, I think it would be a very help full addition.  We do
comparisons of nested models all the time an want to have the same obs
used for the computation of statistics.

Bob

-----Original Message-----
From: John Halley Gotway via RT <met_help at ucar.edu>
Sent: Friday, July 26, 2019 11:20 AM
To: CRAIG, ROBERT J GS-12 USAF ACC 16 WS/WXN
<robert.craig.2 at us.af.mil>
Subject: Re: [Non-DoD Source] Re: [rt.rap.ucar.edu #91234] VX_MASK
Throwing all data

John,

No, there's no obvious alternative way of handling this better with
met-8.1.

But I did have a couple of thoughts on the way into work today.  The
mask section in Point-Stat contains 3 entries for defining masking
regions.  But there is a subtle difference between them:
- The grid and poly options are "area" masks, meaning they define
which FORECAST grid points should be included in the verification
region.  Any forecast grid points outside those regions are considered
to contain bad data values.
- The sid and llpnt entries are "point" masks, meaning they define
which point OBSERVATIONS should be used.  The mask.sid option
specifies the list of station names while the mask.llpnt option
defines thresholds for the lat/lon values (with no consideration given
to the grid on which the vx is done).

These sort of details matter a lot when dealing with edge effects.
The appeal of the mask.grid and mask.poly options is that the same
logic for them is applied consistently throughout the MET tools (in
Point-Stat and Grid-Stat, in particular).  But perhaps there's room to
add more masking options which would apply the grid and poly masking
logic to the point OBSERVATION locations instead of the forecast grid
points.

For example, "gridpnt" and "polypnt" could mean "use point
observations falling inside these regions".  And don't apply them in
any way to the gridded forecast data.  I *think* this logic would make
it easier to compare the performance of the nest to the parent using
the same set of point observations... basically solving the edge
effect issue.

But this would require new development.  We met with Evan and crew
yesterday to discuss how to handle these sort of ideas that come up
during met-help support.  We could document it in a GitHub issue with
AF's name on it, but leave it un-prioritized and discuss it further
with you guys.

Is this enhancement worth documenting in this way?  Or is it overkill?

Thanks,
John



On Thu, Jul 25, 2019 at 4:13 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=91234 >
>
>
> Thanks, I wanted to make sure there wasn't another way built in for
> this before heading down that path of creating a SID file.
>
> Bob
>
> -----Original Message-----
> From: John Halley Gotway via RT <met_help at ucar.edu>
> Sent: Thursday, July 25, 2019 12:55 PM
> To: CRAIG, ROBERT J GS-12 USAF ACC 16 WS/WXN
> <robert.craig.2 at us.af.mil>
> Subject: Re: [Non-DoD Source] Re: [rt.rap.ucar.edu #91234] VX_MASK
> Throwing all data
>
> Bob,
>
> Yes, your explanation makes sense.  Edge effects can be a pain.  So
> let me clarify what it sounds like you're doing:
>
> (1) You ran Point-Stat on the parent domain and wrote MPR output.
> (2) You ran Point-Stat on a nested domain and wrote MPR output
(using
> a subset of the obs used for the parent).
> (3) You're running STAT-Analysis on the MPR lines from (1) and would
> like to subset them down to the stations which are used in the MPR
> lines from (2).
>
> I assume this approach is to answer the question, how do the vx
scores
> of the parent domain compare to the vx scores of the nest, using the
> exact same set of observations?
>
> Without rerunning Point-Stat, then yes, I agree with you.  The best
> way to have fine control over which stations are or are not included
> is using the "mask_sid" option.  In met-8.1, the OBS_SID is stored
in the 27-th column.
> So the following sort of command would ignore the header and print
the
> unique SID locations:
>    egrep -v "VERSION" sample_mpr.txt | awk '{print $27}' | sort -u
>
> Thanks,
> John
>
> On Thu, Jul 25, 2019 at 7:24 AM 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=91234 >
> >
> > John, a related question.  When I compare the nested grid to the
> > outer grid using -mask_poly, the number of observations used is
not
> > identical.  I believe is caused by when verifying a nested grid,
obs
> > near the edge won't be used unless there is four grid points
around
> > the
> observation - bilin
> > interpolation.   When I ran point stat, the interpolation
percentage was
> > 100% so all grid points had to be there for the interpolation to
happen.
> > Short of rerunning  point_stat with the interpolation percentage
set
> > to 0 so all obs in the domain are used, is there a way MET can
save
> > off the observation IDs used in the nested grid and use those obs
in
> > -mask_sid for the outer grid masking to ensure I verify the nested
> > and outer grid with the exact same set of observations.  The brute
> > force way would be to filter the nest MPR file to just the
> > observation ID column, clean up the list, and then use that in
> > -mask_sid.  Is this the only way to ensure the same number over
observations are used?
> >
> > Thanks
> > Bob
> >
> > -----Original Message-----
> > From: John Halley Gotway via RT <met_help at ucar.edu>
> > Sent: Wednesday, July 24, 2019 4:37 PM
> > To: CRAIG, ROBERT J GS-12 USAF ACC 16 WS/WXN
> > <robert.craig.2 at us.af.mil>
> > Subject: [Non-DoD Source] Re: [rt.rap.ucar.edu #91234] VX_MASK
> > Throwing all data
> >
> > Bob,
> >
> > I see that you have a question about the -vx_mask job command
option
> > for the STAT-Analysis tool.  The good news is that this one is
> > pretty easy to solve.
> >
> > If you look in the default STAT-Analysis config file, you'll see
> > several filtering options as the top of the config file (model,
> > desc, fcst_lead, ... and so on, including vx_mask).  Each of these
> > config options has a corresponding job command option.  Setting
the
> > "vx_mask = [];" option in the STAT-Analysis config file is
> > equivalent to setting the "-vx_mask" job command option.  And the
> > key point is that these options filter the contents of the
> > corresponding column of the .stat files from MET.  Let's say you
ran
> > Point-Stat and created output for two masking regions which are
> > named EAST and WEST in the .stat
> output file.  Specifying "-vx_mask EAST"
> > would filter the input data down to the lines where "VX_MASK =
EAST".
> > You're getting 0 matched pairs when using "-vx_mask
> > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc" because that
> > string doesn't appear in the .stat files.
> >
> > But what you actually want to do is filter the lat/lon of the MPR
lines.
> > Looking in the data/config/README file, you can do this using the
> > -mask_grid, -mask_poly, or -mask_sid job command options:
> >
> > //       "-mask_grid       name"
> > //       "-mask_poly       file"
> > //       "-mask_sid        file|list" see description of "sid"
entry
> above
> >
> > Please use "-mask_poly
> > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc
> "
> > to filter the MPR lines using the output of gen_vx_mask.
> >
> > Hopefully that'll do what you need.
> >
> > Thanks,
> > John
> >
> >
> >
> >
> > On Wed, Jul 24, 2019 at 3:00 PM robert.craig.2 at us.af.mil via RT <
> > met_help at ucar.edu> wrote:
> >
> > >
> > > Wed Jul 24 15:00:14 2019: Request 91234 was acted upon.
> > > Transaction: Ticket created by robert.craig.2 at us.af.mil
> > >        Queue: met_help
> > >      Subject: VX_MASK Throwing all data
> > >        Owner: Nobody
> > >   Requestors: robert.craig.2 at us.af.mil
> > >       Status: new
> > >  Ticket <URL:
> > > https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=91234
> > > >
> > >
> > >
> > > John, I generated a vx_mask file for the Baltic region.  I am
> > > verifying a domain larger than the vx_mask file, using vx_mask
to
> > > just verify over the nested grid.  I used the following command
> > > line to
> > create the mask:
> > >
> > > /h/MET/bin/gen_vx_mask
> > >
/home/specmdev/scratch/test/baltic1p5/PS.557WW_SC.U_DI.C_GP.GALWEM
> > > -R
> > > D_
> > > GR.C1P5KM_AR.BALTIC_DD.20180531_CY.12_FH.029_DF.GR2
> > >
/home/specmdev/scratch/test/baltic1p5/PS.557WW_SC.U_DI.C_GP.GALWEM
> > > -R
> > > D_
> > > GR.C1P5KM_AR.BALTIC_DD.20180531_CY.12_FH.029_DF.GR2
> > > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -type grid
> > >
> > > I generate a vx_mask file over the correct region (verified with
> > > plot_data_plane).
> > >
> > > I ran point_stat generate model-ob pairs for boundary model and
> > > the
> nest.
> > > The nest should have about 230 obs in it. Then I ran stat_anal
to
> > > generate stats using obs in the nest for the outer domain.  The
> > > stat anal job is
> > > below:
> > >
> > > /h/MET/bin/stat_analysis -lookin
> > > /h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test
> > > -out
> > > /h/data/global/WXQC/data/met/summary/sl_baltic4_1 -tmp_dir
> > > /h/data/global/WXQC/dat a/met/tmp -column_min -obs 900
-column_max
> > > -obs 1100 -line_type MPR -out_line_type CNT -by FCST_LEAD -by
> > > OBS_LEV -interp_mthd BILIN -vx_mask
> > > /h/data/global/WXQC/data/met/poly/baltic_1p
> > > 5km.nc -config
> > >
/h/data/global/WXQC/data/met/config/met_config/STATAnalysisConfig_
> > > bo
> > > ot
> > > strap_aggstat
> > > -v 4
> > >
> > > When I run this I get the following message:
> > >
> > > DEBUG 1: Reading user-defined grib1 MET_GRIB_TABLES file:
> > > /h/data/global/WXQC/data/met/config/grib2/grib1_af_131_57.txt
> > > DEBUG 1: Reading user-defined grib2 MET_GRIB_TABLES file:
> > > /h/data/global/WXQC/data/met/config/grib2/grib2_geps.txt
> > > DEBUG 1: Creating STAT-Analysis output file
> > > "/h/data/global/WXQC/data/met/summary/sl_baltic4_1"
> > > DEBUG 1: Default Config File:
> > > /h/MET/share/met/config/STATAnalysisConfig_default
> > > DEBUG 1: User Config File:
> > >
/h/data/global/WXQC/data/met/config/met_config/STATAnalysisConfig_
> > > bo ot strap_aggstat DEBUG 4: Default Job from the config file:
> > > "-fcst_valid_beg
> > > 20180101_000000 -fcst_valid_end 20180531_180000 "
> > > DEBUG 4: Amending default job with command line options:
> > > "-column_min -obs
> > > 900 -column_max -obs 1100 -line_type MPR -out_line_type CNT -by
> > > FCST_LEAD -by OBS_LEV -interp_mthd BILIN -vx_mask
> > > /h/data/global/WXQC/data/met/poly/
> > > baltic_1p5km.nc"
> > > DEBUG 4: New default jobstring: "-fcst_valid_beg 20180101_000000
> > > -fcst_valid_end 20180531_180000 -vx_mask
> > > /h/data/global/WXQC/data/met/poly/
> > > baltic_1p5km.nc -interp_mthd BILIN -line_type MPR -column_thresh
> > > -obs
> > > >=900 -column_thresh -obs <=1100 -by FCST_LEAD -by OBS_LEV
> > > >-out_line_type
> > > CNT -out_alpha 0.05000 -boot_interval 2 -boot_rep_prop 1.00000
> > > -n_boot_rep
> > > 1000 -boot_rng mt19937 -boot_seed '' -rank_corr_flag 0 "
> > > DEBUG 2: Processing 14 STAT files.
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_060000L_20180201_180000V.stat"
> > > ... 1 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_000000L_20180201_000000V.stat"
> > > ... 2 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_300000L_20180201_180000V.stat"
> > > ... 3 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_000000L_20180201_120000V.stat"
> > > ... 4 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_060000L_20180201_060000V.stat"
> > > ... 5 of 14
> > >
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_240000L_20180201_000000V.stat"
> > > ... 6 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_240000L_20180201_120000V.stat"
> > > ... 7 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_180000L_20180201_180000V.stat"
> > > ... 8 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_120000L_20180201_120000V.stat"
> > > ... 9 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_300000L_20180201_060000V.stat"
> > > ... 10 of 14
> > >
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_360000L_20180201_000000V.stat"
> > > ... 11 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_120000L_20180201_000000V.stat"
> > > ... 12 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_360000L_20180201_120000V.stat"
> > > ... 13 of 14
> > > DEBUG 3: Processing STAT file
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_180000L_20180201_060000V.stat"
> > > ... 14 of 14
> > > DEBUG 2: STAT Lines read     = 51646
> > > DEBUG 2: STAT Lines retained = 0
> > > DEBUG 4: process_job(jobstring):-job aggregate_stat"
> > > DEBUG 4:
> > > DEBUG 4: Initializing Job 1 to default job: "-fcst_valid_beg
> > > 20180101_000000 -fcst_valid_end 20180531_180000 -vx_mask
> > > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -interp_mthd
> > > BILIN -line_type MPR -column_thresh -obs >=900 -column_thresh
-obs
> > > <=1100 -by FCST_LEAD -by OBS_LEV -out_line_type CNT -out_alpha
> > > 0.05000 -boot_interval
> > > 2 -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937
> > > -boot_seed
> ''
> > > -rank_corr_flag 0 "
> > > DEBUG 4:
> > > DEBUG 4: Amending Job 1 with options: "-job aggregate_stat"
> > > DEBUG 4:
> > > DEBUG 4: Amending Job 1 with command line options: "-column_min
> > > -obs
> > > 900 -column_max -obs 1100 -line_type MPR -out_line_type CNT -by
> > > FCST_LEAD -by OBS_LEV -interp_mthd BILIN -vx_mask
> > > /h/data/global/WXQC/data/met/poly/
> > > baltic_1p5km.nc"
> > > DEBUG 2:
> > > DEBUG 2: Processing Job 1: -job aggregate_stat -fcst_valid_beg
> > > 20180101_000000 -fcst_valid_end 20180531_180000 -vx_mask
> > > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -interp_mthd
> > > BILIN -line_type MPR -column_thresh -obs >=900 -column_thresh
-obs
> > > <=1100 -by FCST_LEAD -by OBS_LEV -out_line_type CNT -out_alpha
> > > 0.05000 -boot_interval
> > > 2 -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937
> > > -boot_seed
> ''
> > > -rank_corr_flag 0
> > > GSL_RNG_TYPE=mt19937
> > > GSL_RNG_SEED=18446744071994357853
> > > DEBUG 2: Computing output for 0 case(s).
> > > WARNING:
> > > WARNING: do_job_aggr_stat() -> no matching STAT lines found for
job:
> > > -job aggregate_stat -fcst_valid_beg 20180101_000000
> > > -fcst_valid_end
> > > 20180531_180000 -vx_mask
> > > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc
> > > -interp_mthd BILIN -line_type MPR -column_thresh -obs >=900
> > > -column_thresh -obs <=1100 -by FCST_LEAD -by OBS_LEV
> > > -out_line_type CNT -out_alpha 0.05000 -boot_interval 2
> > > -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937
> > > -boot_seed '' -rank_corr_flag 0
> > > WARNING:
> > > DEBUG 2: Job 1 used 0 out of 0 STAT lines.
> > >
> > > If I take the vx_mask entry, I get stats.  So what is the
problem?
> > > I placed a couple model files and MPR files on AMERDEC.
> > >
> > > Thanks
> > > Bob
> > >
> > >
> >
> >
> >
> >
>
>
>
>



------------------------------------------------
Subject: VX_MASK Throwing all data
From: John Halley Gotway
Time: Fri Jul 26 14:05:44 2019

Bob,

OK, I made this GitHub development issue and will resolve this ticket:
https://github.com/NCAR/MET/issues/1179

Thanks,
John

On Fri, Jul 26, 2019 at 12:43 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=91234 >
>
> John, I think it would be a very help full addition.  We do
comparisons of
> nested models all the time an want to have the same obs used for the
> computation of statistics.
>
> Bob
>
> -----Original Message-----
> From: John Halley Gotway via RT <met_help at ucar.edu>
> Sent: Friday, July 26, 2019 11:20 AM
> To: CRAIG, ROBERT J GS-12 USAF ACC 16 WS/WXN
<robert.craig.2 at us.af.mil>
> Subject: Re: [Non-DoD Source] Re: [rt.rap.ucar.edu #91234] VX_MASK
> Throwing all data
>
> John,
>
> No, there's no obvious alternative way of handling this better with
> met-8.1.
>
> But I did have a couple of thoughts on the way into work today.  The
mask
> section in Point-Stat contains 3 entries for defining masking
regions.  But
> there is a subtle difference between them:
> - The grid and poly options are "area" masks, meaning they define
which
> FORECAST grid points should be included in the verification region.
Any
> forecast grid points outside those regions are considered to contain
bad
> data values.
> - The sid and llpnt entries are "point" masks, meaning they define
which
> point OBSERVATIONS should be used.  The mask.sid option specifies
the list
> of station names while the mask.llpnt option defines thresholds for
the
> lat/lon values (with no consideration given to the grid on which the
vx is
> done).
>
> These sort of details matter a lot when dealing with edge effects.
The
> appeal of the mask.grid and mask.poly options is that the same logic
for
> them is applied consistently throughout the MET tools (in Point-Stat
and
> Grid-Stat, in particular).  But perhaps there's room to add more
masking
> options which would apply the grid and poly masking logic to the
point
> OBSERVATION locations instead of the forecast grid points.
>
> For example, "gridpnt" and "polypnt" could mean "use point
observations
> falling inside these regions".  And don't apply them in any way to
the
> gridded forecast data.  I *think* this logic would make it easier to
> compare the performance of the nest to the parent using the same set
of
> point observations... basically solving the edge effect issue.
>
> But this would require new development.  We met with Evan and crew
> yesterday to discuss how to handle these sort of ideas that come up
during
> met-help support.  We could document it in a GitHub issue with AF's
name on
> it, but leave it un-prioritized and discuss it further with you
guys.
>
> Is this enhancement worth documenting in this way?  Or is it
overkill?
>
> Thanks,
> John
>
>
>
> On Thu, Jul 25, 2019 at 4:13 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=91234 >
> >
> >
> > Thanks, I wanted to make sure there wasn't another way built in
for
> > this before heading down that path of creating a SID file.
> >
> > Bob
> >
> > -----Original Message-----
> > From: John Halley Gotway via RT <met_help at ucar.edu>
> > Sent: Thursday, July 25, 2019 12:55 PM
> > To: CRAIG, ROBERT J GS-12 USAF ACC 16 WS/WXN
> > <robert.craig.2 at us.af.mil>
> > Subject: Re: [Non-DoD Source] Re: [rt.rap.ucar.edu #91234] VX_MASK
> > Throwing all data
> >
> > Bob,
> >
> > Yes, your explanation makes sense.  Edge effects can be a pain.
So
> > let me clarify what it sounds like you're doing:
> >
> > (1) You ran Point-Stat on the parent domain and wrote MPR output.
> > (2) You ran Point-Stat on a nested domain and wrote MPR output
(using
> > a subset of the obs used for the parent).
> > (3) You're running STAT-Analysis on the MPR lines from (1) and
would
> > like to subset them down to the stations which are used in the MPR
> > lines from (2).
> >
> > I assume this approach is to answer the question, how do the vx
scores
> > of the parent domain compare to the vx scores of the nest, using
the
> > exact same set of observations?
> >
> > Without rerunning Point-Stat, then yes, I agree with you.  The
best
> > way to have fine control over which stations are or are not
included
> > is using the "mask_sid" option.  In met-8.1, the OBS_SID is stored
in
> the 27-th column.
> > So the following sort of command would ignore the header and print
the
> > unique SID locations:
> >    egrep -v "VERSION" sample_mpr.txt | awk '{print $27}' | sort -u
> >
> > Thanks,
> > John
> >
> > On Thu, Jul 25, 2019 at 7:24 AM 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=91234 >
> > >
> > > John, a related question.  When I compare the nested grid to the
> > > outer grid using -mask_poly, the number of observations used is
not
> > > identical.  I believe is caused by when verifying a nested grid,
obs
> > > near the edge won't be used unless there is four grid points
around
> > > the
> > observation - bilin
> > > interpolation.   When I ran point stat, the interpolation
percentage
> was
> > > 100% so all grid points had to be there for the interpolation to
> happen.
> > > Short of rerunning  point_stat with the interpolation percentage
set
> > > to 0 so all obs in the domain are used, is there a way MET can
save
> > > off the observation IDs used in the nested grid and use those
obs in
> > > -mask_sid for the outer grid masking to ensure I verify the
nested
> > > and outer grid with the exact same set of observations.  The
brute
> > > force way would be to filter the nest MPR file to just the
> > > observation ID column, clean up the list, and then use that in
> > > -mask_sid.  Is this the only way to ensure the same number over
> observations are used?
> > >
> > > Thanks
> > > Bob
> > >
> > > -----Original Message-----
> > > From: John Halley Gotway via RT <met_help at ucar.edu>
> > > Sent: Wednesday, July 24, 2019 4:37 PM
> > > To: CRAIG, ROBERT J GS-12 USAF ACC 16 WS/WXN
> > > <robert.craig.2 at us.af.mil>
> > > Subject: [Non-DoD Source] Re: [rt.rap.ucar.edu #91234] VX_MASK
> > > Throwing all data
> > >
> > > Bob,
> > >
> > > I see that you have a question about the -vx_mask job command
option
> > > for the STAT-Analysis tool.  The good news is that this one is
> > > pretty easy to solve.
> > >
> > > If you look in the default STAT-Analysis config file, you'll see
> > > several filtering options as the top of the config file (model,
> > > desc, fcst_lead, ... and so on, including vx_mask).  Each of
these
> > > config options has a corresponding job command option.  Setting
the
> > > "vx_mask = [];" option in the STAT-Analysis config file is
> > > equivalent to setting the "-vx_mask" job command option.  And
the
> > > key point is that these options filter the contents of the
> > > corresponding column of the .stat files from MET.  Let's say you
ran
> > > Point-Stat and created output for two masking regions which are
> > > named EAST and WEST in the .stat
> > output file.  Specifying "-vx_mask EAST"
> > > would filter the input data down to the lines where "VX_MASK =
EAST".
> > > You're getting 0 matched pairs when using "-vx_mask
> > > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc" because that
> > > string doesn't appear in the .stat files.
> > >
> > > But what you actually want to do is filter the lat/lon of the
MPR
> lines.
> > > Looking in the data/config/README file, you can do this using
the
> > > -mask_grid, -mask_poly, or -mask_sid job command options:
> > >
> > > //       "-mask_grid       name"
> > > //       "-mask_poly       file"
> > > //       "-mask_sid        file|list" see description of "sid"
entry
> > above
> > >
> > > Please use "-mask_poly
> > > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc
> > "
> > > to filter the MPR lines using the output of gen_vx_mask.
> > >
> > > Hopefully that'll do what you need.
> > >
> > > Thanks,
> > > John
> > >
> > >
> > >
> > >
> > > On Wed, Jul 24, 2019 at 3:00 PM robert.craig.2 at us.af.mil via RT
<
> > > met_help at ucar.edu> wrote:
> > >
> > > >
> > > > Wed Jul 24 15:00:14 2019: Request 91234 was acted upon.
> > > > Transaction: Ticket created by robert.craig.2 at us.af.mil
> > > >        Queue: met_help
> > > >      Subject: VX_MASK Throwing all data
> > > >        Owner: Nobody
> > > >   Requestors: robert.craig.2 at us.af.mil
> > > >       Status: new
> > > >  Ticket <URL:
> > > > https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=91234
> > > > >
> > > >
> > > >
> > > > John, I generated a vx_mask file for the Baltic region.  I am
> > > > verifying a domain larger than the vx_mask file, using vx_mask
to
> > > > just verify over the nested grid.  I used the following
command
> > > > line to
> > > create the mask:
> > > >
> > > > /h/MET/bin/gen_vx_mask
> > > >
/home/specmdev/scratch/test/baltic1p5/PS.557WW_SC.U_DI.C_GP.GALWEM
> > > > -R
> > > > D_
> > > > GR.C1P5KM_AR.BALTIC_DD.20180531_CY.12_FH.029_DF.GR2
> > > >
/home/specmdev/scratch/test/baltic1p5/PS.557WW_SC.U_DI.C_GP.GALWEM
> > > > -R
> > > > D_
> > > > GR.C1P5KM_AR.BALTIC_DD.20180531_CY.12_FH.029_DF.GR2
> > > > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -type grid
> > > >
> > > > I generate a vx_mask file over the correct region (verified
with
> > > > plot_data_plane).
> > > >
> > > > I ran point_stat generate model-ob pairs for boundary model
and
> > > > the
> > nest.
> > > > The nest should have about 230 obs in it. Then I ran stat_anal
to
> > > > generate stats using obs in the nest for the outer domain.
The
> > > > stat anal job is
> > > > below:
> > > >
> > > > /h/MET/bin/stat_analysis -lookin
> > > >
/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test
> > > > -out
> > > > /h/data/global/WXQC/data/met/summary/sl_baltic4_1 -tmp_dir
> > > > /h/data/global/WXQC/dat a/met/tmp -column_min -obs 900
-column_max
> > > > -obs 1100 -line_type MPR -out_line_type CNT -by FCST_LEAD -by
> > > > OBS_LEV -interp_mthd BILIN -vx_mask
> > > > /h/data/global/WXQC/data/met/poly/baltic_1p
> > > > 5km.nc -config
> > > >
/h/data/global/WXQC/data/met/config/met_config/STATAnalysisConfig_
> > > > bo
> > > > ot
> > > > strap_aggstat
> > > > -v 4
> > > >
> > > > When I run this I get the following message:
> > > >
> > > > DEBUG 1: Reading user-defined grib1 MET_GRIB_TABLES file:
> > > > /h/data/global/WXQC/data/met/config/grib2/grib1_af_131_57.txt
> > > > DEBUG 1: Reading user-defined grib2 MET_GRIB_TABLES file:
> > > > /h/data/global/WXQC/data/met/config/grib2/grib2_geps.txt
> > > > DEBUG 1: Creating STAT-Analysis output file
> > > > "/h/data/global/WXQC/data/met/summary/sl_baltic4_1"
> > > > DEBUG 1: Default Config File:
> > > > /h/MET/share/met/config/STATAnalysisConfig_default
> > > > DEBUG 1: User Config File:
> > > >
/h/data/global/WXQC/data/met/config/met_config/STATAnalysisConfig_
> > > > bo ot strap_aggstat DEBUG 4: Default Job from the config file:
> > > > "-fcst_valid_beg
> > > > 20180101_000000 -fcst_valid_end 20180531_180000 "
> > > > DEBUG 4: Amending default job with command line options:
> > > > "-column_min -obs
> > > > 900 -column_max -obs 1100 -line_type MPR -out_line_type CNT
-by
> > > > FCST_LEAD -by OBS_LEV -interp_mthd BILIN -vx_mask
> > > > /h/data/global/WXQC/data/met/poly/
> > > > baltic_1p5km.nc"
> > > > DEBUG 4: New default jobstring: "-fcst_valid_beg
20180101_000000
> > > > -fcst_valid_end 20180531_180000 -vx_mask
> > > > /h/data/global/WXQC/data/met/poly/
> > > > baltic_1p5km.nc -interp_mthd BILIN -line_type MPR
-column_thresh
> > > > -obs
> > > > >=900 -column_thresh -obs <=1100 -by FCST_LEAD -by OBS_LEV
> > > > >-out_line_type
> > > > CNT -out_alpha 0.05000 -boot_interval 2 -boot_rep_prop 1.00000
> > > > -n_boot_rep
> > > > 1000 -boot_rng mt19937 -boot_seed '' -rank_corr_flag 0 "
> > > > DEBUG 2: Processing 14 STAT files.
> > > > DEBUG 3: Processing STAT file
> > > >
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_060000L_20180201_180000V.stat"
> > > > ... 1 of 14
> > > > DEBUG 3: Processing STAT file
> > > >
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_000000L_20180201_000000V.stat"
> > > > ... 2 of 14
> > > > DEBUG 3: Processing STAT file
> > > >
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_300000L_20180201_180000V.stat"
> > > > ... 3 of 14
> > > > DEBUG 3: Processing STAT file
> > > >
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_000000L_20180201_120000V.stat"
> > > > ... 4 of 14
> > > > DEBUG 3: Processing STAT file
> > > >
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_060000L_20180201_060000V.stat"
> > > > ... 5 of 14
> > > >
> > > > DEBUG 3: Processing STAT file
> > > >
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_240000L_20180201_000000V.stat"
> > > > ... 6 of 14
> > > > DEBUG 3: Processing STAT file
> > > >
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_240000L_20180201_120000V.stat"
> > > > ... 7 of 14
> > > > DEBUG 3: Processing STAT file
> > > >
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_180000L_20180201_180000V.stat"
> > > > ... 8 of 14
> > > > DEBUG 3: Processing STAT file
> > > >
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_120000L_20180201_120000V.stat"
> > > > ... 9 of 14
> > > > DEBUG 3: Processing STAT file
> > > >
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_300000L_20180201_060000V.stat"
> > > > ... 10 of 14
> > > >
> > > > DEBUG 3: Processing STAT file
> > > >
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_360000L_20180201_000000V.stat"
> > > > ... 11 of 14
> > > > DEBUG 3: Processing STAT file
> > > >
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_120000L_20180201_000000V.stat"
> > > > ... 12 of 14
> > > > DEBUG 3: Processing STAT file
> > > >
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_360000L_20180201_120000V.stat"
> > > > ... 13 of 14
> > > > DEBUG 3: Processing STAT file
> > > >
> > >
> >
>
"/h/data/global/WXQC/data/met/ptstat/mdlob_pairs/baltic4/SL/test/point_stat_baltic4_all_180000L_20180201_060000V.stat"
> > > > ... 14 of 14
> > > > DEBUG 2: STAT Lines read     = 51646
> > > > DEBUG 2: STAT Lines retained = 0
> > > > DEBUG 4: process_job(jobstring):-job aggregate_stat"
> > > > DEBUG 4:
> > > > DEBUG 4: Initializing Job 1 to default job: "-fcst_valid_beg
> > > > 20180101_000000 -fcst_valid_end 20180531_180000 -vx_mask
> > > > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -interp_mthd
> > > > BILIN -line_type MPR -column_thresh -obs >=900 -column_thresh
-obs
> > > > <=1100 -by FCST_LEAD -by OBS_LEV -out_line_type CNT -out_alpha
> > > > 0.05000 -boot_interval
> > > > 2 -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937
> > > > -boot_seed
> > ''
> > > > -rank_corr_flag 0 "
> > > > DEBUG 4:
> > > > DEBUG 4: Amending Job 1 with options: "-job aggregate_stat"
> > > > DEBUG 4:
> > > > DEBUG 4: Amending Job 1 with command line options: "-
column_min
> > > > -obs
> > > > 900 -column_max -obs 1100 -line_type MPR -out_line_type CNT
-by
> > > > FCST_LEAD -by OBS_LEV -interp_mthd BILIN -vx_mask
> > > > /h/data/global/WXQC/data/met/poly/
> > > > baltic_1p5km.nc"
> > > > DEBUG 2:
> > > > DEBUG 2: Processing Job 1: -job aggregate_stat -fcst_valid_beg
> > > > 20180101_000000 -fcst_valid_end 20180531_180000 -vx_mask
> > > > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc -interp_mthd
> > > > BILIN -line_type MPR -column_thresh -obs >=900 -column_thresh
-obs
> > > > <=1100 -by FCST_LEAD -by OBS_LEV -out_line_type CNT -out_alpha
> > > > 0.05000 -boot_interval
> > > > 2 -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937
> > > > -boot_seed
> > ''
> > > > -rank_corr_flag 0
> > > > GSL_RNG_TYPE=mt19937
> > > > GSL_RNG_SEED=18446744071994357853
> > > > DEBUG 2: Computing output for 0 case(s).
> > > > WARNING:
> > > > WARNING: do_job_aggr_stat() -> no matching STAT lines found
for job:
> > > > -job aggregate_stat -fcst_valid_beg 20180101_000000
> > > > -fcst_valid_end
> > > > 20180531_180000 -vx_mask
> > > > /h/data/global/WXQC/data/met/poly/baltic_1p5km.nc
> > > > -interp_mthd BILIN -line_type MPR -column_thresh -obs >=900
> > > > -column_thresh -obs <=1100 -by FCST_LEAD -by OBS_LEV
> > > > -out_line_type CNT -out_alpha 0.05000 -boot_interval 2
> > > > -boot_rep_prop 1.00000 -n_boot_rep 1000 -boot_rng mt19937
> > > > -boot_seed '' -rank_corr_flag 0
> > > > WARNING:
> > > > DEBUG 2: Job 1 used 0 out of 0 STAT lines.
> > > >
> > > > If I take the vx_mask entry, I get stats.  So what is the
problem?
> > > > I placed a couple model files and MPR files on AMERDEC.
> > > >
> > > > Thanks
> > > > Bob
> > > >
> > > >
> > >
> > >
> > >
> > >
> >
> >
> >
> >
>
>
>
>

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


More information about the Met_help mailing list