From cd837ffb52a525e1b8723231af84821aa4cb7efc Mon Sep 17 00:00:00 2001 From: johnhg Date: Thu, 11 Mar 2021 14:48:26 -0700 Subject: [PATCH] Update develop-ref after #1704 and #1708 (#1712) * Per #1429, enhance error message from DataLine::get_item(). (#1682) * Feature 1429 tc_log second try (#1686) * Per #1429, enhance error message from DataLine::get_item(). * Per #1429, I realize that the line number actually is readily available in the DataLine class... so include it in the error message. * Feature 1588 ps_log (#1687) * Per #1588, updated pair_data_point.h/.cc to add detailed Debug(4) log messages, as specified in the GitHub issue. Do still need to test each of these cases to confirm that the log messages look good. * Per #1588, switch very detailed interpolation details from debug level 4 to 5. * Per #1588, remove the Debug(4) log message about duplicate obs since it's been moved up to a higher level. * Per #1588, add/update detailed log messages when processing point observations for bad data, off the grid, bad topo, big topo diffs, bad fcst value, and duplicate obs. * #1454 Disabled plot_data_plane_CESM_SSMI_microwave and plot_data_plane_CESM_sea_ice_nc becaues of not evenly spaced * #1454 Moved NC attribute name to nc_utils.h * #1454 Corrected sanity checking for lat/lon projection based on the percentage of the delta instead of fixed tolerance * #1454 Corrected sanity checking for lat/lon projection based on the percentage of the delta instead of fixed tolerance * #1454 Corrected data.delta_lon * #1454 Change bact to use diff instead of absolute value of diff * 454 Deleted instea dof commenting out * 454 Deleted instea dof commenting out * Feature 1684 bss and 1685 single reference model (#1689) * Per #1684, move an instance of the ClimoCDFInfo class into PairBase. Also define derive_climo_vals() and derive_climo_prob() utility functions. * Add to VxPairDataPoint and VxPairDataEnsemble functions to set the ClimoCDFInfo class. * Per #1684, update ensemble_stat and point_stat to set the ClimoCDFInfo object based on the contents of the config file. * Per #1684, update the vx_statistics library and stat_analysis to make calls to the new derive_climo_vals() and derive_climo_prob() functions. * Per #1684, since cdf_info is a member of PairBase class, need to handle it in the PairDataPoint and PairDataEnsemble assignment and subsetting logic. * Per #1684, during development, I ran across and then updated this log message. * Per #1684, working on log messages and figured that the regridding climo data should be moved from Debug(1) to at least Debug(2). * Per #1684 and #1685, update the logic for the derive_climo_vals() utility function. If only a single climo bin is requested, just return the climo mean. Otherwise, sample the requested number of values. * Per #1684, just fixing the format of this log message. * Per #1684, add a STATLine::get_offset() member function. * Per #1684, update parse_orank_line() logic. Rather than calling NumArray::clear() call NumArray::erase() to preserve allocated memory. Also, instead of parsing ensemble member values by column name, parse them by offset number. * Per #1684, call EnsemblePairData::extend() when parsing ORANK data to allocate one block of memory instead of bunches of litte ones. * Per #1684 and #1685, add another call to Ensemble-Stat to test computing the CRPSCL_EMP from a single climo mean instead of using the full climo distribution. * Per #1684 and #1685, update ensemble-stat docs about computing CRPSS_EMP relative to a single reference model. * Per #1684, need to update Grid-Stat to store the climo cdf info in the PairDataPoint objects. * Per #1684, remove debug print statements. * Per #1684, need to set cdf_info when aggregating MPR lines in Stat-Analysis. * Per #1684 and #1685, update PairDataEnsemble::compute_pair_vals() to print a log message indicating the climo data being used as reference: For a climo distribution defined by mean and stdev: DEBUG 3: Computing ensemble statistics relative to a 9-member climatological ensemble. For a single deterministic reference: DEBUG 3: Computing ensemble statistics relative to the climatological mean. * Per #1691, add met-10.0.0-beta4 release notes. (#1692) * Updated Python documentation * Per #1694, add VarInfo::magic_str_attr() to construct a field summary string from the name_attr() and level_attr() functions. * Per #1694, fixing 2 issues here. There was a bug in the computation of the max value. Had a less-than sign that should have been greater-than. Also, switch from tracking data by it's magic_str() to simply using VAR_i and VAR_j strings. We *could* have just used the i, j integers directly, but constructing the ij joint histogram integer could have been tricky since we start numbering with 0 instead of 1. i=0, j=1 would result in 01 which is the same as integer of 1. If we do want to switch to integers, we just need to make them 1-based and add +1 all over the place. * Per #1694, just switching to consistent variable name. * Just consistent spacing. * Adding files for ReadTheDocs * Adding .yaml file for ReadTheDocs * Updated path to requirements.txt file * Updated path to conf.py file * Removing ReadTheDocs files and working in separate branch * Trying different options for formats (#1702) * Per #1706, add bugfix to the develop branch. Also add a new job to unit_stat_analysis.xml to test out the aggregation of the ECNT line type. This will add new unit test output and cause the NB to fail. (#1708) * Feature 1471 python_grid (#1704) * Per #1471, defined a parse_grid_string() function in the vx_statistics library and then updated vx_data2d_python to call that function. However, this creates a circular dependency because vx_data2d_python now depends on vx_statistics. * Per #1471, because of the change in dependencies, I had to modify many, many Makefile.am files to link to the -lvx_statistics after -lvx_data2d_python. This is not great, but I didn't find a better solution. * Per #1471, add a sanity check to make sure the grid and data dimensions actually match. * Per #1471, add 3 new unit tests to demonstrate setting the python grid as a named grid, grid specification string, or a gridded data file. * Per #1471, document python grid changes in appendix F. * Per #1471, just spacing. * Per #1471, lots of Makefile.am changes to get this code to compile on kiowa. Worringly, it compiled and linked fine on my Mac laptop but not on kiowa. Must be some large differences in the linker logic. Co-authored-by: John Halley Gotway * Committing a fix for unit_python.xml directly to the develop branch. We referenced in a place where it's not defined. * Add *.dSYM to the .gitignore files in the src and internal_tests directories. Co-authored-by: Howard Soh Co-authored-by: hsoh-u Co-authored-by: Julie.Prestopnik Co-authored-by: David Fillmore Co-authored-by: John Halley Gotway Co-authored-by: MET Tools Test Account --- .readthedocs.yaml | 23 +++++++ met/docs/Users_Guide/appendixF.rst | 30 +++++++-- met/docs/requirements.txt | 19 +++--- met/internal_tests/.gitignore | 1 + met/internal_tests/basic/.gitignore | 1 + met/internal_tests/basic/vx_config/.gitignore | 1 + met/internal_tests/basic/vx_log/.gitignore | 1 + met/internal_tests/basic/vx_util/.gitignore | 1 + met/internal_tests/basic/vx_util/Makefile.am | 30 ++++++--- met/internal_tests/libcode/.gitignore | 1 + .../libcode/vx_data2d/.gitignore | 1 + .../libcode/vx_data2d_factory/.gitignore | 1 + .../libcode/vx_data2d_factory/Makefile.am | 11 +++- .../libcode/vx_data2d_grib/.gitignore | 1 + .../libcode/vx_data2d_nc_met/.gitignore | 1 + .../libcode/vx_data2d_nccf/.gitignore | 1 + .../libcode/vx_geodesy/.gitignore | 1 + met/internal_tests/libcode/vx_grid/.gitignore | 1 + .../libcode/vx_nc_util/.gitignore | 1 + .../libcode/vx_nc_util/Makefile.am | 29 ++++++--- .../libcode/vx_physics/.gitignore | 1 + .../libcode/vx_plot_util/.gitignore | 1 + met/internal_tests/libcode/vx_ps/.gitignore | 1 + .../libcode/vx_series_data/.gitignore | 1 + .../libcode/vx_solar/.gitignore | 1 + .../libcode/vx_tc_util/.gitignore | 1 + .../libcode/vx_tc_util/Makefile.am | 63 +++++++++++++------ met/internal_tests/tools/.gitignore | 1 + met/internal_tests/tools/other/.gitignore | 1 + .../tools/other/mode_time_domain/.gitignore | 1 + .../tools/other/mode_time_domain/Makefile.am | 2 + met/scripts/python/Makefile.am | 1 + met/scripts/python/read_ascii_numpy_grid.py | 53 ++++++++++++++++ met/src/.gitignore | 1 + met/src/basic/.gitignore | 1 + met/src/basic/enum_to_string/.gitignore | 1 + met/src/basic/vx_cal/.gitignore | 1 + met/src/basic/vx_config/.gitignore | 1 + met/src/basic/vx_log/.gitignore | 1 + met/src/basic/vx_math/.gitignore | 1 + met/src/basic/vx_util/.gitignore | 1 + met/src/libcode/.gitignore | 1 + met/src/libcode/vx_afm/.gitignore | 1 + met/src/libcode/vx_analysis_util/.gitignore | 1 + met/src/libcode/vx_color/.gitignore | 1 + met/src/libcode/vx_data2d/.gitignore | 1 + met/src/libcode/vx_data2d_factory/.gitignore | 1 + met/src/libcode/vx_data2d_grib/.gitignore | 1 + met/src/libcode/vx_data2d_grib2/.gitignore | 1 + met/src/libcode/vx_data2d_nc_met/.gitignore | 1 + .../libcode/vx_data2d_nc_pinterp/.gitignore | 1 + met/src/libcode/vx_data2d_nccf/.gitignore | 1 + met/src/libcode/vx_data2d_python/.gitignore | 1 + .../dataplane_from_numpy_array.cc | 39 +++++++++++- met/src/libcode/vx_geodesy/.gitignore | 1 + met/src/libcode/vx_gis/.gitignore | 1 + met/src/libcode/vx_gnomon/.gitignore | 1 + met/src/libcode/vx_grid/.gitignore | 1 + met/src/libcode/vx_gsl_prob/.gitignore | 1 + met/src/libcode/vx_nav/.gitignore | 1 + met/src/libcode/vx_nc_obs/.gitignore | 1 + met/src/libcode/vx_nc_util/.gitignore | 1 + met/src/libcode/vx_pb_util/.gitignore | 1 + met/src/libcode/vx_plot_util/.gitignore | 1 + met/src/libcode/vx_ps/.gitignore | 1 + met/src/libcode/vx_pxm/.gitignore | 1 + .../libcode/vx_python3_utils/python3_dict.cc | 19 ++++-- .../libcode/vx_python3_utils/python3_dict.h | 2 +- met/src/libcode/vx_regrid/.gitignore | 1 + met/src/libcode/vx_render/.gitignore | 1 + met/src/libcode/vx_shapedata/.gitignore | 1 + met/src/libcode/vx_solar/.gitignore | 1 + met/src/libcode/vx_stat_out/.gitignore | 1 + met/src/libcode/vx_statistics/.gitignore | 1 + met/src/libcode/vx_statistics/apply_mask.cc | 45 +++++++++++++ met/src/libcode/vx_statistics/apply_mask.h | 2 + met/src/libcode/vx_summary/.gitignore | 1 + met/src/libcode/vx_tc_util/.gitignore | 1 + met/src/libcode/vx_time_series/.gitignore | 1 + met/src/tools/.gitignore | 1 + met/src/tools/core/.gitignore | 1 + met/src/tools/core/ensemble_stat/.gitignore | 1 + met/src/tools/core/ensemble_stat/Makefile.am | 1 + met/src/tools/core/grid_stat/.gitignore | 1 + met/src/tools/core/grid_stat/Makefile.am | 1 + met/src/tools/core/mode/.gitignore | 1 + met/src/tools/core/mode/Makefile.am | 1 + met/src/tools/core/mode_analysis/.gitignore | 1 + met/src/tools/core/mode_analysis/Makefile.am | 13 ++-- met/src/tools/core/pcp_combine/.gitignore | 1 + met/src/tools/core/pcp_combine/Makefile.am | 2 + met/src/tools/core/point_stat/.gitignore | 1 + met/src/tools/core/point_stat/Makefile.am | 1 + met/src/tools/core/series_analysis/.gitignore | 1 + .../tools/core/series_analysis/Makefile.am | 1 + met/src/tools/core/stat_analysis/.gitignore | 1 + met/src/tools/core/stat_analysis/Makefile.am | 9 +-- .../core/stat_analysis/aggr_stat_line.cc | 1 + met/src/tools/core/wavelet_stat/.gitignore | 1 + met/src/tools/core/wavelet_stat/Makefile.am | 1 + met/src/tools/dev_utils/.gitignore | 1 + met/src/tools/dev_utils/Makefile.am | 1 + met/src/tools/dev_utils/shapefiles/.gitignore | 1 + met/src/tools/other/.gitignore | 1 + met/src/tools/other/ascii2nc/.gitignore | 1 + met/src/tools/other/ascii2nc/Makefile.am | 1 + met/src/tools/other/gen_vx_mask/.gitignore | 1 + met/src/tools/other/gen_vx_mask/Makefile.am | 2 + met/src/tools/other/gis_utils/.gitignore | 1 + met/src/tools/other/grid_diag/.gitignore | 1 + met/src/tools/other/grid_diag/Makefile.am | 1 + met/src/tools/other/gsi_tools/.gitignore | 1 + met/src/tools/other/gsi_tools/Makefile.am | 33 +++++----- met/src/tools/other/ioda2nc/.gitignore | 1 + met/src/tools/other/ioda2nc/Makefile.am | 1 + met/src/tools/other/lidar2nc/.gitignore | 1 + met/src/tools/other/lidar2nc/Makefile.am | 1 + met/src/tools/other/madis2nc/.gitignore | 1 + met/src/tools/other/madis2nc/Makefile.am | 1 + met/src/tools/other/mode_graphics/.gitignore | 1 + met/src/tools/other/mode_graphics/Makefile.am | 1 + .../tools/other/mode_time_domain/.gitignore | 1 + .../tools/other/mode_time_domain/Makefile.am | 1 + met/src/tools/other/modis_regrid/.gitignore | 1 + met/src/tools/other/modis_regrid/Makefile.am | 2 + met/src/tools/other/pb2nc/.gitignore | 1 + met/src/tools/other/pb2nc/Makefile.am | 1 + .../tools/other/plot_data_plane/.gitignore | 1 + .../tools/other/plot_data_plane/Makefile.am | 2 + met/src/tools/other/plot_point_obs/.gitignore | 1 + .../tools/other/plot_point_obs/Makefile.am | 1 + met/src/tools/other/point2grid/.gitignore | 1 + met/src/tools/other/point2grid/Makefile.am | 1 + .../tools/other/regrid_data_plane/.gitignore | 1 + .../tools/other/regrid_data_plane/Makefile.am | 1 + .../tools/other/shift_data_plane/.gitignore | 1 + .../tools/other/shift_data_plane/Makefile.am | 1 + met/src/tools/other/wwmca_tool/.gitignore | 1 + met/src/tools/other/wwmca_tool/Makefile.am | 1 + met/src/tools/tc_utils/.gitignore | 1 + .../tools/tc_utils/rmw_analysis/.gitignore | 1 + .../tools/tc_utils/rmw_analysis/Makefile.am | 1 + met/src/tools/tc_utils/tc_dland/.gitignore | 1 + met/src/tools/tc_utils/tc_gen/.gitignore | 1 + met/src/tools/tc_utils/tc_gen/Makefile.am | 1 + met/src/tools/tc_utils/tc_pairs/.gitignore | 1 + met/src/tools/tc_utils/tc_pairs/Makefile.am | 1 + met/src/tools/tc_utils/tc_rmw/.gitignore | 1 + met/src/tools/tc_utils/tc_rmw/Makefile.am | 1 + met/src/tools/tc_utils/tc_stat/.gitignore | 1 + met/src/tools/tc_utils/tc_stat/Makefile.am | 1 + test/xml/unit_python.xml | 62 ++++++++++++++++++ test/xml/unit_stat_analysis.xml | 16 +++++ 153 files changed, 546 insertions(+), 92 deletions(-) create mode 100644 .readthedocs.yaml create mode 100755 met/scripts/python/read_ascii_numpy_grid.py diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 0000000000..e148a2aad0 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,23 @@ +# .readthedocs.yaml +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# Required +version: 2 + +# Build all formats (htmlzip, pdf, epub) +#formats: all +formats: [] + +# Optionally set the version of Python and requirements required to build your +# docs +python: + version: 3.7 + install: + - requirements: met/docs/requirements.txt + +# Configuration for Sphinx documentation (this is the default documentation +# type) +sphinx: + builder: html + configuration: met/docs/conf.py \ No newline at end of file diff --git a/met/docs/Users_Guide/appendixF.rst b/met/docs/Users_Guide/appendixF.rst index e122d6a560..a5e34df338 100644 --- a/met/docs/Users_Guide/appendixF.rst +++ b/met/docs/Users_Guide/appendixF.rst @@ -65,7 +65,9 @@ The data must be loaded into a 2D NumPy array named **met_data**. In addition th 'long_name': 'FooBar', 'level': 'Surface', 'units': 'None', - + + # Define 'grid' as a string or a dictionary + 'grid': { 'type': 'Lambert Conformal', 'hemisphere': 'N', @@ -83,12 +85,32 @@ The data must be loaded into a 2D NumPy array named **met_data**. In addition th 'ny': 129, } - } + } + + +In the dictionary, valid time, initialization time, lead time and accumulation time (if any) must be indicated by strings. Valid and initialization times must be given in YYYYMMDD[_HH[MMSS]] format, and lead and accumulation times must be given in HH[MMSS] format, where the square brackets indicate optional elements. The dictionary must also include strings for the name, long_name, level, and units to describe the data. The rest of the **attrs** dictionary gives the grid size and projection information in the same format that is used in the netCDF files written out by the MET tools. Those entries are also listed below. Note that the **grid** entry in the **attrs** dictionary can either be defined as a string or as a dictionary itself. + +If specified as a string, **grid** can be defined as follows: + +• As a named grid: + +.. code-block:: none + 'grid': 'G212' + +• As a grid specification string, as described in :ref:`appendixB`: + +.. code-block:: none + + 'grid': 'lambert 185 129 12.19 -133.459 -95 40.635 6371.2 25 25 N' + +• As the path to an existing gridded data file: + +.. code-block:: none -In the dictionary, valid time, initialization time, lead time and accumulation time (if any) must be indicated by strings. Valid and initialization times must be given in YYYYMMDD[_HH[MMSS]] format, and lead and accumulation times must be given in HH[MMSS] format, where the square brackets indicate optional elements. The dictionary must also include strings for the name, long_name, level, and units to describe the data. The rest of the **attrs** dictionary gives the grid size and projection information in the same format that is used in the netCDF files written out by the MET tools. Those entries are also listed below. Note that the **grid** entry in the **attrs** dictionary is itself a dictionary. + 'grid': '/path/to/sample_data.grib' -The supported grid **type** strings are described below: +When specified as a dictionary, the contents of the **grid** dictionary vary based on the grid **type** string. The entries for the supported grid types are described below: • **Lambert Conformal** grid dictionary entries: diff --git a/met/docs/requirements.txt b/met/docs/requirements.txt index f6bdb82841..f6b879164e 100644 --- a/met/docs/requirements.txt +++ b/met/docs/requirements.txt @@ -1,11 +1,10 @@ -sphinx -sphinx-gallery -sphinx-rtd-theme -sphinxcontrib-applehelp +sphinx==2.4.4 +sphinx-gallery==0.7.0 +sphinx-rtd-theme==0.4.3 +sphinxcontrib-applehelp==1.0.2 sphinxcontrib-bibtex -sphinxcontrib-devhelp -sphinxcontrib-htmlhelp -sphinxcontrib-jsmath -sphinxcontrib-qthelp -sphinxcontrib-serializinghtml - +sphinxcontrib-devhelp==1.0.2 +sphinxcontrib-htmlhelp==1.0.3 +sphinxcontrib-jsmath==1.0.1 +sphinxcontrib-qthelp==1.0.3 +sphinxcontrib-serializinghtml==1.1.4 \ No newline at end of file diff --git a/met/internal_tests/.gitignore b/met/internal_tests/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/internal_tests/.gitignore +++ b/met/internal_tests/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/basic/.gitignore b/met/internal_tests/basic/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/internal_tests/basic/.gitignore +++ b/met/internal_tests/basic/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/basic/vx_config/.gitignore b/met/internal_tests/basic/vx_config/.gitignore index 67630fc1ad..4591eec130 100644 --- a/met/internal_tests/basic/vx_config/.gitignore +++ b/met/internal_tests/basic/vx_config/.gitignore @@ -12,3 +12,4 @@ test_config .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/basic/vx_log/.gitignore b/met/internal_tests/basic/vx_log/.gitignore index db14416cc0..ef6fcb721e 100644 --- a/met/internal_tests/basic/vx_log/.gitignore +++ b/met/internal_tests/basic/vx_log/.gitignore @@ -5,3 +5,4 @@ test_logger .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/basic/vx_util/.gitignore b/met/internal_tests/basic/vx_util/.gitignore index dc6b171d93..a495037a4e 100644 --- a/met/internal_tests/basic/vx_util/.gitignore +++ b/met/internal_tests/basic/vx_util/.gitignore @@ -8,3 +8,4 @@ test_add_rows .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/basic/vx_util/Makefile.am b/met/internal_tests/basic/vx_util/Makefile.am index 364b846a0b..96afff9e82 100644 --- a/met/internal_tests/basic/vx_util/Makefile.am +++ b/met/internal_tests/basic/vx_util/Makefile.am @@ -82,18 +82,30 @@ endif test_ascii_header_SOURCES = test_ascii_header.cc test_ascii_header_CPPFLAGS = ${MET_CPPFLAGS} test_ascii_header_LDFLAGS = -L. ${MET_LDFLAGS} -test_ascii_header_LDADD = -lvx_util \ +test_ascii_header_LDADD = -lvx_stat_out \ + -lvx_statistics \ + -lvx_shapedata \ + -lvx_gsl_prob \ + -lvx_analysis_util \ + -lvx_shapedata \ + -lvx_util \ + $(PYTHON_LIBS) \ + -lvx_statistics \ + -lvx_data2d_factory \ + -lvx_data2d_nc_met \ + -lvx_data2d_nc_pinterp \ + $(PYTHON_LIBS) \ + -lvx_data2d_nccf \ + -lvx_data2d_grib $(GRIB2_LIBS) \ + -lvx_data2d \ + -lvx_nc_util \ + -lvx_regrid \ + -lvx_grid \ -lvx_config \ -lvx_gsl_prob \ -lvx_cal \ -lvx_util \ -lvx_math \ + -lvx_color \ -lvx_log \ - -lgsl -lgslcblas - -if ENABLE_PYTHON -test_ascii_header_LDADD += $(MET_PYTHON_LD) -lvx_data2d_python -lvx_python3_utils -lvx_data2d_python -lvx_python3_utils -lvx_math -test_ascii_header_LDADD += -lvx_data2d_python -lvx_python3_utils -lvx_data2d_python -lvx_python3_utils -test_ascii_header_LDADD += -lvx_math -lvx_grid -lvx_util -lvx_data2d -lvx_config -lvx_gsl_prob -lvx_cal -lvx_math -lvx_util -endif - + -lm -lnetcdf_c++4 -lnetcdf -lgsl -lgslcblas -lvx_util diff --git a/met/internal_tests/libcode/.gitignore b/met/internal_tests/libcode/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/internal_tests/libcode/.gitignore +++ b/met/internal_tests/libcode/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/libcode/vx_data2d/.gitignore b/met/internal_tests/libcode/vx_data2d/.gitignore index 061a79d193..f7b330410a 100644 --- a/met/internal_tests/libcode/vx_data2d/.gitignore +++ b/met/internal_tests/libcode/vx_data2d/.gitignore @@ -5,3 +5,4 @@ dump_default_table .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/libcode/vx_data2d_factory/.gitignore b/met/internal_tests/libcode/vx_data2d_factory/.gitignore index f7fee338ad..4c7f17b56a 100644 --- a/met/internal_tests/libcode/vx_data2d_factory/.gitignore +++ b/met/internal_tests/libcode/vx_data2d_factory/.gitignore @@ -5,3 +5,4 @@ test_factory .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/libcode/vx_data2d_factory/Makefile.am b/met/internal_tests/libcode/vx_data2d_factory/Makefile.am index b1d31b3aa4..04a31968c0 100644 --- a/met/internal_tests/libcode/vx_data2d_factory/Makefile.am +++ b/met/internal_tests/libcode/vx_data2d_factory/Makefile.am @@ -25,20 +25,27 @@ test_is_grib_LDADD = -lvx_data2d_factory \ test_factory_SOURCES = test_factory.cc test_factory_CPPFLAGS = ${MET_CPPFLAGS} test_factory_LDFLAGS = -L. ${MET_LDFLAGS} -test_factory_LDADD = -lvx_data2d_factory \ +test_factory_LDADD = -lvx_stat_out \ + -lvx_statistics \ + -lvx_shapedata \ + -lvx_gsl_prob \ + -lvx_analysis_util \ + -lvx_data2d_factory \ -lvx_data2d_nc_met \ -lvx_data2d_grib $(GRIB2_LIBS) \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_util \ + -lvx_regrid \ -lvx_grid \ -lvx_config \ -lvx_gsl_prob \ + -lvx_cal \ -lvx_util \ -lvx_math \ -lvx_color \ - -lvx_cal \ -lvx_log \ -lm -lnetcdf_c++4 -lnetcdf -lgsl -lgslcblas diff --git a/met/internal_tests/libcode/vx_data2d_grib/.gitignore b/met/internal_tests/libcode/vx_data2d_grib/.gitignore index 70d0ac9de2..f285e250bc 100644 --- a/met/internal_tests/libcode/vx_data2d_grib/.gitignore +++ b/met/internal_tests/libcode/vx_data2d_grib/.gitignore @@ -4,3 +4,4 @@ test_read_grib1 .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/libcode/vx_data2d_nc_met/.gitignore b/met/internal_tests/libcode/vx_data2d_nc_met/.gitignore index 40ab9911a0..554cb3b99e 100644 --- a/met/internal_tests/libcode/vx_data2d_nc_met/.gitignore +++ b/met/internal_tests/libcode/vx_data2d_nc_met/.gitignore @@ -4,3 +4,4 @@ test_read_nc_met .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/libcode/vx_data2d_nccf/.gitignore b/met/internal_tests/libcode/vx_data2d_nccf/.gitignore index 9f05a5dd30..c7cba20d1c 100644 --- a/met/internal_tests/libcode/vx_data2d_nccf/.gitignore +++ b/met/internal_tests/libcode/vx_data2d_nccf/.gitignore @@ -4,3 +4,4 @@ test_read_nccf .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/libcode/vx_geodesy/.gitignore b/met/internal_tests/libcode/vx_geodesy/.gitignore index 17fc2778c9..826fb4b0c3 100644 --- a/met/internal_tests/libcode/vx_geodesy/.gitignore +++ b/met/internal_tests/libcode/vx_geodesy/.gitignore @@ -4,3 +4,4 @@ test_spheroid .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/libcode/vx_grid/.gitignore b/met/internal_tests/libcode/vx_grid/.gitignore index 19037db3e9..733bb6d622 100644 --- a/met/internal_tests/libcode/vx_grid/.gitignore +++ b/met/internal_tests/libcode/vx_grid/.gitignore @@ -4,3 +4,4 @@ test_grid_area .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/libcode/vx_nc_util/.gitignore b/met/internal_tests/libcode/vx_nc_util/.gitignore index a93467f330..71ddcde80a 100644 --- a/met/internal_tests/libcode/vx_nc_util/.gitignore +++ b/met/internal_tests/libcode/vx_nc_util/.gitignore @@ -4,3 +4,4 @@ test_pressure_levels .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/libcode/vx_nc_util/Makefile.am b/met/internal_tests/libcode/vx_nc_util/Makefile.am index 13bf6c2bc0..ff40235a5c 100644 --- a/met/internal_tests/libcode/vx_nc_util/Makefile.am +++ b/met/internal_tests/libcode/vx_nc_util/Makefile.am @@ -19,21 +19,32 @@ noinst_PROGRAMS = test_pressure_levels test_pressure_levels_SOURCES = test_pressure_levels.cc test_pressure_levels_CPPFLAGS = ${MET_CPPFLAGS} test_pressure_levels_LDFLAGS = -L. ${MET_LDFLAGS} -test_pressure_levels_LDADD = -lvx_tc_util \ +test_pressure_levels_LDADD = -lvx_stat_out \ + -lvx_statistics \ + -lvx_shapedata \ + -lvx_gsl_prob \ + -lvx_analysis_util \ + -lvx_tc_util \ + -lvx_shapedata \ + -lvx_util \ + $(PYTHON_LIBS) \ + -lvx_statistics \ + -lvx_data2d_factory \ + -lvx_data2d_nc_met \ + -lvx_data2d_nc_pinterp \ + $(PYTHON_LIBS) \ + -lvx_data2d_nccf \ + -lvx_data2d_grib $(GRIB2_LIBS) \ -lvx_data2d \ -lvx_nc_util \ + -lvx_regrid \ + -lvx_grid \ -lvx_config \ -lvx_gsl_prob \ -lvx_cal \ -lvx_util \ -lvx_math \ + -lvx_color \ -lvx_log \ - -lnetcdf_c++4 -lnetcdf -lgsl -lgslcblas + -lm -lnetcdf_c++4 -lnetcdf -lgsl -lgslcblas -lvx_util -if ENABLE_PYTHON -test_pressure_levels_LDADD += $(MET_PYTHON_LD) -test_pressure_levels_LDADD += -lvx_data2d_python -lvx_python3_utils -test_pressure_levels_LDADD += -lvx_data2d_python -lvx_python3_utils -test_pressure_levels_LDADD += -lvx_grid -lvx_util -lvx_config -test_pressure_levels_LDADD += -lvx_data2d -lvx_gsl_prob -lvx_util -lvx_math -lvx_cal -lvx_config -endif diff --git a/met/internal_tests/libcode/vx_physics/.gitignore b/met/internal_tests/libcode/vx_physics/.gitignore index 094a57719a..f2ec7e5a62 100644 --- a/met/internal_tests/libcode/vx_physics/.gitignore +++ b/met/internal_tests/libcode/vx_physics/.gitignore @@ -4,3 +4,4 @@ test_thermo .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/libcode/vx_plot_util/.gitignore b/met/internal_tests/libcode/vx_plot_util/.gitignore index d570f17da2..01b5ee0c75 100644 --- a/met/internal_tests/libcode/vx_plot_util/.gitignore +++ b/met/internal_tests/libcode/vx_plot_util/.gitignore @@ -4,3 +4,4 @@ test_map_region .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/libcode/vx_ps/.gitignore b/met/internal_tests/libcode/vx_ps/.gitignore index ebef0f4ecf..916310e94c 100644 --- a/met/internal_tests/libcode/vx_ps/.gitignore +++ b/met/internal_tests/libcode/vx_ps/.gitignore @@ -4,3 +4,4 @@ test_ps .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/libcode/vx_series_data/.gitignore b/met/internal_tests/libcode/vx_series_data/.gitignore index a29fc045ef..44e011fc66 100644 --- a/met/internal_tests/libcode/vx_series_data/.gitignore +++ b/met/internal_tests/libcode/vx_series_data/.gitignore @@ -4,3 +4,4 @@ test_series_data .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/libcode/vx_solar/.gitignore b/met/internal_tests/libcode/vx_solar/.gitignore index 906dd21126..326d9d0cad 100644 --- a/met/internal_tests/libcode/vx_solar/.gitignore +++ b/met/internal_tests/libcode/vx_solar/.gitignore @@ -4,3 +4,4 @@ test_ra_dec .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/libcode/vx_tc_util/.gitignore b/met/internal_tests/libcode/vx_tc_util/.gitignore index 6a46ceef48..bd2b6485c5 100644 --- a/met/internal_tests/libcode/vx_tc_util/.gitignore +++ b/met/internal_tests/libcode/vx_tc_util/.gitignore @@ -5,3 +5,4 @@ test_read .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/libcode/vx_tc_util/Makefile.am b/met/internal_tests/libcode/vx_tc_util/Makefile.am index 2b71de8a9f..a5fc96c5d0 100644 --- a/met/internal_tests/libcode/vx_tc_util/Makefile.am +++ b/met/internal_tests/libcode/vx_tc_util/Makefile.am @@ -20,39 +20,64 @@ noinst_PROGRAMS = test_read \ test_read_SOURCES = test_read.cc test_read_CPPFLAGS = ${MET_CPPFLAGS} test_read_LDFLAGS = -L. ${MET_LDFLAGS} -test_read_LDADD = -lvx_tc_util \ +test_read_LDADD = -lvx_stat_out \ + -lvx_statistics \ + -lvx_shapedata \ + -lvx_gsl_prob \ + -lvx_analysis_util \ + -lvx_tc_util \ + -lvx_shapedata \ + -lvx_util \ + $(PYTHON_LIBS) \ + -lvx_statistics \ + -lvx_data2d_factory \ + -lvx_data2d_nc_met \ + -lvx_data2d_nc_pinterp \ + $(PYTHON_LIBS) \ + -lvx_data2d_nccf \ + -lvx_data2d_grib $(GRIB2_LIBS) \ + -lvx_data2d \ + -lvx_nc_util \ + -lvx_regrid \ + -lvx_grid \ -lvx_config \ -lvx_gsl_prob \ -lvx_cal \ -lvx_util \ -lvx_math \ + -lvx_color \ -lvx_log \ - -lgsl -lgslcblas - -if ENABLE_PYTHON -test_read_LDADD += $(MET_PYTHON_LD) -test_read_LDADD += -lvx_data2d_python -lvx_python3_utils -test_read_LDADD += -lvx_data2d_python -lvx_python3_utils -test_read_LDADD += -lvx_grid -lvx_util -lvx_config -test_read_LDADD += -lvx_data2d -lvx_gsl_prob -lvx_util -lvx_math -lvx_cal -lvx_config -endif + -lm -lnetcdf_c++4 -lnetcdf -lgsl -lgslcblas -lvx_util test_read_prob_SOURCES = test_read_prob.cc test_read_prob_CPPFLAGS = ${MET_CPPFLAGS} test_read_prob_LDFLAGS = -L. ${MET_LDFLAGS} -test_read_prob_LDADD = -lvx_tc_util \ +test_read_prob_LDADD = -lvx_stat_out \ + -lvx_statistics \ + -lvx_shapedata \ + -lvx_gsl_prob \ + -lvx_analysis_util \ + -lvx_tc_util \ + -lvx_shapedata \ + -lvx_util \ + $(PYTHON_LIBS) \ + -lvx_statistics \ + -lvx_data2d_factory \ + -lvx_data2d_nc_met \ + -lvx_data2d_nc_pinterp \ + $(PYTHON_LIBS) \ + -lvx_data2d_nccf \ + -lvx_data2d_grib $(GRIB2_LIBS) \ + -lvx_data2d \ + -lvx_nc_util \ + -lvx_regrid \ + -lvx_grid \ -lvx_config \ -lvx_gsl_prob \ -lvx_cal \ -lvx_util \ -lvx_math \ + -lvx_color \ -lvx_log \ - -lgsl -lgslcblas + -lm -lnetcdf_c++4 -lnetcdf -lgsl -lgslcblas -lvx_util -if ENABLE_PYTHON -test_read_prob_LDADD += $(MET_PYTHON_LD) -test_read_prob_LDADD += -lvx_data2d_python -lvx_python3_utils -test_read_prob_LDADD += -lvx_data2d_python -lvx_python3_utils -test_read_prob_LDADD += -lvx_grid -lvx_util -lvx_config -test_read_prob_LDADD += -lvx_data2d -lvx_gsl_prob -lvx_util -lvx_math -lvx_cal -lvx_config -endif diff --git a/met/internal_tests/tools/.gitignore b/met/internal_tests/tools/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/internal_tests/tools/.gitignore +++ b/met/internal_tests/tools/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/tools/other/.gitignore b/met/internal_tests/tools/other/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/internal_tests/tools/other/.gitignore +++ b/met/internal_tests/tools/other/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/tools/other/mode_time_domain/.gitignore b/met/internal_tests/tools/other/mode_time_domain/.gitignore index 092c0bed05..01fa57111b 100644 --- a/met/internal_tests/tools/other/mode_time_domain/.gitignore +++ b/met/internal_tests/tools/other/mode_time_domain/.gitignore @@ -4,3 +4,4 @@ test_velocity .deps Makefile Makefile.in +*.dSYM diff --git a/met/internal_tests/tools/other/mode_time_domain/Makefile.am b/met/internal_tests/tools/other/mode_time_domain/Makefile.am index 2b62114046..693d9de44c 100644 --- a/met/internal_tests/tools/other/mode_time_domain/Makefile.am +++ b/met/internal_tests/tools/other/mode_time_domain/Makefile.am @@ -56,6 +56,7 @@ test_velocity_LDADD = \ -lvx_data2d_grib $(GRIB2_LIBS) \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ + -lvx_statistics \ -lvx_data2d_nccf \ -lvx_data2d \ -lvx_nc_util \ @@ -69,3 +70,4 @@ test_velocity_LDADD = \ -lvx_color \ -lvx_log \ -lm -lnetcdf_c++4 -lnetcdf -lgsl -lgslcblas -lz + diff --git a/met/scripts/python/Makefile.am b/met/scripts/python/Makefile.am index b980d2e4ab..78dc7d88bc 100644 --- a/met/scripts/python/Makefile.am +++ b/met/scripts/python/Makefile.am @@ -27,6 +27,7 @@ pythonscriptsdir = $(pkgdatadir)/python pythonscripts_DATA = \ read_ascii_numpy.py \ + read_ascii_numpy_grid.py \ read_ascii_xarray.py \ read_ascii_point.py \ read_ascii_mpr.py diff --git a/met/scripts/python/read_ascii_numpy_grid.py b/met/scripts/python/read_ascii_numpy_grid.py new file mode 100755 index 0000000000..88d868a2ad --- /dev/null +++ b/met/scripts/python/read_ascii_numpy_grid.py @@ -0,0 +1,53 @@ +from __future__ import print_function + +import numpy as np +import os +import sys + +########################################### + +print('Python Script:\t', sys.argv[0]) + + ## + ## input file specified on the command line + ## load the data into the numpy array + ## + +if len(sys.argv) == 3: + # Read the input file as the first argument + input_file = os.path.expandvars(sys.argv[1]) + data_name = sys.argv[2] + try: + # Print some output to verify that this script ran + print("Input File:\t" + repr(input_file)) + print("Data Name:\t" + repr(data_name)) + met_data = np.loadtxt(input_file) + print("Data Shape:\t" + repr(met_data.shape)) + print("Data Type:\t" + repr(met_data.dtype)) + except NameError: + print("Can't find the input file") +else: + print("ERROR: read_ascii_numpy.py -> Must specify exactly one input file and a name for the data.") + sys.exit(1) + +########################################### + + ## + ## create the metadata dictionary + ## + +attrs = { + + 'valid': '20050807_120000', + 'init': '20050807_000000', + 'lead': '120000', + 'accum': '120000', + + 'name': data_name, + 'long_name': data_name + '_word', + 'level': 'Surface', + 'units': 'None', + 'grid': os.path.expandvars(os.getenv('PYTHON_GRID')) +} + +print("Attributes:\t" + repr(attrs)) diff --git a/met/src/.gitignore b/met/src/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/.gitignore +++ b/met/src/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/basic/.gitignore b/met/src/basic/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/basic/.gitignore +++ b/met/src/basic/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/basic/enum_to_string/.gitignore b/met/src/basic/enum_to_string/.gitignore index 02ea333a4d..7788d23d81 100644 --- a/met/src/basic/enum_to_string/.gitignore +++ b/met/src/basic/enum_to_string/.gitignore @@ -5,3 +5,4 @@ enum_parser.cc .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/basic/vx_cal/.gitignore b/met/src/basic/vx_cal/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/basic/vx_cal/.gitignore +++ b/met/src/basic/vx_cal/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/basic/vx_config/.gitignore b/met/src/basic/vx_config/.gitignore index cd85cdb95c..24c9ca6c7e 100644 --- a/met/src/basic/vx_config/.gitignore +++ b/met/src/basic/vx_config/.gitignore @@ -7,3 +7,4 @@ config.tab.h .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/basic/vx_log/.gitignore b/met/src/basic/vx_log/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/basic/vx_log/.gitignore +++ b/met/src/basic/vx_log/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/basic/vx_math/.gitignore b/met/src/basic/vx_math/.gitignore index 92b269f31e..7e5f500d16 100644 --- a/met/src/basic/vx_math/.gitignore +++ b/met/src/basic/vx_math/.gitignore @@ -5,3 +5,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/basic/vx_util/.gitignore b/met/src/basic/vx_util/.gitignore index 92b269f31e..7e5f500d16 100644 --- a/met/src/basic/vx_util/.gitignore +++ b/met/src/basic/vx_util/.gitignore @@ -5,3 +5,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/.gitignore b/met/src/libcode/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/.gitignore +++ b/met/src/libcode/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_afm/.gitignore b/met/src/libcode/vx_afm/.gitignore index 92b269f31e..7e5f500d16 100644 --- a/met/src/libcode/vx_afm/.gitignore +++ b/met/src/libcode/vx_afm/.gitignore @@ -5,3 +5,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_analysis_util/.gitignore b/met/src/libcode/vx_analysis_util/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_analysis_util/.gitignore +++ b/met/src/libcode/vx_analysis_util/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_color/.gitignore b/met/src/libcode/vx_color/.gitignore index db5274632b..222c1f46c6 100644 --- a/met/src/libcode/vx_color/.gitignore +++ b/met/src/libcode/vx_color/.gitignore @@ -6,3 +6,4 @@ color_parser_yacc.h .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_data2d/.gitignore b/met/src/libcode/vx_data2d/.gitignore index 92b269f31e..7e5f500d16 100644 --- a/met/src/libcode/vx_data2d/.gitignore +++ b/met/src/libcode/vx_data2d/.gitignore @@ -5,3 +5,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_data2d_factory/.gitignore b/met/src/libcode/vx_data2d_factory/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_data2d_factory/.gitignore +++ b/met/src/libcode/vx_data2d_factory/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_data2d_grib/.gitignore b/met/src/libcode/vx_data2d_grib/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_data2d_grib/.gitignore +++ b/met/src/libcode/vx_data2d_grib/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_data2d_grib2/.gitignore b/met/src/libcode/vx_data2d_grib2/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_data2d_grib2/.gitignore +++ b/met/src/libcode/vx_data2d_grib2/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_data2d_nc_met/.gitignore b/met/src/libcode/vx_data2d_nc_met/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_data2d_nc_met/.gitignore +++ b/met/src/libcode/vx_data2d_nc_met/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_data2d_nc_pinterp/.gitignore b/met/src/libcode/vx_data2d_nc_pinterp/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_data2d_nc_pinterp/.gitignore +++ b/met/src/libcode/vx_data2d_nc_pinterp/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_data2d_nccf/.gitignore b/met/src/libcode/vx_data2d_nccf/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_data2d_nccf/.gitignore +++ b/met/src/libcode/vx_data2d_nccf/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_data2d_python/.gitignore b/met/src/libcode/vx_data2d_python/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_data2d_python/.gitignore +++ b/met/src/libcode/vx_data2d_python/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_data2d_python/dataplane_from_numpy_array.cc b/met/src/libcode/vx_data2d_python/dataplane_from_numpy_array.cc index 7462c20829..61f997a267 100644 --- a/met/src/libcode/vx_data2d_python/dataplane_from_numpy_array.cc +++ b/met/src/libcode/vx_data2d_python/dataplane_from_numpy_array.cc @@ -12,6 +12,7 @@ #include "string.h" #include "vx_python3_utils.h" +#include "vx_statistics.h" #include "check_endian.h" #include "data_plane.h" @@ -219,9 +220,43 @@ dp_out.set_accum(t); //////////////////// -PyObject * py_grid = attrs.lookup_dict("grid"); + // + // attempt to parse "grid" as a string + // + +s = attrs.lookup_string("grid", false); + +if ( s.nonempty() ) { + + grid_out = parse_grid_string(s.c_str()); + +} +else { + + // + // otherwise, parse "grid" as a dictionary + // + + PyObject * py_grid = attrs.lookup_dict("grid"); -grid_from_python_dict(Python3_Dict(py_grid), grid_out); + grid_from_python_dict(Python3_Dict(py_grid), grid_out); + +} + + // + // make sure the grid and data dimensions match + // + +if ( grid_out.nx() != Nx || grid_out.ny() != Ny ) { + + mlog << Error << "\ndataplane_from_numpy_array() -> " + << "the grid dimensions (" << grid_out.nx() << ", " + << grid_out.ny() << ") and data dimensions (" << Nx + << ", " << Ny << ") do not match!\n\n"; + + exit ( 1 ); + +} //////////////////// diff --git a/met/src/libcode/vx_geodesy/.gitignore b/met/src/libcode/vx_geodesy/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_geodesy/.gitignore +++ b/met/src/libcode/vx_geodesy/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_gis/.gitignore b/met/src/libcode/vx_gis/.gitignore index 92b269f31e..7e5f500d16 100644 --- a/met/src/libcode/vx_gis/.gitignore +++ b/met/src/libcode/vx_gis/.gitignore @@ -5,3 +5,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_gnomon/.gitignore b/met/src/libcode/vx_gnomon/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_gnomon/.gitignore +++ b/met/src/libcode/vx_gnomon/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_grid/.gitignore b/met/src/libcode/vx_grid/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_grid/.gitignore +++ b/met/src/libcode/vx_grid/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_gsl_prob/.gitignore b/met/src/libcode/vx_gsl_prob/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_gsl_prob/.gitignore +++ b/met/src/libcode/vx_gsl_prob/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_nav/.gitignore b/met/src/libcode/vx_nav/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_nav/.gitignore +++ b/met/src/libcode/vx_nav/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_nc_obs/.gitignore b/met/src/libcode/vx_nc_obs/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_nc_obs/.gitignore +++ b/met/src/libcode/vx_nc_obs/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_nc_util/.gitignore b/met/src/libcode/vx_nc_util/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_nc_util/.gitignore +++ b/met/src/libcode/vx_nc_util/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_pb_util/.gitignore b/met/src/libcode/vx_pb_util/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_pb_util/.gitignore +++ b/met/src/libcode/vx_pb_util/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_plot_util/.gitignore b/met/src/libcode/vx_plot_util/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_plot_util/.gitignore +++ b/met/src/libcode/vx_plot_util/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_ps/.gitignore b/met/src/libcode/vx_ps/.gitignore index 92b269f31e..7e5f500d16 100644 --- a/met/src/libcode/vx_ps/.gitignore +++ b/met/src/libcode/vx_ps/.gitignore @@ -5,3 +5,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_pxm/.gitignore b/met/src/libcode/vx_pxm/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_pxm/.gitignore +++ b/met/src/libcode/vx_pxm/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_python3_utils/python3_dict.cc b/met/src/libcode/vx_python3_utils/python3_dict.cc index 9f6036f801..6d38599aa4 100644 --- a/met/src/libcode/vx_python3_utils/python3_dict.cc +++ b/met/src/libcode/vx_python3_utils/python3_dict.cc @@ -220,7 +220,7 @@ return ( t ); //////////////////////////////////////////////////////////////////////// -ConcatString Python3_Dict::lookup_string(const char * key) const +ConcatString Python3_Dict::lookup_string(const char * key, bool error_out) const { @@ -240,14 +240,23 @@ if ( ! a ) { if ( ! PyUnicode_Check(a) ) { - mlog << Error << "\nPython3_Dict::lookup_string(const char * key) -> " - << "value for key \"" << key << "\" not a character string\n\n"; + if ( error_out ) { - exit ( 1 ); + mlog << Error << "\nPython3_Dict::lookup_string(const char * key) -> " + << "value for key \"" << key << "\" not a character string\n\n"; + + exit ( 1 ); + + } + + s.clear(); } +else { -s = PyUnicode_AsUTF8(a); + s = PyUnicode_AsUTF8(a); + +} return ( s ); diff --git a/met/src/libcode/vx_python3_utils/python3_dict.h b/met/src/libcode/vx_python3_utils/python3_dict.h index 7ce77d7b05..34cfd803de 100644 --- a/met/src/libcode/vx_python3_utils/python3_dict.h +++ b/met/src/libcode/vx_python3_utils/python3_dict.h @@ -68,7 +68,7 @@ class Python3_Dict { int lookup_int (const char * key) const; double lookup_double (const char * key) const; - ConcatString lookup_string (const char * key) const; + ConcatString lookup_string (const char * key, bool error_out = true) const; PyObject * lookup_dict (const char * key) const; PyObject * lookup_list (const char * key) const; diff --git a/met/src/libcode/vx_regrid/.gitignore b/met/src/libcode/vx_regrid/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_regrid/.gitignore +++ b/met/src/libcode/vx_regrid/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_render/.gitignore b/met/src/libcode/vx_render/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_render/.gitignore +++ b/met/src/libcode/vx_render/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_shapedata/.gitignore b/met/src/libcode/vx_shapedata/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_shapedata/.gitignore +++ b/met/src/libcode/vx_shapedata/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_solar/.gitignore b/met/src/libcode/vx_solar/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_solar/.gitignore +++ b/met/src/libcode/vx_solar/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_stat_out/.gitignore b/met/src/libcode/vx_stat_out/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_stat_out/.gitignore +++ b/met/src/libcode/vx_stat_out/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_statistics/.gitignore b/met/src/libcode/vx_statistics/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_statistics/.gitignore +++ b/met/src/libcode/vx_statistics/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_statistics/apply_mask.cc b/met/src/libcode/vx_statistics/apply_mask.cc index f5ea562630..b97e9272d3 100644 --- a/met/src/libcode/vx_statistics/apply_mask.cc +++ b/met/src/libcode/vx_statistics/apply_mask.cc @@ -84,6 +84,51 @@ Grid parse_vx_grid(const RegridInfo info, const Grid *fgrid, const Grid *ogrid) //////////////////////////////////////////////////////////////////////// +Grid parse_grid_string(const char *grid_str) { + Grid grid; + StringArray sa; + + // Parse as a white-space separated string + sa.parse_wsss(grid_str); + + // Search for a named grid + if(sa.n() == 1 && find_grid_by_name(sa[0].c_str(), grid)) { + mlog << Debug(3) << "Use the grid named \"" + << grid_str << "\".\n"; + } + // Parse grid definition + else if(sa.n() > 1 && parse_grid_def(sa, grid)) { + mlog << Debug(3) << "Use the grid defined by string \"" + << grid_str << "\".\n"; + } + // Extract the grid from a gridded data file + else { + mlog << Debug(3) << "Use the grid defined by file \"" + << grid_str << "\".\n"; + + Met2dDataFileFactory m_factory; + Met2dDataFile *met_ptr = (Met2dDataFile *) 0; + + // Open the data file + if(!(met_ptr = m_factory.new_met_2d_data_file(grid_str))) { + mlog << Error << "\nparse_grid_string() -> " + << "can't open file \"" << grid_str + << "\"\n\n"; + exit(1); + } + + // Store the grid + grid = met_ptr->grid(); + + // Cleanup + if(met_ptr) { delete met_ptr; met_ptr = 0; } + } + + return(grid); +} + +//////////////////////////////////////////////////////////////////////// + void parse_grid_weight(const Grid &grid, const GridWeightType t, DataPlane &wgt_dp) { int x, y; diff --git a/met/src/libcode/vx_statistics/apply_mask.h b/met/src/libcode/vx_statistics/apply_mask.h index 0ac9aac85e..5e62500d73 100644 --- a/met/src/libcode/vx_statistics/apply_mask.h +++ b/met/src/libcode/vx_statistics/apply_mask.h @@ -29,6 +29,8 @@ static const char poly_str_delim[] = "{}"; extern Grid parse_vx_grid(const RegridInfo, const Grid *, const Grid *); +extern Grid parse_grid_string(const char *); + extern void parse_grid_weight(const Grid &, const GridWeightType, DataPlane &); diff --git a/met/src/libcode/vx_summary/.gitignore b/met/src/libcode/vx_summary/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_summary/.gitignore +++ b/met/src/libcode/vx_summary/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_tc_util/.gitignore b/met/src/libcode/vx_tc_util/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_tc_util/.gitignore +++ b/met/src/libcode/vx_tc_util/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/libcode/vx_time_series/.gitignore b/met/src/libcode/vx_time_series/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/libcode/vx_time_series/.gitignore +++ b/met/src/libcode/vx_time_series/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/.gitignore b/met/src/tools/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/tools/.gitignore +++ b/met/src/tools/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/core/.gitignore b/met/src/tools/core/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/tools/core/.gitignore +++ b/met/src/tools/core/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/core/ensemble_stat/.gitignore b/met/src/tools/core/ensemble_stat/.gitignore index ff7e359957..536328aba8 100644 --- a/met/src/tools/core/ensemble_stat/.gitignore +++ b/met/src/tools/core/ensemble_stat/.gitignore @@ -4,3 +4,4 @@ ensemble_stat .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/core/ensemble_stat/Makefile.am b/met/src/tools/core/ensemble_stat/Makefile.am index d7cd14c178..172302f19a 100644 --- a/met/src/tools/core/ensemble_stat/Makefile.am +++ b/met/src/tools/core/ensemble_stat/Makefile.am @@ -26,6 +26,7 @@ ensemble_stat_LDADD = -lvx_stat_out \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_obs \ -lvx_nc_util \ diff --git a/met/src/tools/core/grid_stat/.gitignore b/met/src/tools/core/grid_stat/.gitignore index c4d713316d..5e2bcb8f66 100644 --- a/met/src/tools/core/grid_stat/.gitignore +++ b/met/src/tools/core/grid_stat/.gitignore @@ -4,3 +4,4 @@ grid_stat .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/core/grid_stat/Makefile.am b/met/src/tools/core/grid_stat/Makefile.am index 8db13c50bf..e1451258f0 100644 --- a/met/src/tools/core/grid_stat/Makefile.am +++ b/met/src/tools/core/grid_stat/Makefile.am @@ -26,6 +26,7 @@ grid_stat_LDADD = -lvx_stat_out \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_util \ -lvx_regrid \ diff --git a/met/src/tools/core/mode/.gitignore b/met/src/tools/core/mode/.gitignore index 3eb452874c..8216720ddb 100644 --- a/met/src/tools/core/mode/.gitignore +++ b/met/src/tools/core/mode/.gitignore @@ -4,3 +4,4 @@ mode .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/core/mode/Makefile.am b/met/src/tools/core/mode/Makefile.am index b3260abef1..662dee58ef 100644 --- a/met/src/tools/core/mode/Makefile.am +++ b/met/src/tools/core/mode/Makefile.am @@ -39,6 +39,7 @@ mode_LDADD = -lvx_pxm \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_util \ -lvx_regrid \ diff --git a/met/src/tools/core/mode_analysis/.gitignore b/met/src/tools/core/mode_analysis/.gitignore index 6108dd97e6..0e3a718728 100644 --- a/met/src/tools/core/mode_analysis/.gitignore +++ b/met/src/tools/core/mode_analysis/.gitignore @@ -4,3 +4,4 @@ mode_analysis .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/core/mode_analysis/Makefile.am b/met/src/tools/core/mode_analysis/Makefile.am index 7305ea30a9..182faf29d1 100644 --- a/met/src/tools/core/mode_analysis/Makefile.am +++ b/met/src/tools/core/mode_analysis/Makefile.am @@ -8,10 +8,6 @@ MAINTAINERCLEANFILES = Makefile.in include ${top_srcdir}/Make-include -if ENABLE_PYTHON -LDFLAGS += -lvx_python3_utils -endif - # The program bin_PROGRAMS = mode_analysis @@ -25,6 +21,9 @@ mode_analysis_LDADD = -lvx_stat_out \ -lvx_gsl_prob \ -lvx_analysis_util \ -lvx_shapedata \ + -lvx_util \ + $(PYTHON_LIBS) \ + -lvx_statistics \ -lvx_data2d_factory \ -lvx_data2d_nc_met \ -lvx_data2d_nc_pinterp \ @@ -33,6 +32,7 @@ mode_analysis_LDADD = -lvx_stat_out \ -lvx_data2d_grib $(GRIB2_LIBS) \ -lvx_data2d \ -lvx_nc_util \ + -lvx_regrid \ -lvx_grid \ -lvx_config \ -lvx_gsl_prob \ @@ -43,9 +43,4 @@ mode_analysis_LDADD = -lvx_stat_out \ -lvx_log \ -lm -lnetcdf_c++4 -lnetcdf -lgsl -lgslcblas -lvx_util -if ENABLE_PYTHON -mode_analysis_LDADD += $(MET_PYTHON_LD) -lvx_data2d_python -lvx_python3_utils -lvx_data2d_python -lvx_python3_utils -lvx_util -endif - - EXTRA_DIST = config_to_att.h diff --git a/met/src/tools/core/pcp_combine/.gitignore b/met/src/tools/core/pcp_combine/.gitignore index 012e9dce9d..2963b459b1 100644 --- a/met/src/tools/core/pcp_combine/.gitignore +++ b/met/src/tools/core/pcp_combine/.gitignore @@ -4,3 +4,4 @@ pcp_combine .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/core/pcp_combine/Makefile.am b/met/src/tools/core/pcp_combine/Makefile.am index 1a07c63b71..0fa6d2ecc4 100644 --- a/met/src/tools/core/pcp_combine/Makefile.am +++ b/met/src/tools/core/pcp_combine/Makefile.am @@ -20,8 +20,10 @@ pcp_combine_LDADD = -lvx_data2d_factory \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_util \ + -lvx_regrid \ -lvx_grid \ -lvx_config \ -lvx_cal \ diff --git a/met/src/tools/core/point_stat/.gitignore b/met/src/tools/core/point_stat/.gitignore index 42294678d5..00088797c5 100644 --- a/met/src/tools/core/point_stat/.gitignore +++ b/met/src/tools/core/point_stat/.gitignore @@ -4,3 +4,4 @@ point_stat .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/core/point_stat/Makefile.am b/met/src/tools/core/point_stat/Makefile.am index ef64c96fc8..02dbac944a 100644 --- a/met/src/tools/core/point_stat/Makefile.am +++ b/met/src/tools/core/point_stat/Makefile.am @@ -26,6 +26,7 @@ point_stat_LDADD = -lvx_stat_out \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_obs \ -lvx_nc_util \ diff --git a/met/src/tools/core/series_analysis/.gitignore b/met/src/tools/core/series_analysis/.gitignore index 4e996c7b6c..4ae6680d91 100644 --- a/met/src/tools/core/series_analysis/.gitignore +++ b/met/src/tools/core/series_analysis/.gitignore @@ -4,3 +4,4 @@ series_analysis .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/core/series_analysis/Makefile.am b/met/src/tools/core/series_analysis/Makefile.am index 79a33460f0..26352e71eb 100644 --- a/met/src/tools/core/series_analysis/Makefile.am +++ b/met/src/tools/core/series_analysis/Makefile.am @@ -26,6 +26,7 @@ series_analysis_LDADD = -lvx_stat_out \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_util \ -lvx_regrid \ diff --git a/met/src/tools/core/stat_analysis/.gitignore b/met/src/tools/core/stat_analysis/.gitignore index aadcccda75..bcc102842e 100644 --- a/met/src/tools/core/stat_analysis/.gitignore +++ b/met/src/tools/core/stat_analysis/.gitignore @@ -4,3 +4,4 @@ stat_analysis .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/core/stat_analysis/Makefile.am b/met/src/tools/core/stat_analysis/Makefile.am index 909143d9f3..60ca332858 100644 --- a/met/src/tools/core/stat_analysis/Makefile.am +++ b/met/src/tools/core/stat_analysis/Makefile.am @@ -8,19 +8,13 @@ MAINTAINERCLEANFILES = Makefile.in include ${top_srcdir}/Make-include -OPT_PYTHON_SOURCES = - -if ENABLE_PYTHON -LDFLAGS += -lvx_python3_utils -endif - # The program bin_PROGRAMS = stat_analysis stat_analysis_SOURCES = stat_analysis.cc \ aggr_stat_line.cc \ parse_stat_line.cc \ - stat_analysis_job.cc $(OPT_PYTHON_SOURCES) + stat_analysis_job.cc stat_analysis_CPPFLAGS = ${MET_CPPFLAGS} stat_analysis_LDFLAGS = ${MET_LDFLAGS} stat_analysis_LDADD = -lvx_stat_out \ @@ -34,6 +28,7 @@ stat_analysis_LDADD = -lvx_stat_out \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_util \ -lvx_regrid \ diff --git a/met/src/tools/core/stat_analysis/aggr_stat_line.cc b/met/src/tools/core/stat_analysis/aggr_stat_line.cc index db7cd98ba9..bb9819634f 100644 --- a/met/src/tools/core/stat_analysis/aggr_stat_line.cc +++ b/met/src/tools/core/stat_analysis/aggr_stat_line.cc @@ -2597,6 +2597,7 @@ void aggr_ecnt_lines(LineDataFile &f, STATAnalysisJob &job, m[key].ens_pd.var_oerr_na.add(square(cur.spread_oerr)); m[key].ens_pd.var_plus_oerr_na.add(square(cur.spread_plus_oerr)); m[key].ens_pd.wgt_na.add(cur.total); + m[key].ens_pd.skip_ba.add(false); // // Store the summary statistics diff --git a/met/src/tools/core/wavelet_stat/.gitignore b/met/src/tools/core/wavelet_stat/.gitignore index 31f707d25d..7ed6d133d1 100644 --- a/met/src/tools/core/wavelet_stat/.gitignore +++ b/met/src/tools/core/wavelet_stat/.gitignore @@ -4,3 +4,4 @@ wavelet_stat .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/core/wavelet_stat/Makefile.am b/met/src/tools/core/wavelet_stat/Makefile.am index 4f6759db27..25150834a5 100644 --- a/met/src/tools/core/wavelet_stat/Makefile.am +++ b/met/src/tools/core/wavelet_stat/Makefile.am @@ -32,6 +32,7 @@ wavelet_stat_LDADD = -lvx_pxm \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_util \ -lvx_regrid \ diff --git a/met/src/tools/dev_utils/.gitignore b/met/src/tools/dev_utils/.gitignore index 5993a9d79d..6dff8d3ff9 100644 --- a/met/src/tools/dev_utils/.gitignore +++ b/met/src/tools/dev_utils/.gitignore @@ -12,3 +12,4 @@ chk4copyright .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/dev_utils/Makefile.am b/met/src/tools/dev_utils/Makefile.am index 03a83fc690..9240cb48bd 100644 --- a/met/src/tools/dev_utils/Makefile.am +++ b/met/src/tools/dev_utils/Makefile.am @@ -127,6 +127,7 @@ gen_climo_bin_LDADD = -lvx_stat_out \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_util \ -lvx_regrid \ diff --git a/met/src/tools/dev_utils/shapefiles/.gitignore b/met/src/tools/dev_utils/shapefiles/.gitignore index d530071029..1ef4c3e5dc 100644 --- a/met/src/tools/dev_utils/shapefiles/.gitignore +++ b/met/src/tools/dev_utils/shapefiles/.gitignore @@ -4,3 +4,4 @@ make_mapfiles .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/other/.gitignore b/met/src/tools/other/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/tools/other/.gitignore +++ b/met/src/tools/other/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/other/ascii2nc/.gitignore b/met/src/tools/other/ascii2nc/.gitignore index 14e5831fd8..46e9e4600d 100644 --- a/met/src/tools/other/ascii2nc/.gitignore +++ b/met/src/tools/other/ascii2nc/.gitignore @@ -4,3 +4,4 @@ ascii2nc .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/other/ascii2nc/Makefile.am b/met/src/tools/other/ascii2nc/Makefile.am index 3b4f21b46a..7fce7b81ba 100644 --- a/met/src/tools/other/ascii2nc/Makefile.am +++ b/met/src/tools/other/ascii2nc/Makefile.am @@ -39,6 +39,7 @@ ascii2nc_LDADD = -lvx_stat_out \ -lvx_data2d_nc_pinterp \ -lvx_data2d_nccf \ $(PYTHON_LIBS) \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_obs \ -lvx_nc_util \ diff --git a/met/src/tools/other/gen_vx_mask/.gitignore b/met/src/tools/other/gen_vx_mask/.gitignore index 014957152f..def514617d 100644 --- a/met/src/tools/other/gen_vx_mask/.gitignore +++ b/met/src/tools/other/gen_vx_mask/.gitignore @@ -4,3 +4,4 @@ gen_vx_mask .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/other/gen_vx_mask/Makefile.am b/met/src/tools/other/gen_vx_mask/Makefile.am index 2b52cb7cb6..f8b773183b 100644 --- a/met/src/tools/other/gen_vx_mask/Makefile.am +++ b/met/src/tools/other/gen_vx_mask/Makefile.am @@ -24,6 +24,7 @@ gen_vx_mask_LDADD = -lvx_shapedata \ -lvx_data2d_nc_met \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ + -lvx_statistics \ -lvx_gis \ -lvx_nc_util \ -lvx_data2d \ @@ -39,6 +40,7 @@ gen_vx_mask_LDADD = -lvx_shapedata \ -lvx_stat_out \ -lvx_statistics \ -lvx_gsl_prob \ + -lvx_regrid \ -lvx_grid \ -lvx_config \ -lvx_gsl_prob \ diff --git a/met/src/tools/other/gis_utils/.gitignore b/met/src/tools/other/gis_utils/.gitignore index 6f5206616c..6bcc0d4e28 100644 --- a/met/src/tools/other/gis_utils/.gitignore +++ b/met/src/tools/other/gis_utils/.gitignore @@ -6,3 +6,4 @@ gis_dump_dbf .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/other/grid_diag/.gitignore b/met/src/tools/other/grid_diag/.gitignore index 07d1d9d55d..2ea21992a5 100644 --- a/met/src/tools/other/grid_diag/.gitignore +++ b/met/src/tools/other/grid_diag/.gitignore @@ -4,3 +4,4 @@ grid_diag .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/other/grid_diag/Makefile.am b/met/src/tools/other/grid_diag/Makefile.am index 877772a982..1d30d1bce4 100644 --- a/met/src/tools/other/grid_diag/Makefile.am +++ b/met/src/tools/other/grid_diag/Makefile.am @@ -26,6 +26,7 @@ grid_diag_LDADD = -lvx_stat_out \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_util \ -lvx_regrid \ diff --git a/met/src/tools/other/gsi_tools/.gitignore b/met/src/tools/other/gsi_tools/.gitignore index f98752c930..d91d7ab411 100644 --- a/met/src/tools/other/gsi_tools/.gitignore +++ b/met/src/tools/other/gsi_tools/.gitignore @@ -5,3 +5,4 @@ gsid2mpr .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/other/gsi_tools/Makefile.am b/met/src/tools/other/gsi_tools/Makefile.am index 40c550a1c1..1c94d4be2b 100644 --- a/met/src/tools/other/gsi_tools/Makefile.am +++ b/met/src/tools/other/gsi_tools/Makefile.am @@ -8,10 +8,6 @@ MAINTAINERCLEANFILES = Makefile.in include ${top_srcdir}/Make-include -if ENABLE_PYTHON -LDFLAGS += -lvx_data2d_python -lvx_python3_utils -endif - # The programs bin_PROGRAMS = gsid2mpr \ @@ -36,28 +32,31 @@ gsid2mpr_CPPFLAGS = ${MET_CPPFLAGS} gsid2mpr_LDFLAGS = ${MET_LDFLAGS} gsid2mpr_LDADD = -lvx_stat_out \ -lvx_statistics \ + -lvx_shapedata \ -lvx_gsl_prob \ + -lvx_analysis_util \ + -lvx_shapedata \ + -lvx_util \ + $(PYTHON_LIBS) \ + -lvx_statistics \ -lvx_data2d_factory \ -lvx_data2d_nc_met \ - -lvx_data2d_grib $(GRIB2_LIBS) \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_data2d_grib $(GRIB2_LIBS) \ -lvx_data2d \ -lvx_nc_util \ -lvx_regrid \ -lvx_grid \ -lvx_config \ + -lvx_gsl_prob \ -lvx_cal \ -lvx_util \ -lvx_math \ -lvx_color \ -lvx_log \ - -lm -lnetcdf_c++4 -lnetcdf -lgsl -lgslcblas - -if ENABLE_PYTHON -gsid2mpr_LDADD += $(MET_PYTHON_LD) -lvx_data2d_python -lvx_python3_utils -lvx_data2d_python -lvx_python3_utils -endif + -lm -lnetcdf_c++4 -lnetcdf -lgsl -lgslcblas -lvx_util gsidens2orank_SOURCES = gsidens2orank.h \ gsi_record.h \ @@ -78,25 +77,29 @@ gsidens2orank_CPPFLAGS = ${MET_CPPFLAGS} gsidens2orank_LDFLAGS = ${MET_LDFLAGS} gsidens2orank_LDADD = -lvx_stat_out \ -lvx_statistics \ + -lvx_shapedata \ -lvx_gsl_prob \ + -lvx_analysis_util \ + -lvx_shapedata \ + -lvx_util \ + $(PYTHON_LIBS) \ + -lvx_statistics \ -lvx_data2d_factory \ -lvx_data2d_nc_met \ - -lvx_data2d_grib $(GRIB2_LIBS) \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_data2d_grib $(GRIB2_LIBS) \ -lvx_data2d \ -lvx_nc_util \ -lvx_regrid \ -lvx_grid \ -lvx_config \ + -lvx_gsl_prob \ -lvx_cal \ -lvx_util \ -lvx_math \ -lvx_color \ -lvx_log \ - -lm -lnetcdf_c++4 -lnetcdf -lgsl -lgslcblas + -lm -lnetcdf_c++4 -lnetcdf -lgsl -lgslcblas -lvx_util -if ENABLE_PYTHON -gsidens2orank_LDADD += $(MET_PYTHON_LD) -lvx_data2d_python -lvx_python3_utils -lvx_data2d_python -lvx_python3_utils -endif diff --git a/met/src/tools/other/ioda2nc/.gitignore b/met/src/tools/other/ioda2nc/.gitignore index 0d392220b0..58b6d8e6cc 100644 --- a/met/src/tools/other/ioda2nc/.gitignore +++ b/met/src/tools/other/ioda2nc/.gitignore @@ -5,3 +5,4 @@ ioda2nc .dirstamp Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/other/ioda2nc/Makefile.am b/met/src/tools/other/ioda2nc/Makefile.am index e4067043df..83d74ba5d1 100644 --- a/met/src/tools/other/ioda2nc/Makefile.am +++ b/met/src/tools/other/ioda2nc/Makefile.am @@ -26,6 +26,7 @@ ioda2nc_LDADD = -lvx_stat_out \ -lvx_data2d_nc_pinterp \ -lvx_data2d_nccf \ $(PYTHON_LIBS) \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_obs \ -lvx_nc_util \ diff --git a/met/src/tools/other/lidar2nc/.gitignore b/met/src/tools/other/lidar2nc/.gitignore index 25c289c10c..6a71017f06 100644 --- a/met/src/tools/other/lidar2nc/.gitignore +++ b/met/src/tools/other/lidar2nc/.gitignore @@ -4,3 +4,4 @@ lidar2nc .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/other/lidar2nc/Makefile.am b/met/src/tools/other/lidar2nc/Makefile.am index 7bf377b10a..118ea7efd4 100644 --- a/met/src/tools/other/lidar2nc/Makefile.am +++ b/met/src/tools/other/lidar2nc/Makefile.am @@ -26,6 +26,7 @@ lidar2nc_LDADD = -lvx_shapedata \ -lvx_data2d_nc_met \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_nc_obs \ -lvx_nc_util \ -lvx_data2d \ diff --git a/met/src/tools/other/madis2nc/.gitignore b/met/src/tools/other/madis2nc/.gitignore index 048a33b4e4..eb5b9c9238 100644 --- a/met/src/tools/other/madis2nc/.gitignore +++ b/met/src/tools/other/madis2nc/.gitignore @@ -4,3 +4,4 @@ madis2nc .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/other/madis2nc/Makefile.am b/met/src/tools/other/madis2nc/Makefile.am index f83950661e..e85cf3c975 100644 --- a/met/src/tools/other/madis2nc/Makefile.am +++ b/met/src/tools/other/madis2nc/Makefile.am @@ -25,6 +25,7 @@ madis2nc_LDADD = -lvx_stat_out \ -lvx_data2d_nc_pinterp \ -lvx_data2d_nccf \ $(PYTHON_LIBS) \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_obs \ -lvx_nc_util \ diff --git a/met/src/tools/other/mode_graphics/.gitignore b/met/src/tools/other/mode_graphics/.gitignore index c344a0a483..0026eae5fa 100644 --- a/met/src/tools/other/mode_graphics/.gitignore +++ b/met/src/tools/other/mode_graphics/.gitignore @@ -6,3 +6,4 @@ plot_mode_field .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/other/mode_graphics/Makefile.am b/met/src/tools/other/mode_graphics/Makefile.am index b360dbfb55..fc5e1f530b 100644 --- a/met/src/tools/other/mode_graphics/Makefile.am +++ b/met/src/tools/other/mode_graphics/Makefile.am @@ -27,6 +27,7 @@ plot_mode_field_LDADD = -lvx_config \ -lvx_plot_util \ -lvx_data2d_nc_met \ $(PYTHON_LIBS) \ + -lvx_statistics \ -lvx_grid \ -lvx_nc_util \ -lvx_ps \ diff --git a/met/src/tools/other/mode_time_domain/.gitignore b/met/src/tools/other/mode_time_domain/.gitignore index 16272bfe7d..15cbce0f9f 100644 --- a/met/src/tools/other/mode_time_domain/.gitignore +++ b/met/src/tools/other/mode_time_domain/.gitignore @@ -6,3 +6,4 @@ mtd .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/other/mode_time_domain/Makefile.am b/met/src/tools/other/mode_time_domain/Makefile.am index 9b5d9df97f..fde9fbe977 100644 --- a/met/src/tools/other/mode_time_domain/Makefile.am +++ b/met/src/tools/other/mode_time_domain/Makefile.am @@ -55,6 +55,7 @@ mtd_LDADD = -lvx_pxm \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_util \ -lvx_regrid \ diff --git a/met/src/tools/other/modis_regrid/.gitignore b/met/src/tools/other/modis_regrid/.gitignore index 5659a845bd..de709555ac 100644 --- a/met/src/tools/other/modis_regrid/.gitignore +++ b/met/src/tools/other/modis_regrid/.gitignore @@ -4,3 +4,4 @@ modis_regrid .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/other/modis_regrid/Makefile.am b/met/src/tools/other/modis_regrid/Makefile.am index 843d226bbc..e63afad3f0 100644 --- a/met/src/tools/other/modis_regrid/Makefile.am +++ b/met/src/tools/other/modis_regrid/Makefile.am @@ -36,8 +36,10 @@ modis_regrid_LDADD = -lvx_pxm \ -lvx_data2d_grib $(GRIB2_LIBS) \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_util \ + -lvx_regrid \ -lvx_grid \ -lvx_config \ -lvx_gsl_prob \ diff --git a/met/src/tools/other/pb2nc/.gitignore b/met/src/tools/other/pb2nc/.gitignore index db0fc32617..ec395e3290 100644 --- a/met/src/tools/other/pb2nc/.gitignore +++ b/met/src/tools/other/pb2nc/.gitignore @@ -5,3 +5,4 @@ pb2nc .dirstamp Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/other/pb2nc/Makefile.am b/met/src/tools/other/pb2nc/Makefile.am index 40ed36c2d2..6eb653a1d0 100644 --- a/met/src/tools/other/pb2nc/Makefile.am +++ b/met/src/tools/other/pb2nc/Makefile.am @@ -42,6 +42,7 @@ pb2nc_LDADD = -lvx_stat_out \ -lvx_data2d_nc_pinterp \ -lvx_data2d_nccf \ $(PYTHON_LIBS) \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_obs \ -lvx_nc_util \ diff --git a/met/src/tools/other/plot_data_plane/.gitignore b/met/src/tools/other/plot_data_plane/.gitignore index fb45412645..ba23c68111 100644 --- a/met/src/tools/other/plot_data_plane/.gitignore +++ b/met/src/tools/other/plot_data_plane/.gitignore @@ -4,3 +4,4 @@ plot_data_plane .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/other/plot_data_plane/Makefile.am b/met/src/tools/other/plot_data_plane/Makefile.am index 5470661e67..3997aaf742 100644 --- a/met/src/tools/other/plot_data_plane/Makefile.am +++ b/met/src/tools/other/plot_data_plane/Makefile.am @@ -20,6 +20,7 @@ plot_data_plane_LDADD = -lvx_data2d_factory \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_nc_util \ -lvx_data2d \ -lvx_plot_util \ @@ -30,6 +31,7 @@ plot_data_plane_LDADD = -lvx_data2d_factory \ -lvx_afm \ -lvx_nav \ -lvx_gnomon \ + -lvx_regrid \ -lvx_grid \ -lvx_config \ -lvx_gsl_prob \ diff --git a/met/src/tools/other/plot_point_obs/.gitignore b/met/src/tools/other/plot_point_obs/.gitignore index 675f1ad662..c09f77682e 100644 --- a/met/src/tools/other/plot_point_obs/.gitignore +++ b/met/src/tools/other/plot_point_obs/.gitignore @@ -4,3 +4,4 @@ plot_point_obs .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/other/plot_point_obs/Makefile.am b/met/src/tools/other/plot_point_obs/Makefile.am index 677a41a5b4..77e7c1711d 100644 --- a/met/src/tools/other/plot_point_obs/Makefile.am +++ b/met/src/tools/other/plot_point_obs/Makefile.am @@ -40,6 +40,7 @@ plot_point_obs_LDADD = -lvx_statistics \ -lvx_cal \ -lvx_util \ $(PYTHON_LIBS) \ + -lvx_statistics \ -lvx_math \ -lvx_color \ -lvx_log \ diff --git a/met/src/tools/other/point2grid/.gitignore b/met/src/tools/other/point2grid/.gitignore index 7fc724ecfb..c86ed97c54 100644 --- a/met/src/tools/other/point2grid/.gitignore +++ b/met/src/tools/other/point2grid/.gitignore @@ -4,3 +4,4 @@ point2grid .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/other/point2grid/Makefile.am b/met/src/tools/other/point2grid/Makefile.am index 054a049df7..ccd38b1ac5 100644 --- a/met/src/tools/other/point2grid/Makefile.am +++ b/met/src/tools/other/point2grid/Makefile.am @@ -22,6 +22,7 @@ point2grid_LDADD = -lvx_statistics \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_nc_util \ -lvx_data2d \ -lvx_gnomon \ diff --git a/met/src/tools/other/regrid_data_plane/.gitignore b/met/src/tools/other/regrid_data_plane/.gitignore index 2bddf9a131..3b5934adac 100644 --- a/met/src/tools/other/regrid_data_plane/.gitignore +++ b/met/src/tools/other/regrid_data_plane/.gitignore @@ -4,3 +4,4 @@ regrid_data_plane .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/other/regrid_data_plane/Makefile.am b/met/src/tools/other/regrid_data_plane/Makefile.am index 8c28e3f93f..32bbc91cea 100644 --- a/met/src/tools/other/regrid_data_plane/Makefile.am +++ b/met/src/tools/other/regrid_data_plane/Makefile.am @@ -21,6 +21,7 @@ regrid_data_plane_LDADD = -lvx_statistics \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_nc_util \ -lvx_data2d \ -lvx_gnomon \ diff --git a/met/src/tools/other/shift_data_plane/.gitignore b/met/src/tools/other/shift_data_plane/.gitignore index 84942ecee1..b539a2f8c3 100644 --- a/met/src/tools/other/shift_data_plane/.gitignore +++ b/met/src/tools/other/shift_data_plane/.gitignore @@ -4,3 +4,4 @@ shift_data_plane .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/other/shift_data_plane/Makefile.am b/met/src/tools/other/shift_data_plane/Makefile.am index 67e02fcfea..af2d6875b8 100644 --- a/met/src/tools/other/shift_data_plane/Makefile.am +++ b/met/src/tools/other/shift_data_plane/Makefile.am @@ -21,6 +21,7 @@ shift_data_plane_LDADD = -lvx_statistics \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_nc_util \ -lvx_data2d \ -lvx_gnomon \ diff --git a/met/src/tools/other/wwmca_tool/.gitignore b/met/src/tools/other/wwmca_tool/.gitignore index a144c3a35d..ebecdacf1a 100644 --- a/met/src/tools/other/wwmca_tool/.gitignore +++ b/met/src/tools/other/wwmca_tool/.gitignore @@ -7,3 +7,4 @@ wwmca_plot .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/other/wwmca_tool/Makefile.am b/met/src/tools/other/wwmca_tool/Makefile.am index 7972849bf4..ba4e6d5e69 100644 --- a/met/src/tools/other/wwmca_tool/Makefile.am +++ b/met/src/tools/other/wwmca_tool/Makefile.am @@ -44,6 +44,7 @@ wwmca_regrid_LDADD = -lvx_pxm \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_util \ -lvx_regrid \ diff --git a/met/src/tools/tc_utils/.gitignore b/met/src/tools/tc_utils/.gitignore index 6c6a5a4f31..1295d44db5 100644 --- a/met/src/tools/tc_utils/.gitignore +++ b/met/src/tools/tc_utils/.gitignore @@ -3,3 +3,4 @@ .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/tc_utils/rmw_analysis/.gitignore b/met/src/tools/tc_utils/rmw_analysis/.gitignore index 077554915a..ca237511e7 100644 --- a/met/src/tools/tc_utils/rmw_analysis/.gitignore +++ b/met/src/tools/tc_utils/rmw_analysis/.gitignore @@ -4,3 +4,4 @@ rmw_analysis .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/tc_utils/rmw_analysis/Makefile.am b/met/src/tools/tc_utils/rmw_analysis/Makefile.am index eca92181cd..61223d7f69 100644 --- a/met/src/tools/tc_utils/rmw_analysis/Makefile.am +++ b/met/src/tools/tc_utils/rmw_analysis/Makefile.am @@ -26,6 +26,7 @@ rmw_analysis_LDADD = -lvx_stat_out \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_util \ -lvx_regrid \ diff --git a/met/src/tools/tc_utils/tc_dland/.gitignore b/met/src/tools/tc_utils/tc_dland/.gitignore index 75c82825a6..483d24cffa 100644 --- a/met/src/tools/tc_utils/tc_dland/.gitignore +++ b/met/src/tools/tc_utils/tc_dland/.gitignore @@ -4,3 +4,4 @@ tc_dland .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/tc_utils/tc_gen/.gitignore b/met/src/tools/tc_utils/tc_gen/.gitignore index 7b8c809236..28c0ebbfe4 100644 --- a/met/src/tools/tc_utils/tc_gen/.gitignore +++ b/met/src/tools/tc_utils/tc_gen/.gitignore @@ -4,3 +4,4 @@ tc_gen .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/tc_utils/tc_gen/Makefile.am b/met/src/tools/tc_utils/tc_gen/Makefile.am index 4865e6a517..281811cd88 100644 --- a/met/src/tools/tc_utils/tc_gen/Makefile.am +++ b/met/src/tools/tc_utils/tc_gen/Makefile.am @@ -27,6 +27,7 @@ tc_gen_LDADD = -lvx_stat_out \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_util \ -lvx_regrid \ diff --git a/met/src/tools/tc_utils/tc_pairs/.gitignore b/met/src/tools/tc_utils/tc_pairs/.gitignore index d13a56b286..d69eaeca53 100644 --- a/met/src/tools/tc_utils/tc_pairs/.gitignore +++ b/met/src/tools/tc_utils/tc_pairs/.gitignore @@ -4,3 +4,4 @@ tc_pairs .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/tc_utils/tc_pairs/Makefile.am b/met/src/tools/tc_utils/tc_pairs/Makefile.am index 56d6239e2f..d5d4436698 100644 --- a/met/src/tools/tc_utils/tc_pairs/Makefile.am +++ b/met/src/tools/tc_utils/tc_pairs/Makefile.am @@ -29,6 +29,7 @@ tc_pairs_LDADD = -lvx_stat_out \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_util \ -lvx_regrid \ diff --git a/met/src/tools/tc_utils/tc_rmw/.gitignore b/met/src/tools/tc_utils/tc_rmw/.gitignore index b540dddec0..4f555bc016 100644 --- a/met/src/tools/tc_utils/tc_rmw/.gitignore +++ b/met/src/tools/tc_utils/tc_rmw/.gitignore @@ -4,3 +4,4 @@ tc_rmw .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/tc_utils/tc_rmw/Makefile.am b/met/src/tools/tc_utils/tc_rmw/Makefile.am index 5aed64e561..43d075577c 100644 --- a/met/src/tools/tc_utils/tc_rmw/Makefile.am +++ b/met/src/tools/tc_utils/tc_rmw/Makefile.am @@ -26,6 +26,7 @@ tc_rmw_LDADD = -lvx_stat_out \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_util \ -lvx_regrid \ diff --git a/met/src/tools/tc_utils/tc_stat/.gitignore b/met/src/tools/tc_utils/tc_stat/.gitignore index d18583f8b8..8f7a38909c 100644 --- a/met/src/tools/tc_utils/tc_stat/.gitignore +++ b/met/src/tools/tc_utils/tc_stat/.gitignore @@ -4,3 +4,4 @@ tc_stat .deps Makefile Makefile.in +*.dSYM diff --git a/met/src/tools/tc_utils/tc_stat/Makefile.am b/met/src/tools/tc_utils/tc_stat/Makefile.am index 413d2a5141..06b56431ce 100644 --- a/met/src/tools/tc_utils/tc_stat/Makefile.am +++ b/met/src/tools/tc_utils/tc_stat/Makefile.am @@ -29,6 +29,7 @@ tc_stat_LDADD = -lvx_stat_out \ -lvx_data2d_nc_pinterp \ $(PYTHON_LIBS) \ -lvx_data2d_nccf \ + -lvx_statistics \ -lvx_data2d \ -lvx_nc_util \ -lvx_regrid \ diff --git a/test/xml/unit_python.xml b/test/xml/unit_python.xml index 58936ecbad..1c89950159 100644 --- a/test/xml/unit_python.xml +++ b/test/xml/unit_python.xml @@ -19,6 +19,68 @@ &TEST_DIR; true + + + &MET_BIN;/plot_data_plane + + PYTHON_GRID G212 + + \ + PYTHON_NUMPY \ + &OUTPUT_DIR;/python/letter_numpy_grid_name.ps \ + 'name = "&MET_BASE;/python/read_ascii_numpy_grid.py &DATA_DIR_PYTHON;/letter.txt LETTER";' \ + -plot_range 0.0 255.0 \ + -title "Grid Name: 'G212'" \ + -v 1 + + + &OUTPUT_DIR;/python/letter_numpy_grid_name.ps + + + + + + &MET_BIN;/plot_data_plane + + + PYTHON_GRID + lambert 185 129 12.19 -133.459 -95 40.635 6371.2 25 25 N + + + \ + PYTHON_NUMPY \ + &OUTPUT_DIR;/python/letter_numpy_grid_string.ps \ + 'name = "&MET_BASE;/python/read_ascii_numpy_grid.py &DATA_DIR_PYTHON;/letter.txt LETTER";' \ + -plot_range 0.0 255.0 \ + -title "Grid String: 'lambert 185 129 12.19 -133.459 -95 40.635 6371.2 25 25 N'" \ + -v 1 + + + &OUTPUT_DIR;/python/letter_numpy_grid_string.ps + + + + + + &MET_BIN;/plot_data_plane + + + PYTHON_GRID + &MET_DATA;/sample_fcst/2005080700/wrfprs_ruc13_12.tm00_G212 + + \ + PYTHON_NUMPY \ + &OUTPUT_DIR;/python/letter_numpy_grid_data_file.ps \ + 'name = "&MET_BASE;/python/read_ascii_numpy_grid.py &DATA_DIR_PYTHON;/letter.txt LETTER";' \ + -plot_range 0.0 255.0 \ + -title "Gridded Data File: 'wrfprs_ruc13_12.tm00_G212'" \ + -v 1 + + + &OUTPUT_DIR;/python/letter_numpy_grid_data_file.ps + + + &MET_BIN;/plot_data_plane diff --git a/test/xml/unit_stat_analysis.xml b/test/xml/unit_stat_analysis.xml index 0d5fa6edc4..799011f8a6 100644 --- a/test/xml/unit_stat_analysis.xml +++ b/test/xml/unit_stat_analysis.xml @@ -74,6 +74,22 @@ + + &MET_BIN;/stat_analysis + \ + -lookin &OUTPUT_DIR;/ensemble_stat/ensemble_stat_SKIP_CONST_20120410_120000V.stat \ + -job aggregate -line_type ECNT -by FCST_VAR -obs_thresh NA -vx_mask NWC,GRB \ + -dump_row &OUTPUT_DIR;/stat_analysis/AGG_ECNT_dump.stat \ + -out_stat &OUTPUT_DIR;/stat_analysis/AGG_ECNT_out.stat \ + -set_hdr VX_MASK NWC_AND_GRB \ + -v 1 + + + &OUTPUT_DIR;/stat_analysis/AGG_ECNT_dump.stat + &OUTPUT_DIR;/stat_analysis/AGG_ECNT_out.stat + + + &MET_BIN;/stat_analysis \