////////////////////////////////////////////////////////////////////////////////
//
// Point-Stat configuration file.
//
// For additional information, please see the MET User's Guide.
//
////////////////////////////////////////////////////////////////////////////////

//
// Output model name to be written
//
model = "GFS";

//
// Output description to be written
// May be set separately in each "obs.field" entry
//
desc = "NA";

////////////////////////////////////////////////////////////////////////////////

//
// Verification grid
//
regrid = {
   to_grid    = NONE;
   method     = NEAREST;
   width      = 1;
   vld_thresh = 0.5;
}

////////////////////////////////////////////////////////////////////////////////

mpr_column  = [];
mpr_thresh  = [];
cat_thresh  = [ NA ];
cnt_thresh  = [ NA ];
cnt_logic   = UNION;
wind_thresh = [ NA ];
wind_logic  = UNION;
eclv_points = 0.05;

//
// Forecast and observation fields to be verified
//
fcst = {
   sid_inc         = [];
   sid_exc         = [];
   obs_quality_inc = [];
   obs_quality_exc = [];
   cat_thresh      = [];
   message_type    = [ "ADPSFC" ];

   field = [
      {
        name           = "TMP";
        level          = [ "Z2" ];
        desc           = "KELVIN";
        set_attr_units = "K";
      },
      {
        name           = "TMP";
        level          = [ "Z2" ];
        desc           = "CELCIUS";
        convert(x)     = K_to_C(x);
        set_attr_units = "C";
      },
      {
        name           = "TMP";
        level          = [ "Z2" ];
        desc           = "FAHRENHEIT";
        convert(x)     = K_to_F(x);
        set_attr_units = "F";
      },
      {
        name         = "TMP";
        level        = [ "Z2" ];
        desc         = "BAD_CLIMO";
      },
      {
        name         = "TMP";
        level        = [ "P500" ];
        message_type = [ "ADPUPA" ];
      },
      {
        name         = "UGRD";
        level        = [ "Z10" ];
      },
      {
        name         = "VGRD";
        level        = [ "Z10" ];
      },
      {
        name         = "WIND";
        level        = [ "Z10" ];
      }
   ];
}
obs = fcst;

////////////////////////////////////////////////////////////////////////////////

//
// Climatology mean data
//
climo_mean = fcst;
climo_mean = {

   file_name = [ ${CLIMO_MEAN_FILE_LIST} ];

   regrid = {
      method     = BILIN;
      width      = 2;
      vld_thresh = 0.5;
   }

   time_interp_method = DW_MEAN;
   day_interval       = ${DAY_INTERVAL};
   hour_interval      = ${HOUR_INTERVAL};
}

climo_stdev = climo_mean;
climo_stdev = {
   file_name = [ ${CLIMO_STDEV_FILE_LIST} ];

   field = [
      {
        name         = "TMP";
        level        = [ "Z2" ];
        desc         = "KELVIN";
      },
      {
        name         = "TMP";
        level        = [ "Z2" ];
        desc         = "CELCIUS";
        // Standard deviation is the same for units K and C.
      },
      {
        name         = "TMP";
        level        = [ "Z2" ];
        desc         = "FAHRENHEIT";
        // Apply 1.8 scale factor to standard deviation for K to F conversion.
        convert(x)   = 1.8 * x;
      },
      {
        name          = "TMP";
        level         = [ "Z2" ];
        // Set some values to bad data to make sure Point-Stat skips them.
        censor_thresh = [ >5 ];
        censor_val    = [ -9999 ];
      },
      {
        name         = "TMP";
        level        = [ "P500" ];
        message_type = [ "ADPUPA" ];
      },
      {
        name         = "UGRD";
        level        = [ "Z10" ];
      },
      {
        name         = "VGRD";
        level        = [ "Z10" ];
      },
      {
        name         = "WIND";
        level        = [ "Z10" ];
      }
   ];
}

//
// May be set separately in each "obs.field" entry
//
climo_cdf = {
   cdf_bins    = 1;
   center_bins = FALSE;
   write_bins  = TRUE;
   direct_prob = FALSE;
}

////////////////////////////////////////////////////////////////////////////////

//
// Point observation time window
//
obs_window = {
   beg = -5400;
   end =  5400;
}

////////////////////////////////////////////////////////////////////////////////

//
// Verification masking regions
//
mask = {
   grid  = [];
   poly  = [ "MET_BASE/poly/CONUS.poly" ];
   sid   = [];
   llpnt = [];
}

////////////////////////////////////////////////////////////////////////////////

//
// Confidence interval settings
//
ci_alpha  = [ 0.05 ];

boot = {
   interval = PCTILE;
   rep_prop = 1.0;
   n_rep    = 1000;
   rng      = "mt19937";
   seed     = "1";
}

////////////////////////////////////////////////////////////////////////////////

//
// Interpolation methods
//
interp = {
   vld_thresh = 1.0;

   type = [
      {
         method = NEAREST;
         width  = 1;
      }
   ];
}

////////////////////////////////////////////////////////////////////////////////

//
// HiRA verification method
//
hira = {
   flag            = FALSE;
   width           = [ 2, 3, 4, 5 ];
   vld_thresh      = 1.0;
   cov_thresh      = [ ==0.25 ];
   shape           = SQUARE;
   prob_cat_thresh = [];
}

////////////////////////////////////////////////////////////////////////////////

//
// Statistical output types
//
output_flag = {
   fho    = NONE;
   ctc    = NONE;
   cts    = NONE;
   mctc   = NONE;
   mcts   = NONE;
   cnt    = BOTH;
   sl1l2  = BOTH;
   sal1l2 = BOTH;
   vl1l2  = BOTH;
   val1l2 = BOTH;
   vcnt   = BOTH;
   pct    = NONE;
   pstd   = NONE;
   pjc    = NONE;
   prc    = NONE;
   ecnt   = NONE;
   orank  = NONE;
   rps    = NONE;
   eclv   = NONE;
   mpr    = BOTH;
   seeps  = NONE;
   seeps_mpr = NONE;
}

////////////////////////////////////////////////////////////////////////////////
// Threshold for SEEPS p1 (Probability of being dry): >=min_p1&&<=max_p1

seeps_p1_thresh = NA;

////////////////////////////////////////////////////////////////////////////////

duplicate_flag = NONE;
rank_corr_flag = TRUE;
tmp_dir        = "/tmp";
output_prefix  = "${OUTPUT_PREFIX}";
version        = "V11.1.0";

////////////////////////////////////////////////////////////////////////////////
