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

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

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

//
// Output observation type to be written
//
obtype = "ANALYS";

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

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

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

//
// IDs for ensemble members
// Only set if processing a single file with all ensembles
//
ens_member_ids = [];
control_id = "";

//
// May be set separately in each "fcst.field" and "obs.field" entry
//
censor_thresh = [];
censor_val    = [];
prob_cat_thresh = [];

//
// May be set separately in each "fcst.field" entry
//
prob_pct_thresh = [ ==0.25 ];

//
// May be set separately in each "obs.field" entry
//
nc_var_str  = "";
eclv_points = 0.05;

//
// Forecast and observation fields to be verified
//
fcst = {
   ens_thresh = 1.0;
   vld_thresh = 1.0;

   field = [
      {
         name  = "APCP";
         level = [ "A03" ];
      }
   ];
}
obs = fcst;

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

//
// Point observation filtering options
// May be set separately in each "obs.field" entry
//
message_type    = [ "ADPUPA" ];
sid_inc         = [];
sid_exc         = [];
obs_thresh      = [ NA ];
obs_quality_inc = [];
obs_quality_exc = [];
duplicate_flag  = NONE;
obs_summary     = NONE;
obs_perc_value  = 50;
skip_const      = FALSE;

//
// Observation error options
// Set dist_type to NONE to use the observation error table instead
// May be set separately in each "obs.field" entry
//
obs_error = {
   flag             = FALSE;   // TRUE or FALSE
   dist_type        = NONE;    // Distribution type
   dist_parm        = [];      // Distribution parameters
   inst_bias_scale  = 1.0;     // Instrument bias scale adjustment
   inst_bias_offset = 0.0;     // Instrument bias offset adjustment
   min              = NA;      // Valid range of data
   max              = NA;
}

//
// Mapping of message type group name to comma-separated list of values
//
message_type_group_map = [
   { key = "SURFACE"; val = "ADPSFC,SFCSHP,MSONET";               },
   { key = "ANYAIR";  val = "AIRCAR,AIRCFT";                      },
   { key = "ANYSFC";  val = "ADPSFC,SFCSHP,ADPUPA,PROFLR,MSONET"; },
   { key = "ONLYSF";  val = "ADPSFC,SFCSHP";                      },
   { key = "LANDSF";  val = "ADPSFC,MSONET";                      },
   { key = "WATERSF"; val = "SFCSHP";                             },
   { key = "LAPSERT"; val = "ADPSFC,MSONET";                      },
   { key = "MSLAGL";  val = "";                                   }
];

obtype_as_group_val_flag = FALSE;

//
// Ensemble bin sizes
// May be set separately in each "obs.field" entry
//
ens_ssvar_bin_size = 1.0;
ens_phist_bin_size = 0.05;

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

//
// Climatology mean data
// May be set separately in the "fcst" and "obs" dictionaries
//
climo_mean = {

   file_name = [];
   field     = [];

   regrid = {
      method     = NEAREST;
      width      = 1;
      vld_thresh = 0.5;
      shape      = SQUARE;
   }

   time_interp_method = DW_MEAN;
   day_interval       = 31;
   hour_interval      = 6;
}

//
// Climatology standard deviation data
// May be set separately in the "fcst" and "obs" dictionaries
//
climo_stdev = climo_mean;
climo_stdev = {
   file_name = [];
}

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

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

//
// Land/Sea mask options
// "flag" may be set separately in each "obs.field" entry
//
land_mask = {
   flag      = FALSE;
   file_name = [];
   field     = { name = "LAND"; level = "L0"; }
   regrid    = { method = NEAREST; width = 1; }
   thresh    = eq1;
}

//
// Topography options for surface verification
// "flag", "use_obs_thresh", and "interp_fcst_thresh"
// may be set separately in each "obs.field" entry
//
topo_mask = {
   flag               = FALSE;
   file_name          = [];
   field              = { name = "TOPO"; level = "L0"; }
   regrid             = { method = BILIN; width = 2; }
   interp             = { method = BILIN; width = 2; }
   use_obs_thresh     = ge-100&&le100;
   interp_fcst_thresh = ge-50&&le50;
}

//
// Lapse rate correction for surface temperature
// May be set separately in each "obs.field" entry
//
lapse_rate_correction = {
  apply_to = NONE;
  value    = NA;
}

//
// MSL/AGL conversion for height
// May be set separately in each "obs.field" entry
//
msl_agl_conversion = {
  apply_to   = NONE;
  apply_from = OBS;
  thresh     = NA;
  msl_to_agl = TRUE;
}

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

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

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

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

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

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

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

//
// Interpolation methods
//
interp = {
   field      = BOTH;
   vld_thresh = 1.0;
   shape      = SQUARE;

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

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

//
// Statistical output types
// May be set separately in each "obs.field" entry
//
output_flag = {
   ecnt  = NONE;
   rps   = NONE;
   rhist = NONE;
   phist = NONE;
   orank = NONE;
   ssvar = NONE;
   relp  = NONE;
   pct   = NONE;
   pstd  = NONE;
   pjc   = NONE;
   prc   = NONE;
   eclv  = NONE;
}

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

//
// Gridded verification output types
// May be set separately in each "obs.field" entry
//
nc_orank_flag = {
   latlon    = TRUE;
   mean      = TRUE;
   raw       = TRUE;
   rank      = TRUE;
   pit       = TRUE;
   vld_count = TRUE;
   weight    = FALSE;
}

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

//
// Random number generator
//
rng = {
   type = "mt19937";
   seed = "";
}

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

grid_weight_flag  = NONE;
point_weight_flag = NONE;

output_prefix = "";
version       = "V12.2.0";

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