diff --git a/docs/Users_Guide/config_options.rst b/docs/Users_Guide/config_options.rst index 07b3078396..9a2aab720d 100644 --- a/docs/Users_Guide/config_options.rst +++ b/docs/Users_Guide/config_options.rst @@ -58,6 +58,13 @@ The configuration file language supports the following data types: and 10 and "==1||==2" defines numbers exactly equal to 1 or 2. * Percentile Thresholds: + + * A threshold type (<, <=, ==, !=, >=, or >), followed by a percentile + type description (SFP, SOP, SCP, USP, CDP, or FBIAS), followed by a + numeric value, typically between 0 and 100. + + * Note that the two letter threshold type abbreviations (lt, le, eq, ne, + ge, gt) are not supported for percentile thresholds. * Thresholds may be defined as percentiles of the data being processed in several places: diff --git a/internal/test_unit/xml/unit_python.xml b/internal/test_unit/xml/unit_python.xml index b2b1dad44b..4f17952155 100644 --- a/internal/test_unit/xml/unit_python.xml +++ b/internal/test_unit/xml/unit_python.xml @@ -274,6 +274,34 @@ + + &MET_BIN;/shift_data_plane + \ + PYTHON_NUMPY \ + &OUTPUT_DIR;/python/shift_data_plane.nc \ + 'name="&MET_BASE;/python/read_ascii_numpy.py &DATA_DIR_PYTHON;/fcst.txt FCST";' \ + -from 30 -110 -to 35 -115 \ + -v 1 + + + &OUTPUT_DIR;/python/shift_data_plane.nc + + + + + &MET_BIN;/shift_data_plane + \ + &DATA_DIR_PYTHON;/fcst.txt \ + &OUTPUT_DIR;/python/shift_data_plane_input_arg.nc \ + 'name="&MET_BASE;/python/read_ascii_numpy.py MET_PYTHON_INPUT_ARG FCST"; file_type=PYTHON_NUMPY;' \ + -from 30 -110 -to 35 -115 \ + -v 1 + + + &OUTPUT_DIR;/python/shift_data_plane_input_arg.nc + + + &MET_BIN;/series_analysis diff --git a/src/libcode/vx_statistics/ens_stats.cc b/src/libcode/vx_statistics/ens_stats.cc index d0bcfde0bd..d7c0e2c088 100644 --- a/src/libcode/vx_statistics/ens_stats.cc +++ b/src/libcode/vx_statistics/ens_stats.cc @@ -257,9 +257,17 @@ void ECNTInfo::set(const PairDataEnsemble &pd) { } } - // Compute ensemble mean based statistics, if possible + // Check if the ensemble mean based statistics were + // already computed by Stat-Analysis + if(!is_bad_data(pd.me)) { + me = pd.me; + rmse = pd.rmse; + me_oerr = pd.me_oerr; + rmse_oerr = pd.rmse_oerr; + } + // If not, compute them from the pairs, if possible // HiRA stores the ensemble mean as bad data - if(!pd.mn_na.is_const(bad_data_double)) { + else if(!pd.mn_na.is_const(bad_data_double)) { // Compute ME and RMSE values fbar = obar = ffbar = oobar = fobar = 0.0; diff --git a/src/tools/other/shift_data_plane/shift_data_plane.cc b/src/tools/other/shift_data_plane/shift_data_plane.cc index d7e85612df..bf05003341 100644 --- a/src/tools/other/shift_data_plane/shift_data_plane.cc +++ b/src/tools/other/shift_data_plane/shift_data_plane.cc @@ -20,6 +20,7 @@ // Mod# Date Name Description // ---- ---- ---- ----------- // 000 11-12-14 Halley Gotway New +// 001 06-07-22 Halley Gotway MET #2173 Fix python embedding // //////////////////////////////////////////////////////////////////////// @@ -50,6 +51,10 @@ using namespace std; #include "vx_cal.h" #include "vx_math.h" +#ifdef WITH_PYTHON +#include "data2d_python.h" +#endif + //////////////////////////////////////////////////////////////////////// static ConcatString program_name; @@ -200,17 +205,11 @@ void process_data_file() { // Populate the VarInfo object using config vinfo->set_dict(config); - // Open the input file - if(!mtddf->open(InputFilename.c_str())) { - mlog << Error << "\nprocess_data_file() -> can't open file \"" - << InputFilename << "\"\n\n"; - exit(1); - } - // Get the data plane from the file for this VarInfo object if(!mtddf->data_plane(*vinfo, dp_in)) { - mlog << Error << "\nprocess_data_file() -> trouble getting field \"" - << FieldString << "\" from file \"" << InputFilename << "\"\n\n"; + mlog << Error << "\nprocess_data_file() -> " + << "trouble getting field \"" << FieldString + << "\" from file \"" << InputFilename << "\"\n\n"; exit(1); } @@ -253,7 +252,6 @@ void process_data_file() { mlog << Debug(2) << shift_cs << "\n"; // Shift the data - dp_shift = dp_in; for(x=0; x