diff --git a/docs/Users_Guide/installation.rst b/docs/Users_Guide/installation.rst index 5317aa69b9..e219ab1b19 100644 --- a/docs/Users_Guide/installation.rst +++ b/docs/Users_Guide/installation.rst @@ -90,16 +90,7 @@ Using conda:: **MET Python Embedding Requirements** If running use cases that use Python embedding, the **MET** executables -must be installed with Python enabled -and the following Python packages installed: - -- xarray (2022.3.0) - -- numpy (1.22.4) - -- pandas (1.4.2) - -- netCDF4 (1.5.8) +must be installed with Python enabled. See `Appendix F Python Embedding `_ section in the MET User's Guide for more information. diff --git a/parm/use_cases/met_tool_wrapper/ASCII2NC/ASCII2NC_python_embedding.conf b/parm/use_cases/met_tool_wrapper/ASCII2NC/ASCII2NC_python_embedding.conf index 4e008c316c..e68e77ef04 100644 --- a/parm/use_cases/met_tool_wrapper/ASCII2NC/ASCII2NC_python_embedding.conf +++ b/parm/use_cases/met_tool_wrapper/ASCII2NC/ASCII2NC_python_embedding.conf @@ -40,7 +40,7 @@ LEAD_SEQ = 0 ### ASCII2NC_INPUT_DIR = -ASCII2NC_INPUT_TEMPLATE = "{MET_INSTALL_DIR}/share/met/python/read_ascii_point.py {INPUT_BASE}/met_test/data/sample_obs/ascii/sample_ascii_obs.txt" +ASCII2NC_INPUT_TEMPLATE = "{MET_INSTALL_DIR}/share/met/python/examples/read_ascii_point.py {INPUT_BASE}/met_test/data/sample_obs/ascii/sample_ascii_obs.txt" ASCII2NC_OUTPUT_DIR = ASCII2NC_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/ASCII2NC/ascii2nc_python.nc diff --git a/parm/use_cases/met_tool_wrapper/EnsembleStat/EnsembleStat_python_embedding.conf b/parm/use_cases/met_tool_wrapper/EnsembleStat/EnsembleStat_python_embedding.conf index 7b76978faa..a4e598609a 100644 --- a/parm/use_cases/met_tool_wrapper/EnsembleStat/EnsembleStat_python_embedding.conf +++ b/parm/use_cases/met_tool_wrapper/EnsembleStat/EnsembleStat_python_embedding.conf @@ -70,8 +70,8 @@ OBS_FILE_WINDOW_END = 0 # https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info ### -FCST_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py MET_PYTHON_INPUT_ARG FCST -OBS_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py MET_PYTHON_INPUT_ARG OBS +FCST_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/examples/read_ascii_numpy.py MET_PYTHON_INPUT_ARG FCST +OBS_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/examples/read_ascii_numpy.py MET_PYTHON_INPUT_ARG OBS MODEL = FCST OBTYPE = OBS diff --git a/parm/use_cases/met_tool_wrapper/GridStat/GridStat_python_embedding.conf b/parm/use_cases/met_tool_wrapper/GridStat/GridStat_python_embedding.conf index 3915618372..615c5167a6 100644 --- a/parm/use_cases/met_tool_wrapper/GridStat/GridStat_python_embedding.conf +++ b/parm/use_cases/met_tool_wrapper/GridStat/GridStat_python_embedding.conf @@ -70,11 +70,11 @@ OBS_GRID_STAT_FILE_WINDOW_END = 0 MODEL = FCST OBTYPE = OBS -FCST_VAR1_NAME = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST +FCST_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/examples/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST FCST_IS_PROB = false FCST_GRID_STAT_PROB_THRESH = ==0.1 -OBS_VAR1_NAME = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/obs.txt OBS +OBS_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/examples/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/obs.txt OBS GRID_STAT_ONCE_PER_FIELD = False diff --git a/parm/use_cases/met_tool_wrapper/MODE/MODE_python_embedding.conf b/parm/use_cases/met_tool_wrapper/MODE/MODE_python_embedding.conf index 4bf6f106ad..86b4938372 100644 --- a/parm/use_cases/met_tool_wrapper/MODE/MODE_python_embedding.conf +++ b/parm/use_cases/met_tool_wrapper/MODE/MODE_python_embedding.conf @@ -61,14 +61,14 @@ OBS_MODE_FILE_WINDOW_END = 0 FCST_IS_PROB = false -FCST_VAR1_NAME = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST +FCST_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/examples/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST FCST_MODE_CONV_RADIUS = 5 FCST_MODE_CONV_THRESH = >=80.0 FCST_MODE_MERGE_THRESH = >=75.0 FCST_MODE_MERGE_FLAG = NONE -OBS_VAR1_NAME = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/obs.txt OBS +OBS_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/examples/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/obs.txt OBS OBS_VAR1_LEVELS = P500 OBS_MODE_CONV_THRESH = >=80.0 diff --git a/parm/use_cases/met_tool_wrapper/MTD/MTD_python_embedding.conf b/parm/use_cases/met_tool_wrapper/MTD/MTD_python_embedding.conf index ae250104af..934a619e5a 100644 --- a/parm/use_cases/met_tool_wrapper/MTD/MTD_python_embedding.conf +++ b/parm/use_cases/met_tool_wrapper/MTD/MTD_python_embedding.conf @@ -54,7 +54,7 @@ MTD_OUTPUT_TEMPLATE = # https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info ### -FCST_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py MET_PYTHON_INPUT_ARG FCST +FCST_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/examples/read_ascii_numpy.py MET_PYTHON_INPUT_ARG FCST FCST_MTD_CONV_RADIUS = 15 FCST_MTD_CONV_THRESH = >=5.0 @@ -65,7 +65,7 @@ FCST_MTD_INPUT_DATATYPE = PYTHON_NUMPY FCST_IS_PROB = false FCST_PROB_IN_GRIB_PDS = false -OBS_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py MET_PYTHON_INPUT_ARG OBS +OBS_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/examples/read_ascii_numpy.py MET_PYTHON_INPUT_ARG OBS OBS_MTD_CONV_RADIUS = 15 OBS_MTD_CONV_THRESH = >=1.0 diff --git a/parm/use_cases/met_tool_wrapper/PlotDataPlane/PlotDataPlane_python_embedding.conf b/parm/use_cases/met_tool_wrapper/PlotDataPlane/PlotDataPlane_python_embedding.conf index 5245f5a5be..5240c11cde 100644 --- a/parm/use_cases/met_tool_wrapper/PlotDataPlane/PlotDataPlane_python_embedding.conf +++ b/parm/use_cases/met_tool_wrapper/PlotDataPlane/PlotDataPlane_python_embedding.conf @@ -51,7 +51,7 @@ PLOT_DATA_PLANE_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/plot_data_plane # https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info ### -PLOT_DATA_PLANE_FIELD_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST +PLOT_DATA_PLANE_FIELD_NAME = {MET_INSTALL_DIR}/share/met/python/examples/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST ### diff --git a/parm/use_cases/met_tool_wrapper/PointStat/PointStat_python_embedding_obs.conf b/parm/use_cases/met_tool_wrapper/PointStat/PointStat_python_embedding_obs.conf index 024573a7f2..55d31f4e8c 100644 --- a/parm/use_cases/met_tool_wrapper/PointStat/PointStat_python_embedding_obs.conf +++ b/parm/use_cases/met_tool_wrapper/PointStat/PointStat_python_embedding_obs.conf @@ -43,7 +43,7 @@ FCST_POINT_STAT_INPUT_DIR = {INPUT_BASE}/met_test/data/sample_fcst FCST_POINT_STAT_INPUT_TEMPLATE = {init?fmt=%Y%m%d%H}/nam.t00z.awip1236.tm00.{init?fmt=%Y%m%d}.grb OBS_POINT_STAT_INPUT_DIR = -OBS_POINT_STAT_INPUT_TEMPLATE = PYTHON_NUMPY= {MET_INSTALL_DIR}/share/met/python/read_met_point_obs.py {INPUT_BASE}/met_test/out/pb2nc/sample_pb.nc +OBS_POINT_STAT_INPUT_TEMPLATE = PYTHON_NUMPY= {MET_INSTALL_DIR}/share/met/python/examples/read_met_point_obs.py {INPUT_BASE}/met_test/out/pb2nc/sample_pb.nc POINT_STAT_OUTPUT_DIR = {OUTPUT_BASE}/point_stat_py_embed_obs diff --git a/parm/use_cases/met_tool_wrapper/PyEmbedIngest/PyEmbedIngest.conf b/parm/use_cases/met_tool_wrapper/PyEmbedIngest/PyEmbedIngest.conf index 4388fb0574..8064c39b72 100644 --- a/parm/use_cases/met_tool_wrapper/PyEmbedIngest/PyEmbedIngest.conf +++ b/parm/use_cases/met_tool_wrapper/PyEmbedIngest/PyEmbedIngest.conf @@ -42,7 +42,7 @@ LEAD_SEQ = 0 PY_EMBED_INGEST_1_OUTPUT_DIR = PY_EMBED_INGEST_1_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/PyEmbedIngest/test.nc -PY_EMBED_INGEST_1_SCRIPT = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/obs.txt OBS +PY_EMBED_INGEST_1_SCRIPT = {MET_INSTALL_DIR}/share/met/python/examples/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/obs.txt OBS PY_EMBED_INGEST_1_TYPE = NUMPY PY_EMBED_INGEST_1_OUTPUT_GRID = G130 @@ -50,6 +50,6 @@ PY_EMBED_INGEST_1_OUTPUT_GRID = G130 PY_EMBED_INGEST_2_OUTPUT_DIR = PY_EMBED_INGEST_2_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/PyEmbedIngest/regrid_data_plane.nc -PY_EMBED_INGEST_2_SCRIPT = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST +PY_EMBED_INGEST_2_SCRIPT = {MET_INSTALL_DIR}/share/met/python/examples/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST PY_EMBED_INGEST_2_TYPE = NUMPY PY_EMBED_INGEST_2_OUTPUT_GRID = G130 diff --git a/parm/use_cases/met_tool_wrapper/PyEmbedIngest/PyEmbedIngest_multi_field_one_file.conf b/parm/use_cases/met_tool_wrapper/PyEmbedIngest/PyEmbedIngest_multi_field_one_file.conf index 4c213f5208..636d45fb59 100644 --- a/parm/use_cases/met_tool_wrapper/PyEmbedIngest/PyEmbedIngest_multi_field_one_file.conf +++ b/parm/use_cases/met_tool_wrapper/PyEmbedIngest/PyEmbedIngest_multi_field_one_file.conf @@ -42,7 +42,7 @@ LEAD_SEQ = 0 PY_EMBED_INGEST_1_OUTPUT_DIR = PY_EMBED_INGEST_1_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/PyEmbedIngest/test.nc -PY_EMBED_INGEST_1_SCRIPT_1 = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST +PY_EMBED_INGEST_1_SCRIPT_1 = {MET_INSTALL_DIR}/share/met/python/examples/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST PY_EMBED_INGEST_1_TYPE = NUMPY PY_EMBED_INGEST_1_OUTPUT_GRID = G130 @@ -50,10 +50,10 @@ PY_EMBED_INGEST_1_OUTPUT_GRID = G130 PY_EMBED_INGEST_2_OUTPUT_DIR = PY_EMBED_INGEST_2_OUTPUT_TEMPLATE = {OUTPUT_BASE}/met_tool_wrapper/PyEmbedIngest/regrid_data_plane.nc -PY_EMBED_INGEST_2_SCRIPT_1 = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST +PY_EMBED_INGEST_2_SCRIPT_1 = {MET_INSTALL_DIR}/share/met/python/examples/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/fcst.txt FCST PY_EMBED_INGEST_2_OUTPUT_FIELD_NAME_1 = Forecast -PY_EMBED_INGEST_2_SCRIPT_2 = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/obs.txt OBS +PY_EMBED_INGEST_2_SCRIPT_2 = {MET_INSTALL_DIR}/share/met/python/examples/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/obs.txt OBS PY_EMBED_INGEST_2_OUTPUT_FIELD_NAME_2 = Observation PY_EMBED_INGEST_2_TYPE = NUMPY diff --git a/parm/use_cases/met_tool_wrapper/RegridDataPlane/RegridDataPlane_python_embedding.conf b/parm/use_cases/met_tool_wrapper/RegridDataPlane/RegridDataPlane_python_embedding.conf index 177353c981..7d6b963ea7 100644 --- a/parm/use_cases/met_tool_wrapper/RegridDataPlane/RegridDataPlane_python_embedding.conf +++ b/parm/use_cases/met_tool_wrapper/RegridDataPlane/RegridDataPlane_python_embedding.conf @@ -55,7 +55,7 @@ OBS_REGRID_DATA_PLANE_OUTPUT_TEMPLATE = numpy_data.nc REGRID_DATA_PLANE_ONCE_PER_FIELD = True -OBS_VAR1_NAME = {INPUT_BASE}/met_test/scripts/python/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/obs.txt OBS +OBS_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/examples/read_ascii_numpy.py {INPUT_BASE}/met_test/data/python/obs.txt OBS OBS_REGRID_DATA_PLANE_VAR1_OUTPUT_FIELD_NAME = OBS diff --git a/parm/use_cases/met_tool_wrapper/SeriesAnalysis/SeriesAnalysis_python_embedding.conf b/parm/use_cases/met_tool_wrapper/SeriesAnalysis/SeriesAnalysis_python_embedding.conf index a685eabee9..48179e4281 100644 --- a/parm/use_cases/met_tool_wrapper/SeriesAnalysis/SeriesAnalysis_python_embedding.conf +++ b/parm/use_cases/met_tool_wrapper/SeriesAnalysis/SeriesAnalysis_python_embedding.conf @@ -66,9 +66,9 @@ SERIES_ANALYSIS_OUTPUT_TEMPLATE = python_sa.nc # https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#field-info ### -FCST_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py MET_PYTHON_INPUT_ARG FCST +FCST_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/examples/read_ascii_numpy.py MET_PYTHON_INPUT_ARG FCST -OBS_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/read_ascii_numpy.py MET_PYTHON_INPUT_ARG OBS +OBS_VAR1_NAME = {MET_INSTALL_DIR}/share/met/python/examples/read_ascii_numpy.py MET_PYTHON_INPUT_ARG OBS ### diff --git a/parm/use_cases/met_tool_wrapper/StatAnalysis/StatAnalysis_python_embedding.conf b/parm/use_cases/met_tool_wrapper/StatAnalysis/StatAnalysis_python_embedding.conf index edc3af4721..37bce92bd6 100644 --- a/parm/use_cases/met_tool_wrapper/StatAnalysis/StatAnalysis_python_embedding.conf +++ b/parm/use_cases/met_tool_wrapper/StatAnalysis/StatAnalysis_python_embedding.conf @@ -39,7 +39,7 @@ VALID_INCREMENT = 12H MODEL1 = WRF MODEL1_OBTYPE = ADPUPA -MODEL1_STAT_ANALYSIS_LOOKIN_DIR = python {INPUT_BASE}/met_test/scripts/python/read_ascii_mpr.py {INPUT_BASE}/met_test/out/point_stat/point_stat_360000L_20070331_120000V.stat +MODEL1_STAT_ANALYSIS_LOOKIN_DIR = python {MET_INSTALL_DIR}/share/met/python/examples/read_ascii_mpr.py {INPUT_BASE}/met_test/out/point_stat/point_stat_360000L_20070331_120000V.stat MODEL1_STAT_ANALYSIS_OUT_STAT_TEMPLATE = {model?fmt=%s}_{obtype?fmt=%s}_valid{valid?fmt=%Y%m%d}_fcstvalidhour{valid_hour?fmt=%H}0000Z_out_stat.stat