diff --git a/.github/workflows/release-checksum.yml b/.github/workflows/release-checksum.yml
index 683f258a6c..55d8b41cb0 100644
--- a/.github/workflows/release-checksum.yml
+++ b/.github/workflows/release-checksum.yml
@@ -9,6 +9,6 @@ jobs:
add-checksum:
runs-on: ubuntu-latest
steps:
- - uses: dtcenter/metplus-action-release-checksum@v1
+ - uses: dtcenter/metplus-action-release-checksum@v2
with:
token: ${{ secrets.METPLUS_BOT_TOKEN }}
diff --git a/docs/Users_Guide/config_options.rst b/docs/Users_Guide/config_options.rst
index fb6e4f47eb..5a92571886 100644
--- a/docs/Users_Guide/config_options.rst
+++ b/docs/Users_Guide/config_options.rst
@@ -1626,6 +1626,26 @@ The default setting is >=0.1&&<=0.85.
seeps_p1_thresh = >=0.1&&<=0.85;
+seeps_grid_climo_name
+---------------------
+
+The "seeps_grid_climo_name" option sets the location and the filename of the SEEPS climo file for the gridded data.
+The default setting is the empty string. It should be configured by the user. It can be overridden by the environment variable, MET_SEEPS_GRID_CLIMO_NAME.
+
+.. code-block:: none
+
+ seeps_grid_climo_name = "";
+
+seeps_point_climo_name
+----------------------
+
+The "seeps_point_climo_name" option controls the location and the filename of the SEEPS climo file for the point data.
+The default setting is the empty string which does not override the default location and name. It can be overridden by the environment variable, MET_SEEPS_POINT_CLIMO_NAME.
+
+.. code-block:: none
+
+ seeps_point_climo_name = "";
+
mask_missing_flag
-----------------
diff --git a/docs/Users_Guide/grid-stat.rst b/docs/Users_Guide/grid-stat.rst
index c09df58d54..051178cfb1 100644
--- a/docs/Users_Guide/grid-stat.rst
+++ b/docs/Users_Guide/grid-stat.rst
@@ -428,7 +428,7 @@ The **output_flag** array controls the type of output that the Grid-Stat tool ge
Note that the first two line types are easily derived from one another. The user is free to choose which measure is most desired. The output line types are described in more detail in :numref:`grid_stat-output`.
-The SEEPS climo file is not distributed with MET tools because of the file size. It should be configured by using the environment variable, MET_SEEPS_GRID_CLIMO_NAME.
+The SEEPS climo file is not distributed with MET tools because of the file size. It should be configured by using the configuration file (seeps_grid_climo_name). It can be overridden by the environment variable, MET_SEEPS_GRID_CLIMO_NAME.
_____________________
diff --git a/docs/Users_Guide/point-stat.rst b/docs/Users_Guide/point-stat.rst
index 025b462f23..0f42d54129 100644
--- a/docs/Users_Guide/point-stat.rst
+++ b/docs/Users_Guide/point-stat.rst
@@ -501,7 +501,7 @@ Note that writing out matched pair data (MPR lines) for a large number of cases
If all line types corresponding to a particular verification method are set to NONE, the computation of those statistics will be skipped in the code and thus make the Point-Stat tool run more efficiently. For example, if FHO, CTC, and CTS are all set to NONE, the Point-Stat tool will skip the categorical verification step.
-The default SEEPS climo file exists at MET_BASE/climo/seeps/PPT24_seepsweights.nc. It can be overridden by using the environment variable, MET_SEEPS_POINT_CLIMO_NAME.
+The default SEEPS climo file exists at MET_BASE/climo/seeps/PPT24_seepsweights.nc. It is configurable by using the configuration file (seeps_point_climo_name). It can be overridden by the environment variable, MET_SEEPS_POINT_CLIMO_NAME.
.. _point_stat-output:
diff --git a/docs/Users_Guide/reformat_point.rst b/docs/Users_Guide/reformat_point.rst
index ec09fa3f83..fb0a7b2766 100644
--- a/docs/Users_Guide/reformat_point.rst
+++ b/docs/Users_Guide/reformat_point.rst
@@ -1153,7 +1153,7 @@ point2grid Configuration File
The default configuration file for the point2grid tool named **Point2GridConfig_default** can be found in the installed *share/met/config* directory. It is recommended that users make a copy of this file prior to modifying its contents.
-The point2grid configuration file is optional and only necessary when defining the variable name instead of GRIB code or filtering by time. The contents of the default MADIS2NC configuration file are described below.
+The point2grid configuration file is optional and only necessary when defining the variable name instead of GRIB code or filtering by time. The contents of the default point2grid configuration file are described below.
_____________________
@@ -1194,6 +1194,16 @@ The configuration option listed above is common to many MET tools and are descri
This entry is an array of dictionaries, each containing a **GRIB code** string and mathcing **variable name** string which define a mapping of GRIB code to the output variable names.
+.. code-block:: none
+
+ var_name_map = [
+ ...
+ { key = "lat_vname"; val = "NLAT"; },
+ { key = "lon_vname"; val = "NLON"; }
+ ...
+ ]
+
+The latitude and longitude variables for NetCDF input can be overridden by the configurations. There are two special keys, **lat_vname** and **lon_vname** which are applied to the NetCDF input, not for GRIB code.
Point NetCDF to ASCII Python Utility
====================================
diff --git a/internal/test_unit/config/GridStatConfig_SEEPS b/internal/test_unit/config/GridStatConfig_SEEPS
index 8a23c76c45..51bc14e2d6 100644
--- a/internal/test_unit/config/GridStatConfig_SEEPS
+++ b/internal/test_unit/config/GridStatConfig_SEEPS
@@ -210,6 +210,7 @@ nc_pairs_flag = {
// Threshold for SEEPS p1 (Probability of being dry)
seeps_p1_thresh = ${SEEPS_P1_THRESH};
+seeps_grid_climo_name = "${SEEPS_GRID_CLIMO_NAME}";
////////////////////////////////////////////////////////////////////////////////
diff --git a/internal/test_unit/config/Point2GridConfig_lat_lon b/internal/test_unit/config/Point2GridConfig_lat_lon
new file mode 100644
index 0000000000..80eee8fef6
--- /dev/null
+++ b/internal/test_unit/config/Point2GridConfig_lat_lon
@@ -0,0 +1,4 @@
+var_name_map = [
+ { key = "lat_vname"; val = "NLAT"; },
+ { key = "lon_vname"; val = "NLON"; }
+];
diff --git a/internal/test_unit/config/PointStatConfig_APCP b/internal/test_unit/config/PointStatConfig_APCP
index a6a6f06d64..b1df56e94b 100644
--- a/internal/test_unit/config/PointStatConfig_APCP
+++ b/internal/test_unit/config/PointStatConfig_APCP
@@ -127,15 +127,10 @@ output_flag = {
rps = NONE;
eclv = BOTH;
mpr = NONE;
- seeps = ${SEEPS_FLAG};
- seeps_mpr = ${SEEPS_FLAG};
+ seeps = NONE;
+ seeps_mpr = NONE;
}
-////////////////////////////////////////////////////////////////////////////////
-// Threshold for SEEPS p1 (Probability of being dry)
-
-seeps_p1_thresh = ${SEEPS_P1_THRESH};
-
////////////////////////////////////////////////////////////////////////////////
duplicate_flag = NONE;
diff --git a/internal/test_unit/config/PointStatConfig_SEEPS b/internal/test_unit/config/PointStatConfig_SEEPS
new file mode 100644
index 0000000000..20ffa18cfb
--- /dev/null
+++ b/internal/test_unit/config/PointStatConfig_SEEPS
@@ -0,0 +1,149 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Point-Stat configuration file.
+//
+// For additional information, please see the MET User's Guide.
+// Copied from PointStatConfig_APCP
+//
+////////////////////////////////////////////////////////////////////////////////
+
+model = "FCST";
+
+//
+// Output description to be written
+// May be set separately in each "obs.field" entry
+//
+desc = "NA";
+
+////////////////////////////////////////////////////////////////////////////////
+
+regrid = {
+ to_grid = NONE;
+ method = NEAREST;
+ width = 1;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+obs_window = {
+ beg = ${BEG_DS};
+ end = ${END_DS};
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+mpr_column = [];
+mpr_thresh = [];
+cnt_thresh = [ NA ];
+cnt_logic = UNION;
+wind_thresh = [ NA ];
+wind_logic = UNION;
+eclv_points = 0.05;
+
+cat_thresh = [ >0.254, >0.635, >1.270, >2.540 ];
+message_type = "ADPSFC";
+
+fcst = {
+ sid_inc = [];
+ sid_exc = [];
+ obs_quality_inc = [];
+ obs_quality_exc = [];
+
+ field = [
+ {
+ name = "${FCST_FIELD_NAME}";
+ level = "${FCST_FIELD_LEVEL}";
+ }
+ ];
+
+}
+obs = ${OBS_DICT};
+
+////////////////////////////////////////////////////////////////////////////////
+
+mask = {
+ grid = [ "FULL" ];
+ poly = [];
+ sid = [];
+ llpnt = [];
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+ci_alpha = [ 0.05 ];
+
+boot = {
+ interval = PCTILE;
+ rep_prop = 1.0;
+ n_rep = 0;
+ rng = "mt19937";
+ seed = "1";
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+interp = {
+ vld_thresh = 1.0;
+
+ type = [
+ { method = MEDIAN; width = 3; },
+ { method = NEAREST; width = 1; },
+ { method = DW_MEAN; width = [ 3, 5 ]; },
+ { method = LS_FIT; width = [ 3, 5 ]; },
+ { method = BILIN; width = 2; }
+ ];
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+hira = {
+ flag = FALSE;
+ width = [ 2, 3, 4, 5 ];
+ vld_thresh = 1.0;
+ cov_thresh = [ ==0.25 ];
+ shape = SQUARE;
+ prob_cat_thresh = [];
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+output_flag = {
+ fho = BOTH;
+ ctc = BOTH;
+ cts = BOTH;
+ mctc = NONE;
+ mcts = NONE;
+ cnt = BOTH;
+ sl1l2 = BOTH;
+ sal1l2 = NONE;
+ vl1l2 = NONE;
+ val1l2 = NONE;
+ vcnt = NONE;
+ pct = NONE;
+ pstd = NONE;
+ pjc = NONE;
+ prc = NONE;
+ ecnt = NONE;
+ orank = NONE;
+ rps = NONE;
+ eclv = BOTH;
+ mpr = NONE;
+ seeps = BOTH;
+ seeps_mpr = BOTH;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+// Threshold for SEEPS p1 (Probability of being dry)
+
+seeps_p1_thresh = ${SEEPS_P1_THRESH};
+seeps_point_climo_name = "${SEEPS_POINT_CLIMO_NAME}";
+
+////////////////////////////////////////////////////////////////////////////////
+
+duplicate_flag = NONE;
+rank_corr_flag = FALSE;
+tmp_dir = "/tmp";
+output_prefix = "${OUTPUT_PREFIX}";
+version = "V12.0.0";
+
+////////////////////////////////////////////////////////////////////////////////
diff --git a/internal/test_unit/xml/unit_grid_stat.xml b/internal/test_unit/xml/unit_grid_stat.xml
index cc24ad21d3..ad070dff60 100644
--- a/internal/test_unit/xml/unit_grid_stat.xml
+++ b/internal/test_unit/xml/unit_grid_stat.xml
@@ -296,7 +296,7 @@
SEEPS_FLAG BOTH
SEEPS_P1_THRESH NA
OUTPUT_PREFIX SEEPS
- MET_SEEPS_GRID_CLIMO_NAME&DATA_DIR_CLIMO;/seeps/PPT24_seepsweights_grid.nc
+ SEEPS_GRID_CLIMO_NAME&DATA_DIR_CLIMO;/seeps/PPT24_seepsweights_grid.nc
\
&DATA_DIR_MODEL;/seeps/gpm_2021120100_2021120200_trmmgrid.nc \
diff --git a/internal/test_unit/xml/unit_point2grid.xml b/internal/test_unit/xml/unit_point2grid.xml
index 213ffcf756..aa9a1d0410 100644
--- a/internal/test_unit/xml/unit_point2grid.xml
+++ b/internal/test_unit/xml/unit_point2grid.xml
@@ -249,6 +249,78 @@
+
+ &MET_BIN;/point2grid
+
+ MET_TMP_DIR &OUTPUT_DIR;/point2grid
+
+ \
+ &DATA_DIR_OBS;/point_obs/iceh.2018-01-03.c00.small.nc \
+ G171 \
+ &OUTPUT_DIR;/point2grid/point2grid_sea_ice.nc \
+ -field 'name="uvel_d"; level="(0,*,*)";' -field 'name="hi_d"; level="(0,*,*)";' \
+ -v 1
+
+
+
+
+
+ &MET_BIN;/point2grid
+
+ MET_TMP_DIR &OUTPUT_DIR;/point2grid
+
+ \
+ &DATA_DIR_OBS;/point_obs/iceh.2018-01-03.c00.small.nc \
+ G171 \
+ &OUTPUT_DIR;/point2grid/point2grid_sea_ice_snow.nc \
+ -config &CONFIG_DIR;/Point2GridConfig_lat_lon \
+ -field 'name="hs_d_without_att"; level="(0,*,*)";' \
+ -v 1
+
+
+
+
+
+
+
+ &MET_BIN;/point2grid
+
+ MET_TMP_DIR &OUTPUT_DIR;/point2grid
+
+ \
+ &DATA_DIR_OBS;/point_obs/rtofs_glo_2ds_f006_ice_coverage.nc \
+ "latlon 720 360 -80. -60. 0.5 0.5" \
+ &OUTPUT_DIR;/point2grid/point2grid_rtofs_ice_coverage.nc \
+ -field 'name="ice_coverage"; level="(0,*,*)";' \
+ -v 1
+
+
+
+
&MET_BIN;/point2grid
@@ -283,4 +355,5 @@
&OUTPUT_DIR;/point2grid/point2grid_2D_time_west_bering_sea.nc
+
diff --git a/internal/test_unit/xml/unit_point_stat.xml b/internal/test_unit/xml/unit_point_stat.xml
index aea2b8e042..2c90567c80 100644
--- a/internal/test_unit/xml/unit_point_stat.xml
+++ b/internal/test_unit/xml/unit_point_stat.xml
@@ -168,8 +168,6 @@
FCST_FIELD_NAME APCP
FCST_FIELD_LEVEL A3
OBS_DICT fcst
- SEEPS_FLAG NONE
- SEEPS_P1_THRESH NA
OUTPUT_PREFIX GRIB1_NAM_TRMM
\
@@ -196,8 +194,6 @@
FCST_FIELD_NAME APCP
FCST_FIELD_LEVEL A3
OBS_DICT fcst
- SEEPS_FLAG NONE
- SEEPS_P1_THRESH NA
OUTPUT_PREFIX GRIB2_SREF_TRMM
\
@@ -224,8 +220,6 @@
FCST_FIELD_NAME APCP_24
FCST_FIELD_LEVEL (*,*)
OBS_DICT { field = [ { name = "APCP"; level = "A24"; } ]; }
- SEEPS_FLAG NONE
- SEEPS_P1_THRESH NA
OUTPUT_PREFIX NCMET_NAM_HMTGAGE
\
@@ -252,14 +246,14 @@
FCST_FIELD_NAME APCP_24
FCST_FIELD_LEVEL (*,*)
OBS_DICT { field = [ { name = "TP24"; level = "L0"; is_precipitation = TRUE; } ]; }
- SEEPS_FLAG BOTH
SEEPS_P1_THRESH ge0.1&&le0.85
+ SEEPS_POINT_CLIMO_NAME
OUTPUT_PREFIX NCMET_NAM_NDAS_SEEPS
\
&DATA_DIR_MODEL;/met_nc/nam/nam_2012040900_F036_APCP24.nc \
&OUTPUT_DIR;/pb2nc/ndas.20120410.t12z.prepbufr.tm00.nc \
- &CONFIG_DIR;/PointStatConfig_APCP \
+ &CONFIG_DIR;/PointStatConfig_SEEPS \
-outdir &OUTPUT_DIR;/point_stat -v 1