From ed440b503a2e6aa62134a1152aa4601aecac6b00 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Tue, 16 Jan 2024 11:56:51 -0700
Subject: [PATCH 1/2] Update develop-ref after dtcenter/MET#2758 (#2789)
* Store change of sonar.login to sonar.token.
* Hotfix to develop, updating aclocal.m4 and config.h.in to what is created when running bootstrap inside the dtcenter/met-base:v3.1 Docker image. Updates autoconf 2.69 output to 2.71.
* Adding -lnetcdf to configure_lib_args for NetCDF-CXX compilation
* Added eckit and atlas loads and paths
* Added atlas and eckit loads and paths
* Changing -j to "-j 5" as the recommended value
* Update ensemble-stat.rst
Fixed incorrect path to obs error table
* Updated values for GRIB2CLIB_NAME and BUFRLIB_NAME
* Updated for proj, eckit, and atlas
* Feature #2761 develop seneca (#2762)
* Per #2761, define runtime python version for testing rather than using the default version which no longer exists in /usr/local
* Per #2761, fix setting ci-skip-all
* Per #2761, patching test_util.R to use the -C command line option for ncdiff. I did test running comp_dir.sh with this change and confirmed that it now runs to completion.
* #2652 Added find_var_by_standard_name and separated common codes to find_xy_vars
* #2757 Get the email list from the environment variable MET_CRON_EMAIL_LIST__MET (or MET_CRON_EMAIL_LIST_)
* #2757 THe SonarQube token and URL are replaced by ujsing the environment variable SONAR_TOKEN_VALUE and SONAR_SERVER_URL
* #2757 The SonarQube token and URL are replaced with the pre-defined strings, SONAR_TOKEN_VALUE and SONAR_SERVER_URL
* Bugfix #2670 develop --enable-python (#2768)
* Update install_met_env.acorn_py3.10
* Update install_met_env.wcoss2_py3.10
* Feature #2776 cleanup (#2777)
* Per #2776, delete stale prob_pair_info.h/.cc, wwmca_utils.h/.cc, and rmw_analysis_utils.h/.cc files that were not being compiled by their Makefiles.
* Per #2776, update Makefile to compile the test_read_rmw utility.
* Per #2776, add Makefile for the vx_python3_utils test utility directory.
* add rpath for atlas and eckit lib dirs so dynamic libraries can be found when running on seneca
* only set -L and -I arguments for atlas and eckit if the appropriate environment variable is set -- this matches how it is handled for other external library dependencies
* Per #2776, just whitespace and capitalization
---------
Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>
* Bugfix #2782 develop MASSDEN (#2783)
* Per #2782, port over fixes from the bugfix_2782_main_v11.1_MASSDEN branch over to the bugfix branch for develop. Will also add new GRIB2 filtering options in this branch.
* Per #2782, add support for 4 new GRIB2 filtering options for GRIB2_aerosol_type, GRIB2_aerosol_interval_type, GRIB2_aerosol_size_lower, and GRIB2_aerosol_size_upper. These are useful in filtering the MASSDEN records in the RRFS smoke output files.
* Per #2782, fix aerosol_size_lower() and aersol_size_upper() inline definitions.
* Per #2782, add a unit test for GRIB2 table 4.48.
* Per #2782, switch from strict equality to using the is_eq() function when checking the GRIB2_aerosol_size_lower and upper values since they're doubles and not ints.
* Feature #2701 ismn (#2758)
* Add support for ISMN soil moisture data
* Per #2701, update ascii2nc.cc with the ismn file option.
* Per #2701, update ascii2nc docs
* Per #2701, store the depth for precip as 0.
* Per #2701, parse the ISMN observation value from the correct column.
* Per #2701, every time I run ascii2nc to I see a log message for 'DEBUG 1: Number of NDBC skipped files due to no lookup 0'. This is printed by the NdbcHandler destructor. Update the logic to only print a debug level 3 log message when the number of missing locations is greater than 0, 'DEBUG 3: Skipped 5 NDBC files whose locations are not defined in 'MET_BASE/table_files/ndbc_stations.xml'. Set the MET_NDBC_STATIONS environment variable to override this file.'
* Per #2701, as instructed by @anewman89, store the average of the depth values rather than the maximum value.
* Per #2701, add a test of processing the ISMN data through ascii2nc.
* Per #2701, fix parsing of year and month to subtract 1900 and 1, respectively.
* Per #2701, set use_var_id to true for ISMN inputs
* Per #2701, even though we're mapping obs data to GRIB code names and units, we want to encode them with use_var_id = true and so we need to keep track of those var_id values.
* Per #2701, fix typo in the name of the ascii2nc netcdf output file.
---------
Co-authored-by: MET Tools Test Account
---------
Co-authored-by: MET Tools Test Account
Co-authored-by: root
Co-authored-by: Julie Prestopnik
Co-authored-by: Christina Kalb
Co-authored-by: John Halley Gotway
Co-authored-by: Howard Soh
Co-authored-by: Howard Soh
Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>
Co-authored-by: metplus-bot <97135045+metplus-bot@users.noreply.github.com>
---
docs/Users_Guide/reformat_point.rst | 4 +-
internal/test_unit/xml/unit_ascii2nc.xml | 13 +-
src/tools/other/ascii2nc/Makefile.am | 4 +-
src/tools/other/ascii2nc/Makefile.in | 28 ++-
src/tools/other/ascii2nc/aeronet_handler.h | 6 +-
src/tools/other/ascii2nc/airnow_handler.cc | 2 +-
src/tools/other/ascii2nc/airnow_handler.h | 6 +-
src/tools/other/ascii2nc/ascii2nc.cc | 27 ++-
src/tools/other/ascii2nc/file_handler.h | 6 +-
src/tools/other/ascii2nc/ismn_handler.cc | 255 ++++++++++++++++++++
src/tools/other/ascii2nc/ismn_handler.h | 154 ++++++++++++
src/tools/other/ascii2nc/little_r_handler.h | 6 +-
src/tools/other/ascii2nc/met_handler.h | 6 +-
src/tools/other/ascii2nc/ndbc_handler.cc | 13 +-
src/tools/other/ascii2nc/ndbc_handler.h | 4 +-
src/tools/other/ascii2nc/surfrad_handler.h | 6 +-
src/tools/other/ascii2nc/wwsis_handler.h | 6 +-
17 files changed, 510 insertions(+), 36 deletions(-)
create mode 100644 src/tools/other/ascii2nc/ismn_handler.cc
create mode 100644 src/tools/other/ascii2nc/ismn_handler.h
diff --git a/docs/Users_Guide/reformat_point.rst b/docs/Users_Guide/reformat_point.rst
index d21586ebed..31d752a6f3 100644
--- a/docs/Users_Guide/reformat_point.rst
+++ b/docs/Users_Guide/reformat_point.rst
@@ -456,6 +456,8 @@ While initial versions of the ASCII2NC tool only supported a simple 11 column AS
• `National Data Buoy (NDBC) Standard Meteorlogical Data format `_. See the :ref:`MET_NDBC_STATIONS` environment variable.
+• `International Soil Moisture Network (ISMN) Data format `_.
+
• `AErosol RObotic NEtwork (AERONET) versions 2 and 3 format `_
• Python embedding of point observations, as described in :numref:`pyembed-point-obs-data`. See example below in :numref:`ascii2nc-pyembed`.
@@ -539,7 +541,7 @@ Required Arguments for ascii2nc
Optional Arguments for ascii2nc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-3. The **-format ASCII_format** option may be set to "met_point", "little_r", "surfrad", "wwsis", "airnowhourlyaqobs", "airnowhourly", "airnowdaily_v2", "ndbc_standard", "aeronet", "aeronetv2", "aeronetv3", or "python". If passing in ISIS data, use the "surfrad" format flag.
+3. The **-format ASCII_format** option may be set to "met_point", "little_r", "surfrad", "wwsis", "airnowhourlyaqobs", "airnowhourly", "airnowdaily_v2", "ndbc_standard", "ismn", "aeronet", "aeronetv2", "aeronetv3", or "python". If passing in ISIS data, use the "surfrad" format flag.
4. The **-config file** option is the configuration file for generating time summaries.
diff --git a/internal/test_unit/xml/unit_ascii2nc.xml b/internal/test_unit/xml/unit_ascii2nc.xml
index 77f445e1c0..2dd9df07e7 100644
--- a/internal/test_unit/xml/unit_ascii2nc.xml
+++ b/internal/test_unit/xml/unit_ascii2nc.xml
@@ -199,7 +199,16 @@
-
-
+
+ &MET_BIN;/ascii2nc
+ \
+ -format ismn \
+ &DATA_DIR_OBS;/ismn/SNOTEL/*/*.stm \
+ &OUTPUT_DIR;/ascii2nc/ismn_SNOTEL_20220924_20220927.nc
+
+
+
diff --git a/src/tools/other/ascii2nc/Makefile.am b/src/tools/other/ascii2nc/Makefile.am
index ae5cf6402c..f4cef08512 100644
--- a/src/tools/other/ascii2nc/Makefile.am
+++ b/src/tools/other/ascii2nc/Makefile.am
@@ -28,7 +28,9 @@ ascii2nc_SOURCES = ascii2nc.cc \
ndbc_handler.cc ndbc_handler.h \
ndbc_locations.cc ndbc_locations.h \
airnow_locations.cc airnow_locations.h \
- aeronet_handler.cc aeronet_handler.h $(OPT_PYTHON_SOURCES)
+ aeronet_handler.cc aeronet_handler.h \
+ ismn_handler.cc ismn_handler.h \
+ $(OPT_PYTHON_SOURCES)
ascii2nc_CPPFLAGS = ${MET_CPPFLAGS} -I../../../basic/vx_log
ascii2nc_LDFLAGS = ${MET_LDFLAGS}
diff --git a/src/tools/other/ascii2nc/Makefile.in b/src/tools/other/ascii2nc/Makefile.in
index 00f20b1511..ea6e06e27f 100644
--- a/src/tools/other/ascii2nc/Makefile.in
+++ b/src/tools/other/ascii2nc/Makefile.in
@@ -110,7 +110,8 @@ am__ascii2nc_SOURCES_DIST = ascii2nc.cc ascii2nc_conf_info.cc \
airnow_handler.h ndbc_handler.cc ndbc_handler.h \
ndbc_locations.cc ndbc_locations.h airnow_locations.cc \
airnow_locations.h aeronet_handler.cc aeronet_handler.h \
- python_handler.h python_handler.cc
+ ismn_handler.cc ismn_handler.h python_handler.h \
+ python_handler.cc
@ENABLE_PYTHON_TRUE@am__objects_1 = ascii2nc-python_handler.$(OBJEXT)
am__objects_2 = $(am__objects_1)
am_ascii2nc_OBJECTS = ascii2nc-ascii2nc.$(OBJEXT) \
@@ -124,7 +125,8 @@ am_ascii2nc_OBJECTS = ascii2nc-ascii2nc.$(OBJEXT) \
ascii2nc-ndbc_handler.$(OBJEXT) \
ascii2nc-ndbc_locations.$(OBJEXT) \
ascii2nc-airnow_locations.$(OBJEXT) \
- ascii2nc-aeronet_handler.$(OBJEXT) $(am__objects_2)
+ ascii2nc-aeronet_handler.$(OBJEXT) \
+ ascii2nc-ismn_handler.$(OBJEXT) $(am__objects_2)
ascii2nc_OBJECTS = $(am_ascii2nc_OBJECTS)
am__DEPENDENCIES_1 =
ascii2nc_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
@@ -153,6 +155,7 @@ am__depfiles_remade = ./$(DEPDIR)/ascii2nc-aeronet_handler.Po \
./$(DEPDIR)/ascii2nc-ascii2nc.Po \
./$(DEPDIR)/ascii2nc-ascii2nc_conf_info.Po \
./$(DEPDIR)/ascii2nc-file_handler.Po \
+ ./$(DEPDIR)/ascii2nc-ismn_handler.Po \
./$(DEPDIR)/ascii2nc-little_r_handler.Po \
./$(DEPDIR)/ascii2nc-met_handler.Po \
./$(DEPDIR)/ascii2nc-ndbc_handler.Po \
@@ -387,7 +390,9 @@ ascii2nc_SOURCES = ascii2nc.cc \
ndbc_handler.cc ndbc_handler.h \
ndbc_locations.cc ndbc_locations.h \
airnow_locations.cc airnow_locations.h \
- aeronet_handler.cc aeronet_handler.h $(OPT_PYTHON_SOURCES)
+ aeronet_handler.cc aeronet_handler.h \
+ ismn_handler.cc ismn_handler.h \
+ $(OPT_PYTHON_SOURCES)
ascii2nc_CPPFLAGS = ${MET_CPPFLAGS} -I../../../basic/vx_log
ascii2nc_LDFLAGS = ${MET_LDFLAGS}
@@ -514,6 +519,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ascii2nc-ascii2nc.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ascii2nc-ascii2nc_conf_info.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ascii2nc-file_handler.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ascii2nc-ismn_handler.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ascii2nc-little_r_handler.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ascii2nc-met_handler.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ascii2nc-ndbc_handler.Po@am__quote@ # am--include-marker
@@ -710,6 +716,20 @@ ascii2nc-aeronet_handler.obj: aeronet_handler.cc
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ascii2nc_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ascii2nc-aeronet_handler.obj `if test -f 'aeronet_handler.cc'; then $(CYGPATH_W) 'aeronet_handler.cc'; else $(CYGPATH_W) '$(srcdir)/aeronet_handler.cc'; fi`
+ascii2nc-ismn_handler.o: ismn_handler.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ascii2nc_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ascii2nc-ismn_handler.o -MD -MP -MF $(DEPDIR)/ascii2nc-ismn_handler.Tpo -c -o ascii2nc-ismn_handler.o `test -f 'ismn_handler.cc' || echo '$(srcdir)/'`ismn_handler.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ascii2nc-ismn_handler.Tpo $(DEPDIR)/ascii2nc-ismn_handler.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='ismn_handler.cc' object='ascii2nc-ismn_handler.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ascii2nc_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ascii2nc-ismn_handler.o `test -f 'ismn_handler.cc' || echo '$(srcdir)/'`ismn_handler.cc
+
+ascii2nc-ismn_handler.obj: ismn_handler.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ascii2nc_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ascii2nc-ismn_handler.obj -MD -MP -MF $(DEPDIR)/ascii2nc-ismn_handler.Tpo -c -o ascii2nc-ismn_handler.obj `if test -f 'ismn_handler.cc'; then $(CYGPATH_W) 'ismn_handler.cc'; else $(CYGPATH_W) '$(srcdir)/ismn_handler.cc'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ascii2nc-ismn_handler.Tpo $(DEPDIR)/ascii2nc-ismn_handler.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='ismn_handler.cc' object='ascii2nc-ismn_handler.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ascii2nc_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ascii2nc-ismn_handler.obj `if test -f 'ismn_handler.cc'; then $(CYGPATH_W) 'ismn_handler.cc'; else $(CYGPATH_W) '$(srcdir)/ismn_handler.cc'; fi`
+
ascii2nc-python_handler.o: python_handler.cc
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ascii2nc_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ascii2nc-python_handler.o -MD -MP -MF $(DEPDIR)/ascii2nc-python_handler.Tpo -c -o ascii2nc-python_handler.o `test -f 'python_handler.cc' || echo '$(srcdir)/'`python_handler.cc
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ascii2nc-python_handler.Tpo $(DEPDIR)/ascii2nc-python_handler.Po
@@ -857,6 +877,7 @@ distclean: distclean-am
-rm -f ./$(DEPDIR)/ascii2nc-ascii2nc.Po
-rm -f ./$(DEPDIR)/ascii2nc-ascii2nc_conf_info.Po
-rm -f ./$(DEPDIR)/ascii2nc-file_handler.Po
+ -rm -f ./$(DEPDIR)/ascii2nc-ismn_handler.Po
-rm -f ./$(DEPDIR)/ascii2nc-little_r_handler.Po
-rm -f ./$(DEPDIR)/ascii2nc-met_handler.Po
-rm -f ./$(DEPDIR)/ascii2nc-ndbc_handler.Po
@@ -915,6 +936,7 @@ maintainer-clean: maintainer-clean-am
-rm -f ./$(DEPDIR)/ascii2nc-ascii2nc.Po
-rm -f ./$(DEPDIR)/ascii2nc-ascii2nc_conf_info.Po
-rm -f ./$(DEPDIR)/ascii2nc-file_handler.Po
+ -rm -f ./$(DEPDIR)/ascii2nc-ismn_handler.Po
-rm -f ./$(DEPDIR)/ascii2nc-little_r_handler.Po
-rm -f ./$(DEPDIR)/ascii2nc-met_handler.Po
-rm -f ./$(DEPDIR)/ascii2nc-ndbc_handler.Po
diff --git a/src/tools/other/ascii2nc/aeronet_handler.h b/src/tools/other/ascii2nc/aeronet_handler.h
index ec64202944..e835a91602 100644
--- a/src/tools/other/ascii2nc/aeronet_handler.h
+++ b/src/tools/other/ascii2nc/aeronet_handler.h
@@ -10,8 +10,8 @@
////////////////////////////////////////////////////////////////////////
-#ifndef __AERONETHANDLER_H__
-#define __AERONETHANDLER_H__
+#ifndef __AERONET_HANDLER_H__
+#define __AERONET_HANDLER_H__
////////////////////////////////////////////////////////////////////////
@@ -125,7 +125,7 @@ class AeronetHandler : public FileHandler
////////////////////////////////////////////////////////////////////////
-#endif /* __AERONETHANDLER_H__ */
+#endif /* __AERONET_HANDLER_H__ */
////////////////////////////////////////////////////////////////////////
diff --git a/src/tools/other/ascii2nc/airnow_handler.cc b/src/tools/other/ascii2nc/airnow_handler.cc
index a5542b642c..74525c6139 100644
--- a/src/tools/other/ascii2nc/airnow_handler.cc
+++ b/src/tools/other/ascii2nc/airnow_handler.cc
@@ -648,7 +648,7 @@ time_t AirnowHandler::_getValidTime(const string &dateStr, const string &timeStr
struct tm time_struct;
memset(&time_struct, 0, sizeof(time_struct));
- time_struct.tm_year = atoi(year.c_str()) -1900;
+ time_struct.tm_year = atoi(year.c_str()) - 1900;
time_struct.tm_mon = atoi(mon.c_str()) - 1;
time_struct.tm_mday = atoi(mday.c_str());
time_struct.tm_hour = atoi(hour.c_str());
diff --git a/src/tools/other/ascii2nc/airnow_handler.h b/src/tools/other/ascii2nc/airnow_handler.h
index 9064c5ce70..beef7bf0d5 100644
--- a/src/tools/other/ascii2nc/airnow_handler.h
+++ b/src/tools/other/ascii2nc/airnow_handler.h
@@ -10,8 +10,8 @@
////////////////////////////////////////////////////////////////////////
-#ifndef __AIRNOWHANDLER_H__
-#define __AIRNOWHANDLER_H__
+#ifndef __AIRNOW_HANDLER_H__
+#define __AIRNOW_HANDLER_H__
////////////////////////////////////////////////////////////////////////
@@ -198,7 +198,7 @@ class AirnowHandler : public FileHandler
////////////////////////////////////////////////////////////////////////
-#endif /* __AERONETHANDLER_H__ */
+#endif /* __AERONET_HANDLER_H__ */
////////////////////////////////////////////////////////////////////////
diff --git a/src/tools/other/ascii2nc/ascii2nc.cc b/src/tools/other/ascii2nc/ascii2nc.cc
index 19cfa25549..9caecd0481 100644
--- a/src/tools/other/ascii2nc/ascii2nc.cc
+++ b/src/tools/other/ascii2nc/ascii2nc.cc
@@ -48,7 +48,8 @@
// 019 07/06/22 Howard Soh METplus-Internal #19 Rename main to met_main
// 020 08/26/22 Dave Albo MET #2142 Add AirNow observations
// 021 10/03/22 Prestopnik MET #2227 Remove using namespace std from header files
-// 022 10/07/22 Dave Albo MET #2276 Add NDBC Buoy data
+// 022 10/07/22 Dave Albo MET #2276 Add NDBC buoy data
+// 023 11/28/23 Halley Gotway MET #2701 Add ISMN soil moisture data
//
////////////////////////////////////////////////////////////////////////
@@ -86,6 +87,7 @@ using namespace std;
#include "aeronet_handler.h"
#include "airnow_handler.h"
#include "ndbc_handler.h"
+#include "ismn_handler.h"
#ifdef ENABLE_PYTHON
#include "global_python.h"
@@ -113,6 +115,7 @@ enum ASCIIFormat {
ASCIIFormat_Airnow_hourlyaqobs,
ASCIIFormat_Airnow_hourly,
ASCIIFormat_NDBC_standard,
+ ASCIIFormat_ISMN,
ASCIIFormat_Aeronet_v2,
ASCIIFormat_Aeronet_v3,
ASCIIFormat_Python,
@@ -322,6 +325,10 @@ FileHandler *create_file_handler(const ASCIIFormat format, const ConcatString &a
return((FileHandler *) handler);
}
+ case ASCIIFormat_ISMN: {
+ return((FileHandler *) new IsmnHandler(program_name));
+ }
+
case ASCIIFormat_Aeronet_v2: {
AeronetHandler *handler = new AeronetHandler(program_name);
handler->setFormatVersion(2);
@@ -459,9 +466,21 @@ FileHandler *determine_ascii_format(const ConcatString &ascii_filename) {
delete ndbc_file;
//
- // If we get here, we didn't recognize the file contents.
+ // See if this is an ISMN file.
//
+ f_in.rewind();
+ IsmnHandler *ismn_file = new IsmnHandler(program_name);
+
+ if(ismn_file->isFileType(f_in)) {
+ f_in.close();
+ return((FileHandler *) ismn_file);
+ }
+
+ delete ismn_file;
+ //
+ // If we get here, we didn't recognize the file contents.
+ //
mlog << Error << "\ndetermine_ascii_format() -> "
<< "could not determine file format based on file contents\n\n";
@@ -503,6 +522,7 @@ void usage() {
<< AirnowHandler::getFormatStringHourlyAqObs() << "\", \""
<< AirnowHandler::getFormatStringHourly() << "\", \""
<< NdbcHandler::getFormatStringStandard() << "\", \""
+ << IsmnHandler::getFormatString() << "\", \""
<< AeronetHandler::getFormatString() << "\", \""
<< AeronetHandler::getFormatString_v2() << "\", \""
<< AeronetHandler::getFormatString_v3() << "\"";
@@ -585,6 +605,9 @@ void set_format(const StringArray & a) {
else if(NdbcHandler::getFormatStringStandard() == a[0]) {
ascii_format = ASCIIFormat_NDBC_standard;
}
+ else if(IsmnHandler::getFormatString() == a[0]) {
+ ascii_format = ASCIIFormat_ISMN;
+ }
else if(AeronetHandler::getFormatString() == a[0]
|| AeronetHandler::getFormatString_v2() == a[0]) {
ascii_format = ASCIIFormat_Aeronet_v2;
diff --git a/src/tools/other/ascii2nc/file_handler.h b/src/tools/other/ascii2nc/file_handler.h
index ece575672a..8358411f36 100644
--- a/src/tools/other/ascii2nc/file_handler.h
+++ b/src/tools/other/ascii2nc/file_handler.h
@@ -10,8 +10,8 @@
////////////////////////////////////////////////////////////////////////
-#ifndef __FILEHANDLER_H__
-#define __FILEHANDLER_H__
+#ifndef __FILE_HANDLER_H__
+#define __FILE_HANDLER_H__
////////////////////////////////////////////////////////////////////////
@@ -158,7 +158,7 @@ inline void FileHandler::setMessageTypeMap(map m) {
////////////////////////////////////////////////////////////////////////
-#endif /* __FILEHANDLER_H__ */
+#endif /* __FILE_HANDLER_H__ */
////////////////////////////////////////////////////////////////////////
diff --git a/src/tools/other/ascii2nc/ismn_handler.cc b/src/tools/other/ascii2nc/ismn_handler.cc
new file mode 100644
index 0000000000..0cf8c29042
--- /dev/null
+++ b/src/tools/other/ascii2nc/ismn_handler.cc
@@ -0,0 +1,255 @@
+// *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
+// ** Copyright UCAR (c) 1992 - 2023
+// ** University Corporation for Atmospheric Research (UCAR)
+// ** National Center for Atmospheric Research (NCAR)
+// ** Research Applications Lab (RAL)
+// ** P.O.Box 3000, Boulder, Colorado, 80307-3000, USA
+// *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
+
+////////////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+#include
+
+#include "vx_log.h"
+#include "vx_math.h"
+#include "vx_util.h"
+
+#include "ismn_handler.h"
+
+const int IsmnHandler::MIN_NUM_HDR_COLS = 8;
+const int IsmnHandler::NUM_OBS_COLS = 5;
+
+// Relevant GRIB codes
+static const int PRATE_GRIB_CODE = 59;
+static const int SNOD_GRIB_CODE = 66;
+static const int SOILW_GRIB_CODE = 144;
+static const int SMS_GRIB_CODE = -1;
+static const int WEASD_GRIB_CODE = 65;
+static const int TMP_GRIB_CODE = 11;
+static const int TSOIL_GRIB_CODE = 85;
+static const int AVSFT_GRIB_CODE = 148;
+
+// Mapping of ISMN strings to output variable names
+map IsmnObsVarMap = {
+ { "p", { PRATE_GRIB_CODE, "PRATE" } },
+ { "sd", { SNOD_GRIB_CODE, "SNOD" } },
+ { "sm", { SOILW_GRIB_CODE, "SOILW" } },
+ { "su", { SMS_GRIB_CODE, "SMS" } },
+ { "sweq", { WEASD_GRIB_CODE, "WEASD" } },
+ { "ta", { TMP_GRIB_CODE, "TMP" } },
+ { "ts", { TSOIL_GRIB_CODE, "TSOIL" } },
+ { "tsf", { AVSFT_GRIB_CODE, "AVSFT" } }
+};
+
+////////////////////////////////////////////////////////////////////////
+//
+// Code for class IsmnHandler
+//
+////////////////////////////////////////////////////////////////////////
+
+IsmnHandler::IsmnHandler(const string &program_name) :
+ FileHandler(program_name) {
+ use_var_id = true;
+}
+
+////////////////////////////////////////////////////////////////////////
+
+IsmnHandler::~IsmnHandler() { }
+
+////////////////////////////////////////////////////////////////////////
+
+bool IsmnHandler::isFileType(LineDataFile &ascii_file) const {
+
+ // ISMN files are identified by having a .stm suffix and
+ // checking the number of header and data columns.
+ // The header and data lines look like this:
+ // MAQU MAQU NST_24 33.99908 102.13661 3449.0 0.4000 0.4000 ECH20 EC-TM
+ // 2014/10/21 07:00 -27.7 G M
+
+ // Initialize using the filename suffix
+ bool is_file_type = check_prefix_suffix(ascii_file.short_filename(),
+ nullptr, ".stm");
+
+ // Read the header line
+ DataLine dl;
+ while(dl.n_items() == 0) ascii_file >> dl;
+
+ // Check the minimum number of header columns
+ if(dl.n_items() < MIN_NUM_HDR_COLS) is_file_type = false;
+
+ // Check the number of data line columns
+ ascii_file >> dl;
+ if(dl.n_items() != NUM_OBS_COLS) is_file_type = false;
+
+ return(is_file_type);
+}
+
+////////////////////////////////////////////////////////////////////////
+// Private/Protected methods
+////////////////////////////////////////////////////////////////////////
+
+bool IsmnHandler::_readObservations(LineDataFile &ascii_file) {
+
+ // Read and save the header information
+ if(!_readHeaderInfo(ascii_file)) return(false);
+
+ // Get the var_id to use
+ int var_id = bad_data_int;
+ if(!_varNames.has(_obsVarInfo._varName, var_id)) return(false);
+
+ // Process the observation lines
+ DataLine dl;
+ while(ascii_file >> dl) {
+
+ // Make sure that the line contains the correct number of tokens
+ if(dl.n_items() != NUM_OBS_COLS) {
+ mlog << Error << "\nIsmnHandler::_readObservations() -> "
+ << "unexpected number of columns (" << dl.n_items()
+ << " != " << NUM_OBS_COLS << ") on line number "
+ << dl.line_number() << " of ISMN file \""
+ << ascii_file.filename() << "\"!\n\n";
+ return(false);
+ }
+
+ // Extract the valid time from the data line
+ time_t valid_time = _getValidTime(dl);
+ if(valid_time == 0) return(false);
+
+ // Store the observation value
+ double obs_value = atof(dl[2]);
+
+ // Handle unit conversion
+ switch(_obsVarInfo._gribCode) {
+
+ // Convert precip rate in second to hours
+ case PRATE_GRIB_CODE:
+ obs_value /= 3600;
+ break;
+
+ // Convert mm to m
+ case SNOD_GRIB_CODE:
+ obs_value /= 1000.0;
+ break;
+
+ // Convert C to K
+ case TMP_GRIB_CODE:
+ case TSOIL_GRIB_CODE:
+ case AVSFT_GRIB_CODE:
+ obs_value += 273.15;
+ break;
+
+ default:
+ break;
+ }
+
+ // Store the observation
+ _addObservations(Observation(
+ _networkName, _stationId, valid_time,
+ _stationLat, _stationLon, _stationElv,
+ dl[3], var_id, bad_data_double,
+ _depth, obs_value, _obsVarInfo._varName));
+
+ } // end while
+
+ return(true);
+}
+
+////////////////////////////////////////////////////////////////////////
+
+time_t IsmnHandler::_getValidTime(const DataLine &dl) const {
+ struct tm time_struct;
+ memset(&time_struct, 0, sizeof(time_struct));
+
+ // Formatted as YYYY/MM/DD HH:MM
+ string ymd_str(dl[0]);
+ string hm_str(dl[1]);
+
+ // Validate the time strings
+ if(!check_reg_exp("^[0-9]\\{4\\}/[0-9]\\{2\\}/[0-9]\\{2\\}$", dl[0]) ||
+ !check_reg_exp("^[0-9]\\{2\\}:[0-9]\\{2\\}$", dl[1])) {
+ mlog << Warning << "\nIsmnHandler::_getValidTime() -> "
+ << "unexpected time stamp format on line number "
+ << dl.line_number() << " of ISMN input file:\n"
+ << " " << dl << "\n\n";
+ }
+ else {
+
+ // Parse time components
+ time_struct.tm_year = stoi(ymd_str.substr(0, 4)) - 1900;
+ time_struct.tm_mon = stoi(ymd_str.substr(5, 2)) - 1;
+ time_struct.tm_mday = stoi(ymd_str.substr(8, 2));
+ time_struct.tm_hour = stoi( hm_str.substr(0, 2));
+ time_struct.tm_min = stoi( hm_str.substr(3, 2));
+ }
+
+ return(timegm(&time_struct));
+}
+
+////////////////////////////////////////////////////////////////////////
+
+bool IsmnHandler::_readHeaderInfo(LineDataFile &ascii_file) {
+
+ // The file name is delimited with underscores and the variable name
+ // is the fourth item
+ ConcatString cs(ascii_file.short_filename());
+ StringArray sa = cs.split("_");
+
+ // Validate the file name
+ if(sa.n() < 4) {
+ mlog << Error << "\nIsmnHandler::_readHeaderInfo() -> "
+ << "unexpected ISMN file name \"" << ascii_file.filename()
+ << "\"!\n\n";
+ return(false);
+ }
+
+ // Validate the variable name
+ if(IsmnObsVarMap.count(sa[3]) == 0) {
+ mlog << Error << "\nIsmnHandler::_readHeaderInfo() -> "
+ << "unexpected variable name (" << sa[3]
+ << ") found in ISMN file name \"" << ascii_file.filename()
+ << "\"!\n\n";
+ return(false);
+ }
+
+ // Store the observation variable info
+ _obsVarInfo = IsmnObsVarMap[sa[3]];
+
+ // Store the output variable name
+ _varNames.add_uniq(_obsVarInfo._varName);
+
+ // Read the header line
+ DataLine dl;
+ while(dl.n_items() == 0) ascii_file >> dl;
+
+ // Check the minimum number of header columns
+ if(dl.n_items() < MIN_NUM_HDR_COLS) {
+ mlog << Error << "\nIsmnHandler::_readHeaderInfo() -> "
+ << "unexpected number of header columns ("
+ << dl.n_items() << " < " << MIN_NUM_HDR_COLS
+ << ") in ISMN file \"" << ascii_file.filename()
+ << "\"!\n\n";
+ return(false);
+ }
+
+ // Store the header information
+ _networkName = dl[1];
+ _stationId = dl[2];
+ _stationLat = atof(dl[3]);
+ _stationLon = atof(dl[4]);
+ _stationElv = atof(dl[5]);
+
+ // Set the depth for precip as 0
+ if(_obsVarInfo._gribCode == PRATE_GRIB_CODE) {
+ _depth = 0.0;
+ }
+ // Otherwise, store the average of the two depths
+ else {
+ _depth = (atof(dl[6]) + atof(dl[7]))/2.0;
+ }
+
+ return(true);
+}
+
+////////////////////////////////////////////////////////////////////////
diff --git a/src/tools/other/ascii2nc/ismn_handler.h b/src/tools/other/ascii2nc/ismn_handler.h
new file mode 100644
index 0000000000..05470aedec
--- /dev/null
+++ b/src/tools/other/ascii2nc/ismn_handler.h
@@ -0,0 +1,154 @@
+// *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
+// ** Copyright UCAR (c) 1992 - 2023
+// ** University Corporation for Atmospheric Research (UCAR)
+// ** National Center for Atmospheric Research (NCAR)
+// ** Research Applications Lab (RAL)
+// ** P.O.Box 3000, Boulder, Colorado, 80307-3000, USA
+// *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
+
+////////////////////////////////////////////////////////////////////////
+
+#ifndef __ISMN_HANDLER_H__
+#define __ISMN_HANDLER_H__
+
+////////////////////////////////////////////////////////////////////////
+
+#include
+#include
+
+#include "file_handler.h"
+
+////////////////////////////////////////////////////////////////////////
+
+struct obsVarInfo {
+ int _gribCode;
+ string _varName;
+};
+
+////////////////////////////////////////////////////////////////////////
+//
+// International Soil Moisture Network Data
+// https://ismn.bafg.de/en/data/header-value-files
+//
+// Dataset Filename Convention:
+// CSE_Network_Station_Variablename_depthfrom_depthto_sensorname_startdate_enddate.ext
+//
+// - CSE: Continental Scale Experiment (CSE) acronym, if not applicable use Networkname
+// - Network: Network abbreviation (e.g., OZNET)
+// - Station: Station name (e.g., Widgiewa)
+// - Variablename: Name of the variable in the file (e.g., Soil-Moisture)
+// - p: preciptation in mm/h
+// - Store as GRIB Code 59 (PRATE in kg/m^2/s)
+// - Convert from mm/h to kg/m^2/s
+// - sd: snow depth in mm
+// - Store as GRIB Code 66 (SNOD in m)
+// - Convert from mm to m
+// - sm: soil moisture in kg^3/kg^3
+// - Store as GRIB Code 144 (SOILW as a fraction)
+// - su: soil suction in kPa
+// - Store as GRIB Code -1 (undefined, SMS in kPa)
+// - sweq: snow water equivalent in mm
+// - Store as GRIB Code 65 (WEASD kg/m^2)
+// - ta: air temperature in C
+// - Store as GRIB Code 11 (TMP in K)
+// - Convert from C to K
+// - ts: soil temperature in C
+// - Store as GRIB Code 85 (TSOIL in K)
+// - Convert from C to K
+// - tsf: surface temperature in C
+// - Store as GRIB Code 148 (AVSFT in K)
+// - Convert from C to K
+// - depthfrom: Depth in the ground in which the variable was observed (upper boundary)
+// - depthto: Depth in the ground in which the variable was observed (lower boundary)
+// - sensorname: Name of the sensor used
+// - startdate: Date of the first dataset in the file (format YYYYMMDD)
+// - enddate: Date of the last dataset in the file (format YYYYMMDD)
+// - ext: Extension .stm (Soil Temperature and Soil Moisture Data Set see CEOP standard)
+//
+// Example: OZNET_OZNET_Widgiewa_Soil-Temperature_0.150000_0.150000_20010103_20090812.stm
+//
+// Dataset Conents:
+// Example:
+// REMEDHUS REMEDHUS Zamarron 41.24100 -5.54300 855.00 0.05 0.05
+// 2005/03/16 00:00 10.30 U M
+// 2005/03/16 01:00 9.80 U M
+// ...
+//
+// Header Line:
+// CSE, Network, Station,
+// Latitude (degrees north), Longitude (degrees east),
+// Elevation (msl), Depth from, Depth to,
+// Sensor name (Note: contains embedded whitespace)
+//
+// Record Lines:
+// YYYY/MM/DD HH:MM, Variable value,
+// ISMN Quality Flag, Data Provider Quality Flag
+//
+////////////////////////////////////////////////////////////////////////
+
+class IsmnHandler : public FileHandler {
+
+ public:
+
+ IsmnHandler(const string &program_name);
+ virtual ~IsmnHandler();
+
+ virtual bool isFileType(LineDataFile &ascii_file) const;
+
+ static string getFormatString() { return "ismn"; }
+
+ protected:
+
+ /////////////////////////
+ // Protected constants
+ /////////////////////////
+
+ // The number of columns in the second header line in the file. This line
+ // is used to determine if this is a ISMN file since the first line has
+ // an indeterminate number of tokens.
+
+ static const int MIN_NUM_HDR_COLS;
+
+ // The number of columns in the observation lines in the file.
+
+ static const int NUM_OBS_COLS;
+
+ ///////////////////////
+ // Protected members
+ ///////////////////////
+
+ // Unchanging file name information
+ obsVarInfo _obsVarInfo;
+
+ // Store list of unqiue output variable names
+ StringArray _varNames;
+
+ // Unchanging header information
+ string _networkName;
+ string _stationId;
+ double _stationLat;
+ double _stationLon;
+ double _stationElv;
+ double _depth;
+
+ ///////////////////////
+ // Protected methods
+ ///////////////////////
+
+ // Read and save the header information from the given file
+ bool _readHeaderInfo(LineDataFile &ascii_file);
+
+ // Get the valid time from the observation line
+ time_t _getValidTime(const DataLine &data_line) const;
+
+ // Read the observations and add them to the
+ // _observations vector
+ virtual bool _readObservations(LineDataFile &ascii_file);
+
+};
+
+////////////////////////////////////////////////////////////////////////
+
+#endif /* __ISMN_HANDLER_H__ */
+
+////////////////////////////////////////////////////////////////////////
diff --git a/src/tools/other/ascii2nc/little_r_handler.h b/src/tools/other/ascii2nc/little_r_handler.h
index 897f2416c3..c810a45ee4 100644
--- a/src/tools/other/ascii2nc/little_r_handler.h
+++ b/src/tools/other/ascii2nc/little_r_handler.h
@@ -10,8 +10,8 @@
////////////////////////////////////////////////////////////////////////
-#ifndef __LITTLERHANDLER_H__
-#define __LITTLERHANDLER_H__
+#ifndef __LITTLER_HANDLER_H__
+#define __LITTLER_HANDLER_H__
////////////////////////////////////////////////////////////////////////
@@ -64,7 +64,7 @@ class LittleRHandler : public FileHandler
////////////////////////////////////////////////////////////////////////
-#endif /* __LITTLERHANDLER_H__ */
+#endif /* __LITTLER_HANDLER_H__ */
////////////////////////////////////////////////////////////////////////
diff --git a/src/tools/other/ascii2nc/met_handler.h b/src/tools/other/ascii2nc/met_handler.h
index f8dd880508..51ecf08010 100644
--- a/src/tools/other/ascii2nc/met_handler.h
+++ b/src/tools/other/ascii2nc/met_handler.h
@@ -10,8 +10,8 @@
////////////////////////////////////////////////////////////////////////
-#ifndef __METHANDLER_H__
-#define __METHANDLER_H__
+#ifndef __MET_HANDLER_H__
+#define __MET_HANDLER_H__
////////////////////////////////////////////////////////////////////////
@@ -54,7 +54,7 @@ class MetHandler : public FileHandler
////////////////////////////////////////////////////////////////////////
-#endif /* __METHANDLER_H__ */
+#endif /* __MET_HANDLER_H__ */
////////////////////////////////////////////////////////////////////////
diff --git a/src/tools/other/ascii2nc/ndbc_handler.cc b/src/tools/other/ascii2nc/ndbc_handler.cc
index 9ec04255a2..510984f541 100644
--- a/src/tools/other/ascii2nc/ndbc_handler.cc
+++ b/src/tools/other/ascii2nc/ndbc_handler.cc
@@ -120,8 +120,15 @@ NdbcHandler::NdbcHandler(const string &program_name) :
NdbcHandler::~NdbcHandler()
{
- mlog << Debug(1) << "Number of NDBC skipped files due to no lookup " << numMissingStations
- << "\n";
+
+ // Log the non-zero number of missing stations
+ if(numMissingStations > 0) {
+ mlog << Debug(3) << "Skipped " << numMissingStations
+ << " NDBC files whose locations are not defined in \""
+ << locationsFileName << "\". Set the " << stations_env
+ << " environment variable to provide an updated "
+ << "locations file.\n";
+ }
}
@@ -362,7 +369,7 @@ time_t NdbcHandler::_getValidTime(const DataLine &data_line) const
struct tm time_struct;
memset(&time_struct, 0, sizeof(time_struct));
- time_struct.tm_year = atoi(year.c_str()) -1900;
+ time_struct.tm_year = atoi(year.c_str()) - 1900;
time_struct.tm_mon = atoi(month.c_str()) - 1;
time_struct.tm_mday = atoi(day.c_str());
time_struct.tm_hour = atoi(hour.c_str());
diff --git a/src/tools/other/ascii2nc/ndbc_handler.h b/src/tools/other/ascii2nc/ndbc_handler.h
index b69b0ca311..d75b2136e5 100644
--- a/src/tools/other/ascii2nc/ndbc_handler.h
+++ b/src/tools/other/ascii2nc/ndbc_handler.h
@@ -10,8 +10,8 @@
////////////////////////////////////////////////////////////////////////
-#ifndef __NDBCHANDLER_H__
-#define __NDBCHANDLER_H__
+#ifndef __NDBC_HANDLER_H__
+#define __NDBC_HANDLER_H__
////////////////////////////////////////////////////////////////////////
diff --git a/src/tools/other/ascii2nc/surfrad_handler.h b/src/tools/other/ascii2nc/surfrad_handler.h
index 4fe8a3a9bb..ecbe6306e9 100644
--- a/src/tools/other/ascii2nc/surfrad_handler.h
+++ b/src/tools/other/ascii2nc/surfrad_handler.h
@@ -10,8 +10,8 @@
////////////////////////////////////////////////////////////////////////
-#ifndef __SURFRADHANDLER_H__
-#define __SURFRADHANDLER_H__
+#ifndef __SURFRAD_HANDLER_H__
+#define __SURFRAD_HANDLER_H__
////////////////////////////////////////////////////////////////////////
@@ -136,7 +136,7 @@ class SurfradHandler : public FileHandler
////////////////////////////////////////////////////////////////////////
-#endif /* __SURFRADHANDLER_H__ */
+#endif /* __SURFRAD_HANDLER_H__ */
////////////////////////////////////////////////////////////////////////
diff --git a/src/tools/other/ascii2nc/wwsis_handler.h b/src/tools/other/ascii2nc/wwsis_handler.h
index 52d4f8c48b..774dd3ade1 100644
--- a/src/tools/other/ascii2nc/wwsis_handler.h
+++ b/src/tools/other/ascii2nc/wwsis_handler.h
@@ -12,8 +12,8 @@
////////////////////////////////////////////////////////////////////////
-#ifndef __WWSISHANDLER_H__
-#define __WWSISHANDLER_H__
+#ifndef __WWSIS_HANDLER_H__
+#define __WWSIS_HANDLER_H__
////////////////////////////////////////////////////////////////////////
@@ -115,7 +115,7 @@ class WwsisHandler : public FileHandler
////////////////////////////////////////////////////////////////////////
-#endif /* __WWSISHANDLER_H__ */
+#endif /* __WWSIS_HANDLER_H__ */
////////////////////////////////////////////////////////////////////////
From 464f9a720e5c9801cee102fc16c701785d1a699d Mon Sep 17 00:00:00 2001
From: George McCabe <23407799+georgemccabe@users.noreply.github.com>
Date: Fri, 19 Jan 2024 11:29:47 -0700
Subject: [PATCH 2/2] Feature #2547 Read WRF output files natively (#2790)
* Per #2547, add the file_type = NETCDF_WRF configuration option.
* Per #2547, rename vx_data2d_nc_interp as vx_data2d_nc_wrf and vx_data2d_nccf as vx_data2d_nc_cf.
* Per #2547, rename nccf files as nc_cf for consistency throughout
* Per #2547, rename Pinterp classes as Wrf
* only set -L and -I arguments for atlas and eckit if the appropriate environment variable is set -- this matches how it is handled for other external library dependencies
* add rpath for atlas and eckit lib dirs so dynamic libraries can be found when running on seneca
* ignore directory automatically created by CLion
* rename pinterp variables and classes to Wrf
* more rename and fix typos
* per #2547, add support for reading WRF files by adding support for different X/Y/Z dimensions, read X/Y/Z dimension names when reading a field instead of storing them per file, track if data is staggered in X/Y/Z dimension (still need to add DataPlane function to destagger data), handle pressure field that also includes time dimension
* per #2547, add DataPlane function to handle staggering of grid
* per #2547, change file type returned from pinterp to wrf
* per #2547, call function to stagger DataPlane if necessary
* per #2547, keep store if variable is on pressure levels and only read pressure field if it is
* ignore cmake directory
* per #2547, support U_PL, U_ZL, U, and U where is an integer in is_u_wind and the same for is_v_wind
* change regex to match zero or more instances of a number after U or V instead of 1 or more to include the fields named U and V
* error and exit if var with unsupported subgrid dimension is processed
* clean up logging
* only destagger Z dimension for bottom_top_stag because other _stag Z dimensions don't need to be destaggered, clean up logic to read X/Y/Z dimension info
* Per #2547, instead of checking dimensions of all vars in file, check dimensions for the var that is being read. Only read pressure var if the z dimension matches the var to read. Set class variable DimNames instead of local gDimNames so dump function will work as expected
* per #2547, support reading variable that corresponds to dimension with different name as dimension and includes a time dimension, e.g. P_PL(Time, num_press_levels_stag)
* per #2547, added unit tests to process WRF out data with plot_data_plane and grid_stat
* merged develop and resolved conflicts
* rename lib from pinterp to wrf
* rename lib
* fixed incorrect merge changes
* fixed broken unit test format
* Per #2547, restore the mention of NAK.poly to Appendix B.
* Change model to WRF
Co-authored-by: John Halley Gotway
* change obtype to WRF
Co-authored-by: John Halley Gotway
* plot higher vertical level to get non-zero output
Co-authored-by: John Halley Gotway
* indentation
Co-authored-by: John Halley Gotway
---------
Co-authored-by: John Halley Gotway
---
.gitignore | 2 +
Make-include | 8 +-
configure | 11 +-
configure.ac | 6 +-
data/config/ConfigConstants | 11 +-
docs/Users_Guide/appendixA.rst | 2 +-
docs/Users_Guide/config_options.rst | 1 +
.../test_unit/config/GridStatConfig_WRF_pres | 288 +++++++++++++++
internal/test_unit/xml/unit_grid_stat.xml | 17 +
.../test_unit/xml/unit_plot_data_plane.xml | 84 +++++
internal/test_util/basic/vx_util/Makefile.am | 4 +-
internal/test_util/basic/vx_util/Makefile.in | 4 +-
internal/test_util/libcode/Makefile.am | 2 +-
internal/test_util/libcode/Makefile.in | 2 +-
.../libcode/vx_data2d_factory/Makefile.am | 4 +-
.../libcode/vx_data2d_factory/Makefile.in | 4 +-
.../.gitignore | 0
.../Makefile.am | 2 +-
.../Makefile.in | 8 +-
.../test_read_nccf.cc | 2 +-
.../test_util/libcode/vx_nc_util/Makefile.am | 4 +-
.../test_util/libcode/vx_nc_util/Makefile.in | 4 +-
.../test_util/libcode/vx_tc_util/Makefile.am | 12 +-
.../test_util/libcode/vx_tc_util/Makefile.in | 12 +-
.../tools/other/mode_time_domain/Makefile.am | 4 +-
.../tools/other/mode_time_domain/Makefile.in | 4 +-
src/basic/vx_config/config_constants.h | 1 +
src/basic/vx_config/config_util.cc | 2 +-
src/basic/vx_config/data_file_type.h | 20 +-
src/basic/vx_config/grdfiletype_to_string.cc | 6 +-
src/basic/vx_util/data_plane.cc | 87 ++++-
src/basic/vx_util/data_plane.h | 3 +-
src/libcode/Makefile.am | 4 +-
src/libcode/Makefile.in | 4 +-
src/libcode/vx_data2d/vx_data2d.h | 1 +
.../vx_data2d_factory/data2d_factory.cc | 7 +-
.../vx_data2d_factory/data2d_factory_utils.cc | 1 +
.../vx_data2d_factory/is_netcdf_file.cc | 38 +-
.../vx_data2d_factory/is_netcdf_file.h | 2 +
.../vx_data2d_factory/var_info_factory.cc | 7 +-
.../.gitignore | 0
src/libcode/vx_data2d_nc_cf/Makefile.am | 20 +
.../Makefile.in | 133 +++----
.../data2d_nc_cf.cc} | 2 +-
.../data2d_nc_cf.h} | 4 +-
.../nc_cf_file.cc} | 2 +-
.../nc_cf_file.h} | 6 +-
.../var_info_nc_cf.cc} | 4 +-
.../var_info_nc_cf.h} | 0
.../vx_data2d_nc_cf.h} | 6 +-
src/libcode/vx_data2d_nc_pinterp/Makefile.am | 20 -
.../.gitignore | 0
src/libcode/vx_data2d_nc_wrf/Makefile.am | 20 +
.../Makefile.in | 165 +++++----
.../data2d_nc_wrf.cc} | 74 ++--
.../data2d_nc_wrf.h} | 26 +-
.../get_wrf_grid.cc} | 10 +-
.../get_wrf_grid.h} | 10 +-
.../var_info_nc_wrf.cc} | 61 +--
.../var_info_nc_wrf.h} | 42 ++-
.../vx_data2d_nc_wrf.h} | 14 +-
.../wrf_file.cc} | 347 ++++++++++++------
.../wrf_file.h} | 23 +-
src/libcode/vx_data2d_nccf/Makefile.am | 20 -
src/libcode/vx_nc_util/nc_var_info.cc | 41 ++-
src/libcode/vx_nc_util/nc_var_info.h | 6 +
src/tools/core/ensemble_stat/Makefile.am | 4 +-
src/tools/core/ensemble_stat/Makefile.in | 4 +-
src/tools/core/grid_stat/Makefile.am | 4 +-
src/tools/core/grid_stat/Makefile.in | 4 +-
src/tools/core/mode/Makefile.am | 4 +-
src/tools/core/mode/Makefile.in | 4 +-
src/tools/core/mode_analysis/Makefile.am | 4 +-
src/tools/core/mode_analysis/Makefile.in | 4 +-
src/tools/core/pcp_combine/Makefile.am | 4 +-
src/tools/core/pcp_combine/Makefile.in | 4 +-
src/tools/core/point_stat/Makefile.am | 4 +-
src/tools/core/point_stat/Makefile.in | 4 +-
src/tools/core/series_analysis/Makefile.am | 4 +-
src/tools/core/series_analysis/Makefile.in | 4 +-
src/tools/core/stat_analysis/Makefile.am | 4 +-
src/tools/core/stat_analysis/Makefile.in | 4 +-
.../core/stat_analysis/aggr_stat_line.cc | 2 +-
src/tools/core/wavelet_stat/Makefile.am | 4 +-
src/tools/core/wavelet_stat/Makefile.in | 4 +-
src/tools/dev_utils/Makefile.am | 4 +-
src/tools/dev_utils/Makefile.in | 4 +-
src/tools/other/ascii2nc/Makefile.am | 4 +-
src/tools/other/ascii2nc/Makefile.in | 4 +-
src/tools/other/gen_ens_prod/Makefile.am | 4 +-
src/tools/other/gen_ens_prod/Makefile.in | 4 +-
src/tools/other/gen_vx_mask/Makefile.am | 4 +-
src/tools/other/gen_vx_mask/Makefile.in | 4 +-
src/tools/other/grid_diag/Makefile.am | 4 +-
src/tools/other/grid_diag/Makefile.in | 4 +-
src/tools/other/gsi_tools/Makefile.am | 8 +-
src/tools/other/gsi_tools/Makefile.in | 8 +-
src/tools/other/ioda2nc/Makefile.am | 4 +-
src/tools/other/ioda2nc/Makefile.in | 4 +-
src/tools/other/lidar2nc/Makefile.am | 2 +-
src/tools/other/lidar2nc/Makefile.in | 2 +-
src/tools/other/madis2nc/Makefile.am | 4 +-
src/tools/other/madis2nc/Makefile.in | 4 +-
src/tools/other/mode_time_domain/Makefile.am | 4 +-
src/tools/other/mode_time_domain/Makefile.in | 4 +-
src/tools/other/modis_regrid/Makefile.am | 6 +-
src/tools/other/modis_regrid/Makefile.in | 6 +-
src/tools/other/pb2nc/Makefile.am | 4 +-
src/tools/other/pb2nc/Makefile.in | 4 +-
src/tools/other/plot_data_plane/Makefile.am | 4 +-
src/tools/other/plot_data_plane/Makefile.in | 4 +-
.../other/plot_data_plane/plot_data_plane.cc | 2 +-
src/tools/other/plot_point_obs/Makefile.am | 4 +-
src/tools/other/plot_point_obs/Makefile.in | 4 +-
src/tools/other/point2grid/Makefile.am | 4 +-
src/tools/other/point2grid/Makefile.in | 4 +-
src/tools/other/regrid_data_plane/Makefile.am | 4 +-
src/tools/other/regrid_data_plane/Makefile.in | 4 +-
.../regrid_data_plane/regrid_data_plane.cc | 5 +-
src/tools/other/shift_data_plane/Makefile.am | 4 +-
src/tools/other/shift_data_plane/Makefile.in | 4 +-
.../shift_data_plane/shift_data_plane.cc | 5 +-
src/tools/other/wwmca_tool/Makefile.am | 8 +-
src/tools/other/wwmca_tool/Makefile.in | 8 +-
src/tools/tc_utils/rmw_analysis/Makefile.am | 4 +-
src/tools/tc_utils/rmw_analysis/Makefile.in | 4 +-
src/tools/tc_utils/tc_diag/Makefile.am | 4 +-
src/tools/tc_utils/tc_diag/Makefile.in | 4 +-
src/tools/tc_utils/tc_gen/Makefile.am | 4 +-
src/tools/tc_utils/tc_gen/Makefile.in | 4 +-
src/tools/tc_utils/tc_pairs/Makefile.am | 4 +-
src/tools/tc_utils/tc_pairs/Makefile.in | 4 +-
src/tools/tc_utils/tc_rmw/Makefile.am | 4 +-
src/tools/tc_utils/tc_rmw/Makefile.in | 4 +-
src/tools/tc_utils/tc_stat/Makefile.am | 4 +-
src/tools/tc_utils/tc_stat/Makefile.in | 4 +-
136 files changed, 1355 insertions(+), 680 deletions(-)
create mode 100644 internal/test_unit/config/GridStatConfig_WRF_pres
rename internal/test_util/libcode/{vx_data2d_nccf => vx_data2d_nc_cf}/.gitignore (100%)
rename internal/test_util/libcode/{vx_data2d_nccf => vx_data2d_nc_cf}/Makefile.am (93%)
rename internal/test_util/libcode/{vx_data2d_nccf => vx_data2d_nc_cf}/Makefile.in (99%)
rename internal/test_util/libcode/{vx_data2d_nccf => vx_data2d_nc_cf}/test_read_nccf.cc (98%)
rename src/libcode/{vx_data2d_nc_pinterp => vx_data2d_nc_cf}/.gitignore (100%)
create mode 100644 src/libcode/vx_data2d_nc_cf/Makefile.am
rename src/libcode/{vx_data2d_nccf => vx_data2d_nc_cf}/Makefile.in (74%)
rename src/libcode/{vx_data2d_nccf/data2d_nccf.cc => vx_data2d_nc_cf/data2d_nc_cf.cc} (99%)
rename src/libcode/{vx_data2d_nccf/data2d_nccf.h => vx_data2d_nc_cf/data2d_nc_cf.h} (98%)
rename src/libcode/{vx_data2d_nccf/nccf_file.cc => vx_data2d_nc_cf/nc_cf_file.cc} (99%)
rename src/libcode/{vx_data2d_nccf/nccf_file.h => vx_data2d_nc_cf/nc_cf_file.h} (98%)
rename src/libcode/{vx_data2d_nccf/var_info_nccf.cc => vx_data2d_nc_cf/var_info_nc_cf.cc} (99%)
rename src/libcode/{vx_data2d_nccf/var_info_nccf.h => vx_data2d_nc_cf/var_info_nc_cf.h} (100%)
rename src/libcode/{vx_data2d_nccf/vx_data2d_nccf.h => vx_data2d_nc_cf/vx_data2d_nc_cf.h} (90%)
delete mode 100644 src/libcode/vx_data2d_nc_pinterp/Makefile.am
rename src/libcode/{vx_data2d_nccf => vx_data2d_nc_wrf}/.gitignore (100%)
create mode 100644 src/libcode/vx_data2d_nc_wrf/Makefile.am
rename src/libcode/{vx_data2d_nc_pinterp => vx_data2d_nc_wrf}/Makefile.in (68%)
rename src/libcode/{vx_data2d_nc_pinterp/data2d_nc_pinterp.cc => vx_data2d_nc_wrf/data2d_nc_wrf.cc} (78%)
rename src/libcode/{vx_data2d_nc_pinterp/data2d_nc_pinterp.h => vx_data2d_nc_wrf/data2d_nc_wrf.h} (72%)
rename src/libcode/{vx_data2d_nc_pinterp/get_pinterp_grid.cc => vx_data2d_nc_wrf/get_wrf_grid.cc} (97%)
rename src/libcode/{vx_data2d_nc_pinterp/get_pinterp_grid.h => vx_data2d_nc_wrf/get_wrf_grid.h} (77%)
rename src/libcode/{vx_data2d_nc_pinterp/var_info_nc_pinterp.cc => vx_data2d_nc_wrf/var_info_nc_wrf.cc} (87%)
rename src/libcode/{vx_data2d_nc_pinterp/var_info_nc_pinterp.h => vx_data2d_nc_wrf/var_info_nc_wrf.h} (84%)
rename src/libcode/{vx_data2d_nc_pinterp/vx_data2d_nc_pinterp.h => vx_data2d_nc_wrf/vx_data2d_nc_wrf.h} (74%)
rename src/libcode/{vx_data2d_nc_pinterp/pinterp_file.cc => vx_data2d_nc_wrf/wrf_file.cc} (63%)
rename src/libcode/{vx_data2d_nc_pinterp/pinterp_file.h => vx_data2d_nc_wrf/wrf_file.h} (79%)
delete mode 100644 src/libcode/vx_data2d_nccf/Makefile.am
diff --git a/.gitignore b/.gitignore
index 3f75b8c06f..d26e2e4a32 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,3 +17,5 @@ share
Makefile
make.log
make_install.log
+.idea
+cmake-build-debug
diff --git a/Make-include b/Make-include
index bdde7b71a4..6b88767ffb 100644
--- a/Make-include
+++ b/Make-include
@@ -11,9 +11,9 @@ MET_CPPFLAGS = -I${top_builddir}/src/basic/vx_cal \
-I${top_builddir}/src/libcode/vx_data2d_factory \
-I${top_builddir}/src/libcode/vx_data2d_grib \
-I${top_builddir}/src/libcode/vx_data2d_grib2 \
- -I${top_builddir}/src/libcode/vx_data2d_nccf \
-I${top_builddir}/src/libcode/vx_data2d_nc_met \
- -I${top_builddir}/src/libcode/vx_data2d_nc_pinterp \
+ -I${top_builddir}/src/libcode/vx_data2d_nc_wrf \
+ -I${top_builddir}/src/libcode/vx_data2d_nc_cf \
-I${top_builddir}/src/libcode/vx_data2d_python \
-I${top_builddir}/src/libcode/vx_data2d_ugrid \
-I${top_builddir}/src/libcode/vx_python3_utils \
@@ -58,9 +58,9 @@ MET_LDFLAGS = -L${top_builddir}/src/basic/vx_cal \
-L${top_builddir}/src/libcode/vx_data2d_factory \
-L${top_builddir}/src/libcode/vx_data2d_grib \
-L${top_builddir}/src/libcode/vx_data2d_grib2 \
- -L${top_builddir}/src/libcode/vx_data2d_nccf \
-L${top_builddir}/src/libcode/vx_data2d_nc_met \
- -L${top_builddir}/src/libcode/vx_data2d_nc_pinterp \
+ -L${top_builddir}/src/libcode/vx_data2d_nc_wrf \
+ -L${top_builddir}/src/libcode/vx_data2d_nc_cf \
-L${top_builddir}/src/libcode/vx_data2d_python \
-L${top_builddir}/src/libcode/vx_data2d_ugrid \
-L${top_builddir}/src/libcode/vx_python3_utils \
diff --git a/configure b/configure
index b7d9098c4f..888d197d7d 100755
--- a/configure
+++ b/configure
@@ -10133,11 +10133,12 @@ fi
# Create configured files
-ac_config_files="$ac_config_files Makefile scripts/Rscripts/Makefile scripts/Rscripts/include/Makefile scripts/python/Makefile scripts/python/examples/Makefile scripts/python/met/Makefile scripts/python/pyembed/Makefile scripts/python/utility/Makefile scripts/python/tc_diag/Makefile scripts/python/tc_diag/atcf_tools/Makefile scripts/python/tc_diag/config/Makefile scripts/python/tc_diag/diag_lib/Makefile scripts/python/tc_diag/tc_diag_driver/Makefile data/Makefile data/climo/Makefile data/climo/seeps/Makefile data/colortables/Makefile data/colortables/NCL_colortables/Makefile data/config/Makefile data/map/Makefile data/map/admin_by_country/Makefile data/poly/Makefile data/poly/HMT_masks/Makefile data/poly/NCEP_masks/Makefile data/ps/Makefile data/table_files/Makefile data/tc_data/Makefile src/Makefile src/basic/Makefile src/basic/enum_to_string/Makefile src/basic/vx_cal/Makefile src/basic/vx_config/Makefile src/basic/vx_log/Makefile src/basic/vx_math/Makefile src/basic/vx_util/Makefile src/basic/vx_util_math/Makefile src/libcode/Makefile src/libcode/vx_afm/Makefile src/libcode/vx_analysis_util/Makefile src/libcode/vx_color/Makefile src/libcode/vx_data2d/Makefile src/libcode/vx_data2d_factory/Makefile src/libcode/vx_data2d_grib/Makefile src/libcode/vx_data2d_grib2/Makefile src/libcode/vx_data2d_nc_met/Makefile src/libcode/vx_data2d_nc_pinterp/Makefile src/libcode/vx_data2d_nccf/Makefile src/libcode/vx_data2d_ugrid/Makefile src/libcode/vx_geodesy/Makefile src/libcode/vx_gis/Makefile src/libcode/vx_gnomon/Makefile src/libcode/vx_grid/Makefile src/libcode/vx_gsl_prob/Makefile src/libcode/vx_nav/Makefile src/libcode/vx_solar/Makefile src/libcode/vx_nc_obs/Makefile src/libcode/vx_nc_util/Makefile src/libcode/vx_pb_util/Makefile src/libcode/vx_plot_util/Makefile src/libcode/vx_ps/Makefile src/libcode/vx_pxm/Makefile src/libcode/vx_render/Makefile src/libcode/vx_shapedata/Makefile src/libcode/vx_stat_out/Makefile src/libcode/vx_statistics/Makefile src/libcode/vx_time_series/Makefile src/libcode/vx_physics/Makefile src/libcode/vx_series_data/Makefile src/libcode/vx_regrid/Makefile src/libcode/vx_tc_util/Makefile src/libcode/vx_summary/Makefile src/libcode/vx_python3_utils/Makefile src/libcode/vx_data2d_python/Makefile src/libcode/vx_bool_calc/Makefile src/libcode/vx_pointdata_python/Makefile src/libcode/vx_seeps/Makefile src/tools/Makefile src/tools/core/Makefile src/tools/core/ensemble_stat/Makefile src/tools/core/grid_stat/Makefile src/tools/core/mode/Makefile src/tools/core/mode_analysis/Makefile src/tools/core/pcp_combine/Makefile src/tools/core/point_stat/Makefile src/tools/core/series_analysis/Makefile src/tools/core/stat_analysis/Makefile src/tools/core/wavelet_stat/Makefile src/tools/other/Makefile src/tools/other/ascii2nc/Makefile src/tools/other/lidar2nc/Makefile src/tools/other/gen_ens_prod/Makefile src/tools/other/gen_vx_mask/Makefile src/tools/other/gis_utils/Makefile src/tools/other/ioda2nc/Makefile src/tools/other/madis2nc/Makefile src/tools/other/mode_graphics/Makefile src/tools/other/modis_regrid/Makefile src/tools/other/pb2nc/Makefile src/tools/other/plot_data_plane/Makefile src/tools/other/plot_point_obs/Makefile src/tools/other/wwmca_tool/Makefile src/tools/other/gsi_tools/Makefile src/tools/other/regrid_data_plane/Makefile src/tools/other/point2grid/Makefile src/tools/other/shift_data_plane/Makefile src/tools/other/mode_time_domain/Makefile src/tools/other/grid_diag/Makefile src/tools/tc_utils/Makefile src/tools/tc_utils/tc_dland/Makefile src/tools/tc_utils/tc_pairs/Makefile src/tools/tc_utils/tc_stat/Makefile src/tools/tc_utils/tc_gen/Makefile src/tools/tc_utils/rmw_analysis/Makefile src/tools/tc_utils/tc_rmw/Makefile src/tools/tc_utils/tc_diag/Makefile"
+ac_config_files="$ac_config_files Makefile scripts/Rscripts/Makefile scripts/Rscripts/include/Makefile scripts/python/Makefile scripts/python/examples/Makefile scripts/python/met/Makefile scripts/python/pyembed/Makefile scripts/python/utility/Makefile scripts/python/tc_diag/Makefile scripts/python/tc_diag/atcf_tools/Makefile scripts/python/tc_diag/config/Makefile scripts/python/tc_diag/diag_lib/Makefile scripts/python/tc_diag/tc_diag_driver/Makefile data/Makefile data/climo/Makefile data/climo/seeps/Makefile data/colortables/Makefile data/colortables/NCL_colortables/Makefile data/config/Makefile data/map/Makefile data/map/admin_by_country/Makefile data/poly/Makefile data/poly/HMT_masks/Makefile data/poly/NCEP_masks/Makefile data/ps/Makefile data/table_files/Makefile data/tc_data/Makefile src/Makefile src/basic/Makefile src/basic/enum_to_string/Makefile src/basic/vx_cal/Makefile src/basic/vx_config/Makefile src/basic/vx_log/Makefile src/basic/vx_math/Makefile src/basic/vx_util/Makefile src/basic/vx_util_math/Makefile src/libcode/Makefile src/libcode/vx_afm/Makefile src/libcode/vx_analysis_util/Makefile src/libcode/vx_color/Makefile src/libcode/vx_data2d/Makefile src/libcode/vx_data2d_factory/Makefile src/libcode/vx_data2d_grib/Makefile src/libcode/vx_data2d_grib2/Makefile src/libcode/vx_data2d_nc_met/Makefile src/libcode/vx_data2d_nc_wrf/Makefile src/libcode/vx_data2d_nc_cf/Makefile src/libcode/vx_data2d_ugrid/Makefile src/libcode/vx_geodesy/Makefile src/libcode/vx_gis/Makefile src/libcode/vx_gnomon/Makefile src/libcode/vx_grid/Makefile src/libcode/vx_gsl_prob/Makefile src/libcode/vx_nav/Makefile src/libcode/vx_solar/Makefile src/libcode/vx_nc_obs/Makefile src/libcode/vx_nc_util/Makefile src/libcode/vx_pb_util/Makefile src/libcode/vx_plot_util/Makefile src/libcode/vx_ps/Makefile src/libcode/vx_pxm/Makefile src/libcode/vx_render/Makefile src/libcode/vx_shapedata/Makefile src/libcode/vx_stat_out/Makefile src/libcode/vx_statistics/Makefile src/libcode/vx_time_series/Makefile src/libcode/vx_physics/Makefile src/libcode/vx_series_data/Makefile src/libcode/vx_regrid/Makefile src/libcode/vx_tc_util/Makefile src/libcode/vx_summary/Makefile src/libcode/vx_python3_utils/Makefile src/libcode/vx_data2d_python/Makefile src/libcode/vx_bool_calc/Makefile src/libcode/vx_pointdata_python/Makefile src/libcode/vx_seeps/Makefile src/tools/Makefile src/tools/core/Makefile src/tools/core/ensemble_stat/Makefile src/tools/core/grid_stat/Makefile src/tools/core/mode/Makefile src/tools/core/mode_analysis/Makefile src/tools/core/pcp_combine/Makefile src/tools/core/point_stat/Makefile src/tools/core/series_analysis/Makefile src/tools/core/stat_analysis/Makefile src/tools/core/wavelet_stat/Makefile src/tools/other/Makefile src/tools/other/ascii2nc/Makefile src/tools/other/lidar2nc/Makefile src/tools/other/gen_ens_prod/Makefile src/tools/other/gen_vx_mask/Makefile src/tools/other/gis_utils/Makefile src/tools/other/ioda2nc/Makefile src/tools/other/madis2nc/Makefile src/tools/other/mode_graphics/Makefile src/tools/other/modis_regrid/Makefile src/tools/other/pb2nc/Makefile src/tools/other/plot_data_plane/Makefile src/tools/other/plot_point_obs/Makefile src/tools/other/wwmca_tool/Makefile src/tools/other/gsi_tools/Makefile src/tools/other/regrid_data_plane/Makefile src/tools/other/point2grid/Makefile src/tools/other/shift_data_plane/Makefile src/tools/other/mode_time_domain/Makefile src/tools/other/grid_diag/Makefile src/tools/tc_utils/Makefile src/tools/tc_utils/tc_dland/Makefile src/tools/tc_utils/tc_pairs/Makefile src/tools/tc_utils/tc_stat/Makefile src/tools/tc_utils/tc_gen/Makefile src/tools/tc_utils/rmw_analysis/Makefile src/tools/tc_utils/tc_rmw/Makefile src/tools/tc_utils/tc_diag/Makefile"
if test -n "$MET_DEVELOPMENT"; then
- ac_config_files="$ac_config_files src/tools/dev_utils/Makefile src/tools/dev_utils/shapefiles/Makefile internal/test_util/Makefile internal/test_util/basic/Makefile internal/test_util/basic/vx_config/Makefile internal/test_util/basic/vx_log/Makefile internal/test_util/basic/vx_util/Makefile internal/test_util/libcode/Makefile internal/test_util/libcode/vx_data2d/Makefile internal/test_util/libcode/vx_data2d_factory/Makefile internal/test_util/libcode/vx_data2d_grib/Makefile internal/test_util/libcode/vx_data2d_nc_met/Makefile internal/test_util/libcode/vx_data2d_nccf/Makefile internal/test_util/libcode/vx_geodesy/Makefile internal/test_util/libcode/vx_grid/Makefile internal/test_util/libcode/vx_plot_util/Makefile internal/test_util/libcode/vx_ps/Makefile internal/test_util/libcode/vx_tc_util/Makefile internal/test_util/libcode/vx_nc_util/Makefile internal/test_util/libcode/vx_python3_utils/Makefile internal/test_util/libcode/vx_physics/Makefile internal/test_util/libcode/vx_series_data/Makefile internal/test_util/libcode/vx_solar/Makefile internal/test_util/tools/Makefile internal/test_util/tools/other/Makefile internal/test_util/tools/other/mode_time_domain/Makefile"
+ ac_config_files="$ac_config_files src/tools/dev_utils/Makefile src/tools/dev_utils/shapefiles/Makefile internal/test_util/Makefile internal/test_util/basic/Makefile internal/test_util/basic/vx_config/Makefile internal/test_util/basic/vx_log/Makefile internal/test_util/basic/vx_util/Makefile internal/test_util/libcode/Makefile internal/test_util/libcode/vx_data2d/Makefile internal/test_util/libcode/vx_data2d_factory/Makefile internal/test_util/libcode/vx_data2d_grib/Makefile internal/test_util/libcode/vx_data2d_nc_met/Makefile internal/test_util/libcode/vx_data2d_nc_cf/Makefile internal/test_util/libcode/vx_geodesy/Makefile internal/test_util/libcode/vx_grid/Makefile internal/test_util/libcode/vx_plot_util/Makefile internal/test_util/libcode/vx_ps/Makefile internal/test_util/libcode/vx_tc_util/Makefile internal/test_util/libcode/vx_nc_util/Makefile internal/test_util/libcode/vx_python3_utils/Makefile internal/test_util/libcode/vx_physics/Makefile internal/test_util/libcode/vx_series_data/Makefile internal/test_util/libcode/vx_solar/Makefile internal/test_util/tools/Makefile internal/test_util/tools/other/Makefile internal/test_util/tools/other/mode_time_domain/Makefile"
+
fi
@@ -11065,8 +11066,8 @@ do
"src/libcode/vx_data2d_grib/Makefile") CONFIG_FILES="$CONFIG_FILES src/libcode/vx_data2d_grib/Makefile" ;;
"src/libcode/vx_data2d_grib2/Makefile") CONFIG_FILES="$CONFIG_FILES src/libcode/vx_data2d_grib2/Makefile" ;;
"src/libcode/vx_data2d_nc_met/Makefile") CONFIG_FILES="$CONFIG_FILES src/libcode/vx_data2d_nc_met/Makefile" ;;
- "src/libcode/vx_data2d_nc_pinterp/Makefile") CONFIG_FILES="$CONFIG_FILES src/libcode/vx_data2d_nc_pinterp/Makefile" ;;
- "src/libcode/vx_data2d_nccf/Makefile") CONFIG_FILES="$CONFIG_FILES src/libcode/vx_data2d_nccf/Makefile" ;;
+ "src/libcode/vx_data2d_nc_wrf/Makefile") CONFIG_FILES="$CONFIG_FILES src/libcode/vx_data2d_nc_wrf/Makefile" ;;
+ "src/libcode/vx_data2d_nc_cf/Makefile") CONFIG_FILES="$CONFIG_FILES src/libcode/vx_data2d_nc_cf/Makefile" ;;
"src/libcode/vx_data2d_ugrid/Makefile") CONFIG_FILES="$CONFIG_FILES src/libcode/vx_data2d_ugrid/Makefile" ;;
"src/libcode/vx_geodesy/Makefile") CONFIG_FILES="$CONFIG_FILES src/libcode/vx_geodesy/Makefile" ;;
"src/libcode/vx_gis/Makefile") CONFIG_FILES="$CONFIG_FILES src/libcode/vx_gis/Makefile" ;;
@@ -11147,7 +11148,7 @@ do
"internal/test_util/libcode/vx_data2d_factory/Makefile") CONFIG_FILES="$CONFIG_FILES internal/test_util/libcode/vx_data2d_factory/Makefile" ;;
"internal/test_util/libcode/vx_data2d_grib/Makefile") CONFIG_FILES="$CONFIG_FILES internal/test_util/libcode/vx_data2d_grib/Makefile" ;;
"internal/test_util/libcode/vx_data2d_nc_met/Makefile") CONFIG_FILES="$CONFIG_FILES internal/test_util/libcode/vx_data2d_nc_met/Makefile" ;;
- "internal/test_util/libcode/vx_data2d_nccf/Makefile") CONFIG_FILES="$CONFIG_FILES internal/test_util/libcode/vx_data2d_nccf/Makefile" ;;
+ "internal/test_util/libcode/vx_data2d_nc_cf/Makefile") CONFIG_FILES="$CONFIG_FILES internal/test_util/libcode/vx_data2d_nc_cf/Makefile" ;;
"internal/test_util/libcode/vx_geodesy/Makefile") CONFIG_FILES="$CONFIG_FILES internal/test_util/libcode/vx_geodesy/Makefile" ;;
"internal/test_util/libcode/vx_grid/Makefile") CONFIG_FILES="$CONFIG_FILES internal/test_util/libcode/vx_grid/Makefile" ;;
"internal/test_util/libcode/vx_plot_util/Makefile") CONFIG_FILES="$CONFIG_FILES internal/test_util/libcode/vx_plot_util/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index f7b2a73453..2f8159d58c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1321,8 +1321,8 @@ AC_CONFIG_FILES([Makefile
src/libcode/vx_data2d_grib/Makefile
src/libcode/vx_data2d_grib2/Makefile
src/libcode/vx_data2d_nc_met/Makefile
- src/libcode/vx_data2d_nc_pinterp/Makefile
- src/libcode/vx_data2d_nccf/Makefile
+ src/libcode/vx_data2d_nc_wrf/Makefile
+ src/libcode/vx_data2d_nc_cf/Makefile
src/libcode/vx_data2d_ugrid/Makefile
src/libcode/vx_geodesy/Makefile
src/libcode/vx_gis/Makefile
@@ -1405,7 +1405,7 @@ if test -n "$MET_DEVELOPMENT"; then
internal/test_util/libcode/vx_data2d_factory/Makefile
internal/test_util/libcode/vx_data2d_grib/Makefile
internal/test_util/libcode/vx_data2d_nc_met/Makefile
- internal/test_util/libcode/vx_data2d_nccf/Makefile
+ internal/test_util/libcode/vx_data2d_nc_cf/Makefile
internal/test_util/libcode/vx_geodesy/Makefile
internal/test_util/libcode/vx_grid/Makefile
internal/test_util/libcode/vx_plot_util/Makefile
diff --git a/data/config/ConfigConstants b/data/config/ConfigConstants
index b9cf21a67a..16954f5467 100644
--- a/data/config/ConfigConstants
+++ b/data/config/ConfigConstants
@@ -60,11 +60,12 @@ MB_to_PA(p) = HPA_to_PA(p);
GRIB1 = 1;
GRIB2 = 2;
NETCDF_MET = 3;
-NETCDF_PINT = 4;
-NETCDF_NCCF = 5;
-PYTHON_NUMPY = 6;
-PYTHON_XARRAY = 7;
-NETCDF_UGRID = 8;
+NETCDF_WRF = 4;
+NETCDF_PINT = 5;
+NETCDF_NCCF = 6;
+PYTHON_NUMPY = 7;
+PYTHON_XARRAY = 8;
+NETCDF_UGRID = 9;
// Set Logic
NONE = 1;
diff --git a/docs/Users_Guide/appendixA.rst b/docs/Users_Guide/appendixA.rst
index 7d6df54511..83b10c2c32 100644
--- a/docs/Users_Guide/appendixA.rst
+++ b/docs/Users_Guide/appendixA.rst
@@ -1684,7 +1684,7 @@ Q. Why is the grid upside down?
but the data is packed upside down.
Try using the "file_type" entry. The "file_type" entry specifies the
- input file type (e.g. GRIB1, GRIB2, NETCDF_MET, NETCDF_PINT, NETCDF_NCCF)
+ input file type (e.g. GRIB1, GRIB2, NETCDF_MET, NETCDF_WRF, NETCDF_PINT, NETCDF_NCCF)
rather than letting the code determine it itself. For valid file_type
values, see "File types" in the *data/config/ConfigConstants* file. This
entry should be defined within the "fcst" or "obs" dictionaries.
diff --git a/docs/Users_Guide/config_options.rst b/docs/Users_Guide/config_options.rst
index 9ff10893df..f2dc2803ba 100644
--- a/docs/Users_Guide/config_options.rst
+++ b/docs/Users_Guide/config_options.rst
@@ -950,6 +950,7 @@ to be verified. This dictionary may include the following entries:
file_type = GRIB1; GRIB version 1
file_type = GRIB2; GRIB version 2
file_type = NETCDF_MET; NetCDF created by another MET tool
+ file_type = NETCDF_WRF; NetCDF WRF output.
file_type = NETCDF_PINT; NetCDF created by running the p_interp
or wrf_interp utility on WRF output.
May be used to read unstaggered raw WRF
diff --git a/internal/test_unit/config/GridStatConfig_WRF_pres b/internal/test_unit/config/GridStatConfig_WRF_pres
new file mode 100644
index 0000000000..10d46e8f94
--- /dev/null
+++ b/internal/test_unit/config/GridStatConfig_WRF_pres
@@ -0,0 +1,288 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Grid-Stat configuration file.
+//
+// For additional information, please see the MET User's Guide.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+//
+// Output model name to be written
+//
+model = "WRF";
+
+//
+// Output description to be written
+// May be set separately in each "obs.field" entry
+//
+desc = "NA";
+
+//
+// Output observation type to be written
+//
+obtype = "WRF";
+
+////////////////////////////////////////////////////////////////////////////////
+
+//
+// Verification grid
+// May be set separately in each "field" entry
+//
+regrid = {
+ to_grid = NONE;
+ method = NEAREST;
+ width = 1;
+ vld_thresh = 0.5;
+ shape = SQUARE;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+//
+// May be set separately in each "field" entry
+//
+censor_thresh = [];
+censor_val = [];
+mpr_column = [];
+mpr_thresh = [];
+cat_thresh = [];
+cnt_thresh = [ NA ];
+cnt_logic = UNION;
+wind_thresh = [ NA ];
+wind_logic = UNION;
+eclv_points = 0.05;
+nc_pairs_var_name = "";
+nc_pairs_var_suffix = "";
+hss_ec_value = NA;
+rank_corr_flag = FALSE;
+
+//
+// Forecast and observation fields to be verified
+//
+fcst = {
+
+ field = [
+ {
+ name = "U_PL";
+ level = [ "(0,2,*,*)" ];
+ cat_thresh = [ >=0.0, >=2.5 ];
+ }
+ ];
+
+}
+obs = {
+
+ field = [
+ {
+ name = "U_PL";
+ level = [ "(0,@50000,*,*)" ];
+ cat_thresh = [ >=0.0, >=2.5 ];
+ }
+ ];
+
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+//
+// Climatology data
+//
+climo_mean = {
+
+ file_name = [];
+ field = [];
+
+ regrid = {
+ method = NEAREST;
+ width = 1;
+ vld_thresh = 0.5;
+ shape = SQUARE;
+ }
+
+ time_interp_method = DW_MEAN;
+ day_interval = 31;
+ hour_interval = 6;
+}
+
+climo_stdev = climo_mean;
+climo_stdev = {
+ file_name = [];
+}
+
+//
+// May be set separately in each "obs.field" entry
+//
+climo_cdf = {
+ cdf_bins = 1;
+ center_bins = FALSE;
+ write_bins = TRUE;
+ direct_prob = FALSE;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+//
+// Verification masking regions
+// May be set separately in each "obs.field" entry
+//
+mask = {
+ grid = [ "FULL" ];
+ poly = [];
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+//
+// Confidence interval settings
+// May be set separately in each "obs.field" entry
+//
+ci_alpha = [ 0.05 ];
+
+boot = {
+ interval = PCTILE;
+ rep_prop = 1.0;
+ n_rep = 0;
+ rng = "mt19937";
+ seed = "";
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+//
+// Data smoothing methods
+// May be set separately in each "obs.field" entry
+//
+interp = {
+ field = BOTH;
+ vld_thresh = 1.0;
+ shape = SQUARE;
+
+ type = [
+ {
+ method = NEAREST;
+ width = 1;
+ }
+ ];
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+//
+// Neighborhood methods
+// May be set separately in each "obs.field" entry
+//
+nbrhd = {
+ field = BOTH;
+ vld_thresh = 1.0;
+ shape = SQUARE;
+ width = [ 1 ];
+ cov_thresh = [ >=0.5 ];
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+//
+// Fourier decomposition
+// May be set separately in each "obs.field" entry
+//
+fourier = {
+ wave_1d_beg = [];
+ wave_1d_end = [];
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+//
+// Gradient statistics
+// May be set separately in each "obs.field" entry
+//
+gradient = {
+ dx = [ 1 ];
+ dy = [ 1 ];
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+//
+// Distance Map statistics
+// May be set separately in each "obs.field" entry
+//
+distance_map = {
+ baddeley_p = 2;
+ baddeley_max_dist = NA;
+ fom_alpha = 0.1;
+ zhu_weight = 0.5;
+ beta_value(n) = n * n / 2.0;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+//
+// Threshold for SEEPS p1 (Probability of being dry)
+//
+seeps_p1_thresh = >=0.1&&<=0.85;
+
+////////////////////////////////////////////////////////////////////////////////
+
+//
+// Statistical output types
+// May be set separately in each "obs.field" entry
+//
+output_flag = {
+ fho = STAT;
+ ctc = STAT;
+ cts = STAT;
+ mctc = STAT;
+ mcts = STAT;
+ cnt = STAT;
+ sl1l2 = STAT;
+ sal1l2 = NONE;
+ vl1l2 = NONE;
+ val1l2 = NONE;
+ vcnt = NONE;
+ pct = NONE;
+ pstd = NONE;
+ pjc = NONE;
+ prc = NONE;
+ eclv = NONE;
+ nbrctc = NONE;
+ nbrcts = NONE;
+ nbrcnt = NONE;
+ grad = NONE;
+ dmap = NONE;
+ seeps = NONE;
+}
+
+//
+// NetCDF matched pairs output file
+// May be set separately in each "obs.field" entry
+//
+nc_pairs_flag = {
+ latlon = TRUE;
+ raw = TRUE;
+ diff = TRUE;
+ climo = TRUE;
+ climo_cdp = FALSE;
+ seeps = FALSE;
+ weight = FALSE;
+ nbrhd = FALSE;
+ fourier = FALSE;
+ gradient = FALSE;
+ distance_map = FALSE;
+ apply_mask = TRUE;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+ugrid_dataset = "";
+ugrid_max_distance_km = 30;
+ugrid_coordinates_file = "";
+
+////////////////////////////////////////////////////////////////////////////////
+
+grid_weight_flag = NONE;
+tmp_dir = "/tmp";
+output_prefix = "${OUTPUT_PREFIX}";
+version = "V12.0.0";
+
+////////////////////////////////////////////////////////////////////////////////
diff --git a/internal/test_unit/xml/unit_grid_stat.xml b/internal/test_unit/xml/unit_grid_stat.xml
index 204e934230..f70f53ad22 100644
--- a/internal/test_unit/xml/unit_grid_stat.xml
+++ b/internal/test_unit/xml/unit_grid_stat.xml
@@ -311,4 +311,21 @@
+
+ &MET_BIN;/grid_stat
+
+ OUTPUT_PREFIX WRF_pres
+
+ \
+ &DATA_DIR_MODEL;/wrf/wrfout_solarwind_d02_2019-08-31_12:00:00 \
+ &DATA_DIR_MODEL;/wrf/wrfout_solarwind_d02_2019-08-31_12:00:00 \
+ &CONFIG_DIR;/GridStatConfig_WRF_pres \
+ -outdir &OUTPUT_DIR;/grid_stat -v 1
+
+
+
+
diff --git a/internal/test_unit/xml/unit_plot_data_plane.xml b/internal/test_unit/xml/unit_plot_data_plane.xml
index 86709b0621..2337c7a705 100644
--- a/internal/test_unit/xml/unit_plot_data_plane.xml
+++ b/internal/test_unit/xml/unit_plot_data_plane.xml
@@ -581,4 +581,88 @@
+
+ &MET_BIN;/plot_data_plane
+ \
+ &DATA_DIR_MODEL;/wrf/wrfout_solarwind_d02_2019-08-31_12:00:00 \
+ &OUTPUT_DIR;/plot_data_plane/wrf_west_east_stag.ps \
+ 'name="U"; level="(0,0,*,*)";' \
+ -title "X-wind component (staggered)" \
+ -v 1
+
+
+
+
+
+ &MET_BIN;/plot_data_plane
+ \
+ &DATA_DIR_MODEL;/wrf/wrfout_solarwind_d02_2019-08-31_12:00:00 \
+ &OUTPUT_DIR;/plot_data_plane/wrf_south_north_stag.ps \
+ 'name="V"; level="(0,0,*,*)";' \
+ -title "Y-wind component (staggered)" \
+ -v 1
+
+
+
+
+
+ &MET_BIN;/plot_data_plane
+ \
+ &DATA_DIR_MODEL;/wrf/wrfout_solarwind_d02_2019-08-31_12:00:00 \
+ &OUTPUT_DIR;/plot_data_plane/wrf_num_press_levels_stag.ps \
+ 'name="RH_PL"; level="(0,@50000,*,*)";' \
+ -title "Relative Humidity P50000 (num_press_levels_stag)" \
+ -v 1
+
+
+
+
+
+ &MET_BIN;/plot_data_plane
+ \
+ &DATA_DIR_MODEL;/wrf/wrfout_solarwind_d02_2019-08-31_12:00:00 \
+ &OUTPUT_DIR;/plot_data_plane/wrf_num_z_levels_stag.ps \
+ 'name="RH_ZL"; level="(0,0,*,*)";' \
+ -title "Relative Humidity Z-level (num_z_levels_stag)" \
+ -v 1
+
+
+
+
+
+ &MET_BIN;/plot_data_plane
+ \
+ &DATA_DIR_MODEL;/wrf/wrfout_solarwind_d02_2019-08-31_12:00:00 \
+ &OUTPUT_DIR;/plot_data_plane/wrf_bottom_top.ps \
+ 'name="T"; level="(0,0,*,*)";' \
+ -title "perturbation potential temperature theta-t0 (bottom_top)" \
+ -v 1
+
+
+
+
+
+ &MET_BIN;/plot_data_plane
+ \
+ &DATA_DIR_MODEL;/wrf/wrfout_solarwind_d02_2019-08-31_12:00:00 \
+ &OUTPUT_DIR;/plot_data_plane/wrf_bottom_top_stag.ps \
+ 'name="PH"; level="(0,22,*,*)";' \
+ -title "perturbation geopotential (bottom_top_stag)" \
+ -v 1
+
+
+
+
diff --git a/internal/test_util/basic/vx_util/Makefile.am b/internal/test_util/basic/vx_util/Makefile.am
index 8717867cda..c39a98ace1 100644
--- a/internal/test_util/basic/vx_util/Makefile.am
+++ b/internal/test_util/basic/vx_util/Makefile.am
@@ -93,9 +93,9 @@ test_ascii_header_LDADD = -lvx_stat_out \
-lvx_statistics \
-lvx_data2d_factory \
-lvx_data2d_nc_met \
- -lvx_data2d_nc_pinterp \
+ -lvx_data2d_nc_wrf \
$(PYTHON_MET_LIBS) $(PYTHON_DEP_LIBS) \
- -lvx_data2d_nccf \
+ -lvx_data2d_nc_cf \
-lvx_data2d_grib $(GRIB2_MET_LIBS) $(GRIB2_DEP_LIBS) \
-lvx_data2d \
-lvx_nc_util \
diff --git a/internal/test_util/basic/vx_util/Makefile.in b/internal/test_util/basic/vx_util/Makefile.in
index d904c45e7a..ebbef0522c 100644
--- a/internal/test_util/basic/vx_util/Makefile.in
+++ b/internal/test_util/basic/vx_util/Makefile.in
@@ -401,9 +401,9 @@ test_ascii_header_LDADD = -lvx_stat_out \
-lvx_statistics \
-lvx_data2d_factory \
-lvx_data2d_nc_met \
- -lvx_data2d_nc_pinterp \
+ -lvx_data2d_nc_wrf \
$(PYTHON_MET_LIBS) $(PYTHON_DEP_LIBS) \
- -lvx_data2d_nccf \
+ -lvx_data2d_nc_cf \
-lvx_data2d_grib $(GRIB2_MET_LIBS) $(GRIB2_DEP_LIBS) \
-lvx_data2d \
-lvx_nc_util \
diff --git a/internal/test_util/libcode/Makefile.am b/internal/test_util/libcode/Makefile.am
index e05a0595fc..38c5944d79 100644
--- a/internal/test_util/libcode/Makefile.am
+++ b/internal/test_util/libcode/Makefile.am
@@ -19,7 +19,7 @@
SUBDIRS = vx_data2d \
vx_data2d_grib \
vx_data2d_nc_met \
- vx_data2d_nccf \
+ vx_data2d_nc_cf \
vx_data2d_factory \
vx_geodesy \
vx_grid \
diff --git a/internal/test_util/libcode/Makefile.in b/internal/test_util/libcode/Makefile.in
index 2f708a52b2..0f56d40950 100644
--- a/internal/test_util/libcode/Makefile.in
+++ b/internal/test_util/libcode/Makefile.in
@@ -339,7 +339,7 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-SUBDIRS = vx_data2d vx_data2d_grib vx_data2d_nc_met vx_data2d_nccf \
+SUBDIRS = vx_data2d vx_data2d_grib vx_data2d_nc_met vx_data2d_nc_cf \
vx_data2d_factory vx_geodesy vx_grid vx_ps vx_solar \
vx_plot_util vx_tc_util vx_nc_util vx_physics vx_series_data \
$(am__append_1)
diff --git a/internal/test_util/libcode/vx_data2d_factory/Makefile.am b/internal/test_util/libcode/vx_data2d_factory/Makefile.am
index 77bd62fff1..ad1ad279e4 100644
--- a/internal/test_util/libcode/vx_data2d_factory/Makefile.am
+++ b/internal/test_util/libcode/vx_data2d_factory/Makefile.am
@@ -34,8 +34,8 @@ test_factory_LDADD = -lvx_stat_out \
-lvx_data2d_nc_met \
-lvx_data2d_grib \
$(GRIB2_MET_LIBS) \
- -lvx_data2d_nc_pinterp \
- -lvx_data2d_nccf \
+ -lvx_data2d_nc_wrf \
+ -lvx_data2d_nc_cf \
$(UGRID_MET_LIBS) \
$(PYTHON_MET_LIBS) \
-lvx_statistics \
diff --git a/internal/test_util/libcode/vx_data2d_factory/Makefile.in b/internal/test_util/libcode/vx_data2d_factory/Makefile.in
index 7964d3fd22..1d93387de5 100644
--- a/internal/test_util/libcode/vx_data2d_factory/Makefile.in
+++ b/internal/test_util/libcode/vx_data2d_factory/Makefile.in
@@ -355,8 +355,8 @@ test_factory_LDADD = -lvx_stat_out \
-lvx_data2d_nc_met \
-lvx_data2d_grib \
$(GRIB2_MET_LIBS) \
- -lvx_data2d_nc_pinterp \
- -lvx_data2d_nccf \
+ -lvx_data2d_nc_wrf \
+ -lvx_data2d_nc_cf \
$(UGRID_MET_LIBS) \
$(PYTHON_MET_LIBS) \
-lvx_statistics \
diff --git a/internal/test_util/libcode/vx_data2d_nccf/.gitignore b/internal/test_util/libcode/vx_data2d_nc_cf/.gitignore
similarity index 100%
rename from internal/test_util/libcode/vx_data2d_nccf/.gitignore
rename to internal/test_util/libcode/vx_data2d_nc_cf/.gitignore
diff --git a/internal/test_util/libcode/vx_data2d_nccf/Makefile.am b/internal/test_util/libcode/vx_data2d_nc_cf/Makefile.am
similarity index 93%
rename from internal/test_util/libcode/vx_data2d_nccf/Makefile.am
rename to internal/test_util/libcode/vx_data2d_nc_cf/Makefile.am
index 1c9bbbe8e3..ac732919dc 100644
--- a/internal/test_util/libcode/vx_data2d_nccf/Makefile.am
+++ b/internal/test_util/libcode/vx_data2d_nc_cf/Makefile.am
@@ -15,7 +15,7 @@ noinst_PROGRAMS = test_read_nccf
test_read_nccf_SOURCES = test_read_nccf.cc
test_read_nccf_CPPFLAGS = ${MET_CPPFLAGS}
test_read_nccf_LDFLAGS = -L. ${MET_LDFLAGS}
-test_read_nccf_LDADD = -lvx_data2d_nccf \
+test_read_nccf_LDADD = -lvx_data2d_nc_cf \
$(UGRID_MET_LIBS) \
-lvx_nc_util \
-lvx_data2d \
diff --git a/internal/test_util/libcode/vx_data2d_nccf/Makefile.in b/internal/test_util/libcode/vx_data2d_nc_cf/Makefile.in
similarity index 99%
rename from internal/test_util/libcode/vx_data2d_nccf/Makefile.in
rename to internal/test_util/libcode/vx_data2d_nc_cf/Makefile.in
index 26689f2e99..52429cc106 100644
--- a/internal/test_util/libcode/vx_data2d_nccf/Makefile.in
+++ b/internal/test_util/libcode/vx_data2d_nc_cf/Makefile.in
@@ -89,7 +89,7 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
noinst_PROGRAMS = test_read_nccf$(EXEEXT)
-subdir = internal/test_util/libcode/vx_data2d_nccf
+subdir = internal/test_util/libcode/vx_data2d_nc_cf
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -329,7 +329,7 @@ MAINTAINERCLEANFILES = Makefile.in
test_read_nccf_SOURCES = test_read_nccf.cc
test_read_nccf_CPPFLAGS = ${MET_CPPFLAGS}
test_read_nccf_LDFLAGS = -L. ${MET_LDFLAGS}
-test_read_nccf_LDADD = -lvx_data2d_nccf \
+test_read_nccf_LDADD = -lvx_data2d_nc_cf \
$(UGRID_MET_LIBS) \
-lvx_nc_util \
-lvx_data2d \
@@ -359,9 +359,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign internal/test_util/libcode/vx_data2d_nccf/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign internal/test_util/libcode/vx_data2d_nc_cf/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign internal/test_util/libcode/vx_data2d_nccf/Makefile
+ $(AUTOMAKE) --foreign internal/test_util/libcode/vx_data2d_nc_cf/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
diff --git a/internal/test_util/libcode/vx_data2d_nccf/test_read_nccf.cc b/internal/test_util/libcode/vx_data2d_nc_cf/test_read_nccf.cc
similarity index 98%
rename from internal/test_util/libcode/vx_data2d_nccf/test_read_nccf.cc
rename to internal/test_util/libcode/vx_data2d_nc_cf/test_read_nccf.cc
index f5d2939b54..7b8b5aa660 100644
--- a/internal/test_util/libcode/vx_data2d_nccf/test_read_nccf.cc
+++ b/internal/test_util/libcode/vx_data2d_nc_cf/test_read_nccf.cc
@@ -19,7 +19,7 @@ using namespace std;
#include "vx_log.h"
#include "data_class.h"
-#include "data2d_nccf.h"
+#include "data2d_nc_cf.h"
////////////////////////////////////////////////////////////////////////
diff --git a/internal/test_util/libcode/vx_nc_util/Makefile.am b/internal/test_util/libcode/vx_nc_util/Makefile.am
index b691fbf392..9ccc5b3438 100644
--- a/internal/test_util/libcode/vx_nc_util/Makefile.am
+++ b/internal/test_util/libcode/vx_nc_util/Makefile.am
@@ -31,9 +31,9 @@ test_pressure_levels_LDADD = -lvx_stat_out \
-lvx_statistics \
-lvx_data2d_factory \
-lvx_data2d_nc_met \
- -lvx_data2d_nc_pinterp \
+ -lvx_data2d_nc_wrf \
$(PYTHON_MET_LIBS) $(PYTHON_DEP_LIBS) \
- -lvx_data2d_nccf \
+ -lvx_data2d_nc_cf \
-lvx_data2d_grib $(GRIB2_MET_LIBS) $(GRIB2_DEP_LIBS) \
-lvx_data2d \
-lvx_nc_util \
diff --git a/internal/test_util/libcode/vx_nc_util/Makefile.in b/internal/test_util/libcode/vx_nc_util/Makefile.in
index 826e385c3e..ad865d558f 100644
--- a/internal/test_util/libcode/vx_nc_util/Makefile.in
+++ b/internal/test_util/libcode/vx_nc_util/Makefile.in
@@ -346,9 +346,9 @@ test_pressure_levels_LDADD = -lvx_stat_out \
-lvx_statistics \
-lvx_data2d_factory \
-lvx_data2d_nc_met \
- -lvx_data2d_nc_pinterp \
+ -lvx_data2d_nc_wrf \
$(PYTHON_MET_LIBS) $(PYTHON_DEP_LIBS) \
- -lvx_data2d_nccf \
+ -lvx_data2d_nc_cf \
-lvx_data2d_grib $(GRIB2_MET_LIBS) $(GRIB2_DEP_LIBS) \
-lvx_data2d \
-lvx_nc_util \
diff --git a/internal/test_util/libcode/vx_tc_util/Makefile.am b/internal/test_util/libcode/vx_tc_util/Makefile.am
index 6c19dad86e..e24d253119 100644
--- a/internal/test_util/libcode/vx_tc_util/Makefile.am
+++ b/internal/test_util/libcode/vx_tc_util/Makefile.am
@@ -33,9 +33,9 @@ test_read_LDADD = -lvx_stat_out \
-lvx_statistics \
-lvx_data2d_factory \
-lvx_data2d_nc_met \
- -lvx_data2d_nc_pinterp \
+ -lvx_data2d_nc_wrf \
$(PYTHON_MET_LIBS) $(PYTHON_DEP_LIBS) \
- -lvx_data2d_nccf \
+ -lvx_data2d_nc_cf \
-lvx_data2d_grib $(GRIB2_MET_LIBS) $(GRIB2_DEP_LIBS) \
-lvx_data2d \
-lvx_nc_util \
@@ -69,9 +69,9 @@ test_read_prob_LDADD = -lvx_stat_out \
-lvx_statistics \
-lvx_data2d_factory \
-lvx_data2d_nc_met \
- -lvx_data2d_nc_pinterp \
+ -lvx_data2d_nc_wrf \
$(PYTHON_MET_LIBS) $(PYTHON_DEP_LIBS) \
- -lvx_data2d_nccf \
+ -lvx_data2d_nc_cf \
-lvx_data2d_grib $(GRIB2_MET_LIBS) $(GRIB2_DEP_LIBS) \
-lvx_data2d \
-lvx_nc_util \
@@ -105,9 +105,9 @@ test_read_rmw_LDADD = -lvx_stat_out \
-lvx_statistics \
-lvx_data2d_factory \
-lvx_data2d_nc_met \
- -lvx_data2d_nc_pinterp \
+ -lvx_data2d_nc_wrf \
$(PYTHON_MET_LIBS) $(PYTHON_DEP_LIBS) \
- -lvx_data2d_nccf \
+ -lvx_data2d_nc_cf \
-lvx_data2d_grib $(GRIB2_MET_LIBS) $(GRIB2_DEP_LIBS) \
-lvx_data2d \
-lvx_nc_util \
diff --git a/internal/test_util/libcode/vx_tc_util/Makefile.in b/internal/test_util/libcode/vx_tc_util/Makefile.in
index ed6e1a58d6..daf8dce673 100644
--- a/internal/test_util/libcode/vx_tc_util/Makefile.in
+++ b/internal/test_util/libcode/vx_tc_util/Makefile.in
@@ -364,9 +364,9 @@ test_read_LDADD = -lvx_stat_out \
-lvx_statistics \
-lvx_data2d_factory \
-lvx_data2d_nc_met \
- -lvx_data2d_nc_pinterp \
+ -lvx_data2d_nc_wrf \
$(PYTHON_MET_LIBS) $(PYTHON_DEP_LIBS) \
- -lvx_data2d_nccf \
+ -lvx_data2d_nc_cf \
-lvx_data2d_grib $(GRIB2_MET_LIBS) $(GRIB2_DEP_LIBS) \
-lvx_data2d \
-lvx_nc_util \
@@ -400,9 +400,9 @@ test_read_prob_LDADD = -lvx_stat_out \
-lvx_statistics \
-lvx_data2d_factory \
-lvx_data2d_nc_met \
- -lvx_data2d_nc_pinterp \
+ -lvx_data2d_nc_wrf \
$(PYTHON_MET_LIBS) $(PYTHON_DEP_LIBS) \
- -lvx_data2d_nccf \
+ -lvx_data2d_nc_cf \
-lvx_data2d_grib $(GRIB2_MET_LIBS) $(GRIB2_DEP_LIBS) \
-lvx_data2d \
-lvx_nc_util \
@@ -436,9 +436,9 @@ test_read_rmw_LDADD = -lvx_stat_out \
-lvx_statistics \
-lvx_data2d_factory \
-lvx_data2d_nc_met \
- -lvx_data2d_nc_pinterp \
+ -lvx_data2d_nc_wrf \
$(PYTHON_MET_LIBS) $(PYTHON_DEP_LIBS) \
- -lvx_data2d_nccf \
+ -lvx_data2d_nc_cf \
-lvx_data2d_grib $(GRIB2_MET_LIBS) $(GRIB2_DEP_LIBS) \
-lvx_data2d \
-lvx_nc_util \
diff --git a/internal/test_util/tools/other/mode_time_domain/Makefile.am b/internal/test_util/tools/other/mode_time_domain/Makefile.am
index eb52695969..5bbe02612e 100644
--- a/internal/test_util/tools/other/mode_time_domain/Makefile.am
+++ b/internal/test_util/tools/other/mode_time_domain/Makefile.am
@@ -55,8 +55,8 @@ test_velocity_LDADD = \
-lvx_data2d_nc_met \
-lvx_data2d_grib \
$(GRIB2_MET_LIBS) \
- -lvx_data2d_nc_pinterp \
- -lvx_data2d_nccf \
+ -lvx_data2d_nc_wrf \
+ -lvx_data2d_nc_cf \
$(UGRID_MET_LIBS) \
$(PYTHON_MET_LIBS) \
-lvx_statistics \
diff --git a/internal/test_util/tools/other/mode_time_domain/Makefile.in b/internal/test_util/tools/other/mode_time_domain/Makefile.in
index 265f29603c..3e70894414 100644
--- a/internal/test_util/tools/other/mode_time_domain/Makefile.in
+++ b/internal/test_util/tools/other/mode_time_domain/Makefile.in
@@ -394,8 +394,8 @@ test_velocity_LDADD = \
-lvx_data2d_nc_met \
-lvx_data2d_grib \
$(GRIB2_MET_LIBS) \
- -lvx_data2d_nc_pinterp \
- -lvx_data2d_nccf \
+ -lvx_data2d_nc_wrf \
+ -lvx_data2d_nc_cf \
$(UGRID_MET_LIBS) \
$(PYTHON_MET_LIBS) \
-lvx_statistics \
diff --git a/src/basic/vx_config/config_constants.h b/src/basic/vx_config/config_constants.h
index 5794a86336..5985e0ba8e 100644
--- a/src/basic/vx_config/config_constants.h
+++ b/src/basic/vx_config/config_constants.h
@@ -1245,6 +1245,7 @@ static const char conf_key_cira_diag_flag[] = "cira_diag_flag";
static const char conf_val_grib1 [] = "GRIB1";
static const char conf_val_grib2 [] = "GRIB2";
static const char conf_val_netcdf_met [] = "NETCDF_MET";
+static const char conf_val_netcdf_wrf [] = "NETCDF_WRF";
static const char conf_val_netcdf_pint [] = "NETCDF_PINT";
static const char conf_val_netcdf_nccf [] = "NETCDF_NCCF";
static const char conf_val_netcdf_ugrid [] = "NETCDF_UGRID";
diff --git a/src/basic/vx_config/config_util.cc b/src/basic/vx_config/config_util.cc
index 78bff4dadc..3d02ba2aed 100644
--- a/src/basic/vx_config/config_util.cc
+++ b/src/basic/vx_config/config_util.cc
@@ -24,7 +24,6 @@ using namespace std;
///////////////////////////////////////////////////////////////////////////////
static const double default_vld_thresh = 1.0;
-//static const char conf_key_prepbufr_map_bad[] = "obs_prefbufr_map"; // for backward compatibility
///////////////////////////////////////////////////////////////////////////////
@@ -354,6 +353,7 @@ GrdFileType parse_conf_file_type(Dictionary *dict) {
if(v == conf_const.lookup_int(conf_val_grib1)) t = FileType_Gb1;
else if(v == conf_const.lookup_int(conf_val_grib2)) t = FileType_Gb2;
else if(v == conf_const.lookup_int(conf_val_netcdf_met)) t = FileType_NcMet;
+ else if(v == conf_const.lookup_int(conf_val_netcdf_wrf)) t = FileType_NcWrf;
else if(v == conf_const.lookup_int(conf_val_netcdf_pint)) t = FileType_NcPinterp;
else if(v == conf_const.lookup_int(conf_val_netcdf_nccf)) t = FileType_NcCF;
else if(v == conf_const.lookup_int(conf_val_netcdf_ugrid)) t = FileType_UGrid;
diff --git a/src/basic/vx_config/data_file_type.h b/src/basic/vx_config/data_file_type.h
index f9f6fa7c24..376685f7a6 100644
--- a/src/basic/vx_config/data_file_type.h
+++ b/src/basic/vx_config/data_file_type.h
@@ -29,13 +29,13 @@ enum GrdFileType
FileType_Gb2, // GRIB version 2
FileType_NcMet, // NetCDF MET format
FileType_General_Netcdf, // NetCDF
+ FileType_NcWrf, // NetCDF output directly from WRF-ARW
FileType_NcPinterp, // NetCDF output of WRF-ARW pinterp tool
FileType_NcCF, // NetCDF Climate-Forecast Convention
FileType_HdfEos, // Hierarchical Data Format - Earth Observing System
FileType_Bufr, // Bufr or PrepBufr format
-
- FileType_Python_Numpy, // python script using numpy array and attributes dictionary
- FileType_Python_Xarray, // python script using xarray dataplane
+ FileType_Python_Numpy, // Python script using numpy array and attributes dictionary
+ FileType_Python_Xarray, // Python script using xarray dataplane
FileType_UGrid, // Unstructured grid
};
@@ -44,6 +44,20 @@ enum GrdFileType
///////////////////////////////////////////////////////////////////////////////
+inline bool is_netcdf_grdfiletype(const GrdFileType _t)
+
+{
+
+return ( (_t == FileType_NcMet) || (_t == FileType_General_Netcdf) ||
+ (_t == FileType_NcWrf) || (_t == FileType_NcPinterp) ||
+ (_t == FileType_NcCF) );
+
+}
+
+
+///////////////////////////////////////////////////////////////////////////////
+
+
inline bool is_python_grdfiletype(const GrdFileType _t)
{
diff --git a/src/basic/vx_config/grdfiletype_to_string.cc b/src/basic/vx_config/grdfiletype_to_string.cc
index 0b802b97ab..e82450caf8 100644
--- a/src/basic/vx_config/grdfiletype_to_string.cc
+++ b/src/basic/vx_config/grdfiletype_to_string.cc
@@ -49,12 +49,13 @@ switch ( t ) {
case FileType_NcMet: s = "FileType_NcMet"; break;
case FileType_General_Netcdf: s = "FileType_General_Netcdf"; break;
+ case FileType_NcWrf: s = "FileType_NcWrf"; break;
case FileType_NcPinterp: s = "FileType_NcPinterp"; break;
case FileType_NcCF: s = "FileType_NcCF"; break;
case FileType_HdfEos: s = "FileType_HdfEos"; break;
case FileType_Bufr: s = "FileType_Bufr"; break;
- case FileType_Python_Numpy: s = "FileType_Python_Numpy"; break;
+ case FileType_Python_Numpy: s = "FileType_Python_Numpy"; break;
case FileType_Python_Xarray: s = "FileType_Python_Xarray"; break;
case FileType_UGrid: s = "FileType_UGrid"; break;
@@ -83,12 +84,13 @@ else if ( strcmp(text, "FileType_Gb2" ) == 0 ) { t = FileType_Gb2;
else if ( strcmp(text, "FileType_NcMet" ) == 0 ) { t = FileType_NcMet; return ( true ); }
else if ( strcmp(text, "FileType_General_Netcdf") == 0 ) { t = FileType_General_Netcdf; return ( true ); }
+else if ( strcmp(text, "FileType_NcWrf" ) == 0 ) { t = FileType_NcWrf; return ( true ); }
else if ( strcmp(text, "FileType_NcPinterp" ) == 0 ) { t = FileType_NcPinterp; return ( true ); }
else if ( strcmp(text, "FileType_NcCF" ) == 0 ) { t = FileType_NcCF; return ( true ); }
else if ( strcmp(text, "FileType_HdfEos" ) == 0 ) { t = FileType_HdfEos; return ( true ); }
else if ( strcmp(text, "FileType_Bufr" ) == 0 ) { t = FileType_Bufr; return ( true ); }
-else if ( strcmp(text, "FileType_Python_Numpy" ) == 0 ) { t = FileType_Python_Numpy; return ( true ); }
+else if ( strcmp(text, "FileType_Python_Numpy" ) == 0 ) { t = FileType_Python_Numpy; return ( true ); }
else if ( strcmp(text, "FileType_Python_Xarray" ) == 0 ) { t = FileType_Python_Xarray; return ( true ); }
else if ( strcmp(text, "FileType_UGrid" ) == 0 ) { t = FileType_UGrid; return ( true ); }
//
diff --git a/src/basic/vx_util/data_plane.cc b/src/basic/vx_util/data_plane.cc
index 52d2b72f9e..a6d702f0b6 100644
--- a/src/basic/vx_util/data_plane.cc
+++ b/src/basic/vx_util/data_plane.cc
@@ -298,7 +298,7 @@ void DataPlane::set_size(int nx, int ny, double v) {
}
//
- // delete exisiting data, if necessary
+ // delete existing data, if necessary
//
Nx = nx;
@@ -800,6 +800,91 @@ return;
}
+///////////////////////////////////////////////////////////////////////////////
+
+
+void DataPlane::destagger(bool x_stag, bool y_stag)
+{
+ // don't do anything if data is not staggered in x or y dimension
+ if (!x_stag && !y_stag) return;
+
+ const char *method_name = "DataPlane::destagger(bool, bool) -> ";
+
+ if ( Data.empty() ) {
+
+ mlog << Error << "\n\n " << method_name << " data plane is empty!\n\n";
+ exit ( 1 );
+
+ }
+
+ int nx_new = Nx;
+ int ny_new = Ny;
+ int nxy_new;
+ int weight = 0;
+ int x, y, index_new;
+ double total;
+ vector new_data;
+
+ // set nx and weight based on which dimensions are staggered
+
+ if (x_stag) {
+
+ mlog << Debug(3) << "De-staggering dataplane in X dimension\n";
+ nx_new = Nx - 1;
+ weight += 2;
+
+ }
+
+ if (y_stag) {
+
+ mlog << Debug(3) << "De-staggering dataplane in Y dimension\n";
+ ny_new = Ny - 1;
+ weight += 2;
+
+ }
+
+ // allocate vector to store output data
+
+ nxy_new = nx_new * ny_new;
+ new_data.resize(nxy_new);
+
+ for (y=0; y < ny_new; y++) {
+ for (x=0; x < nx_new; x++) {
+
+ index_new = y*nx_new + x;
+
+ // always add data from current grid point
+ total = Data[two_to_one(x, y)];
+
+ // add data from neighboring grid points based on staggered dimension
+
+ if (x_stag) {
+ total += Data[two_to_one(x+1,y)];
+ }
+ if (y_stag) {
+ total += Data[two_to_one(x,y+1)];
+ }
+
+ // add diagonal point if staggered in both dimensions (may not occur)
+
+ if (x_stag && y_stag) {
+ total += Data[two_to_one(x+1,y+1)];
+ }
+
+ // divide the sum of the values by the weight to compute the average
+
+ new_data[index_new] = total / weight;
+
+ }
+ }
+
+ // replace data vector and size variables
+
+ Data = new_data;
+ Nx = nx_new;
+ Ny = ny_new;
+ Nxy = nxy_new;
+}
///////////////////////////////////////////////////////////////////////////////
diff --git a/src/basic/vx_util/data_plane.h b/src/basic/vx_util/data_plane.h
index 8f203096d8..683701ada3 100644
--- a/src/basic/vx_util/data_plane.h
+++ b/src/basic/vx_util/data_plane.h
@@ -133,7 +133,8 @@ class DataPlane {
MaskPlane mask_plane() const;
- void shift_right (int n);
+ void shift_right (int n);
+ void destagger (bool x_stag, bool y_stag);
void put(const double, const int __x__, const int __y__);
diff --git a/src/libcode/Makefile.am b/src/libcode/Makefile.am
index e20f67551a..ff98f4df20 100644
--- a/src/libcode/Makefile.am
+++ b/src/libcode/Makefile.am
@@ -21,8 +21,8 @@ SUBDIRS = vx_grid \
vx_nc_util \
vx_data2d_grib \
vx_data2d_nc_met \
- vx_data2d_nccf \
- vx_data2d_nc_pinterp
+ vx_data2d_nc_wrf \
+ vx_data2d_nc_cf
if ENABLE_PYTHON
SUBDIRS += vx_python3_utils
diff --git a/src/libcode/Makefile.in b/src/libcode/Makefile.in
index 4af407ca04..5a7e7eb12d 100644
--- a/src/libcode/Makefile.in
+++ b/src/libcode/Makefile.in
@@ -154,7 +154,7 @@ am__define_uniq_tagged_files = \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
DIST_SUBDIRS = vx_grid vx_data2d vx_nc_util vx_data2d_grib \
- vx_data2d_nc_met vx_data2d_nccf vx_data2d_nc_pinterp \
+ vx_data2d_nc_met vx_data2d_nc_wrf vx_data2d_nc_cf \
vx_python3_utils vx_data2d_python vx_pointdata_python \
vx_data2d_grib2 vx_data2d_ugrid vx_data2d_factory vx_gsl_prob \
vx_gnomon vx_geodesy vx_gis vx_nav vx_pb_util vx_afm vx_color \
@@ -348,7 +348,7 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = vx_grid vx_data2d vx_nc_util vx_data2d_grib vx_data2d_nc_met \
- vx_data2d_nccf vx_data2d_nc_pinterp $(am__append_1) \
+ vx_data2d_nc_wrf vx_data2d_nc_cf $(am__append_1) \
$(am__append_2) $(am__append_3) vx_data2d_factory vx_gsl_prob \
vx_gnomon vx_geodesy vx_gis vx_nav vx_pb_util vx_afm vx_color \
vx_pxm vx_render vx_ps vx_plot_util vx_shapedata vx_statistics \
diff --git a/src/libcode/vx_data2d/vx_data2d.h b/src/libcode/vx_data2d/vx_data2d.h
index cffb18e27c..1212aaaf4d 100644
--- a/src/libcode/vx_data2d/vx_data2d.h
+++ b/src/libcode/vx_data2d/vx_data2d.h
@@ -29,6 +29,7 @@
#include "leveltype_to_string.h"
#include "var_info.h"
#include "table_lookup.h"
+#include "mask_filters.h"
////////////////////////////////////////////////////////////////////////
diff --git a/src/libcode/vx_data2d_factory/data2d_factory.cc b/src/libcode/vx_data2d_factory/data2d_factory.cc
index 729b43417e..5461892069 100644
--- a/src/libcode/vx_data2d_factory/data2d_factory.cc
+++ b/src/libcode/vx_data2d_factory/data2d_factory.cc
@@ -21,8 +21,8 @@ using namespace std;
#include "grdfiletype_to_string.h"
#include "data2d_grib.h"
#include "data2d_nc_met.h"
-#include "data2d_nc_pinterp.h"
-#include "data2d_nccf.h"
+#include "data2d_nc_wrf.h"
+#include "data2d_nc_cf.h"
#ifdef WITH_UGRID
#include "data2d_ugrid.h"
#endif
@@ -81,8 +81,9 @@ MetPythonDataFile * p = nullptr;
mtddf = new MetNcMetDataFile;
break;
+ case FileType_NcWrf:
case FileType_NcPinterp:
- mtddf = new MetNcPinterpDataFile;
+ mtddf = new MetNcWrfDataFile;
break;
case FileType_NcCF:
diff --git a/src/libcode/vx_data2d_factory/data2d_factory_utils.cc b/src/libcode/vx_data2d_factory/data2d_factory_utils.cc
index 5c6d7e991e..6818aa4098 100644
--- a/src/libcode/vx_data2d_factory/data2d_factory_utils.cc
+++ b/src/libcode/vx_data2d_factory/data2d_factory_utils.cc
@@ -98,6 +98,7 @@ suffix_type = file_type_by_suffix(filename);
if ( is_grib1_file (filename) ) data_type = FileType_Gb1;
else if ( is_grib2_file (filename) ) data_type = FileType_Gb2;
else if ( is_ncpinterp_file (filename) ) data_type = FileType_NcPinterp;
+else if ( is_ncwrf_file (filename) ) data_type = FileType_NcWrf;
else if ( is_nccf_file (filename) ) data_type = FileType_NcCF;
else if ( is_ncmet_file (filename) ) data_type = FileType_NcMet;
else if ( is_bufr_file (filename) ) data_type = FileType_Bufr;
diff --git a/src/libcode/vx_data2d_factory/is_netcdf_file.cc b/src/libcode/vx_data2d_factory/is_netcdf_file.cc
index f6f0856009..d844d76962 100644
--- a/src/libcode/vx_data2d_factory/is_netcdf_file.cc
+++ b/src/libcode/vx_data2d_factory/is_netcdf_file.cc
@@ -49,8 +49,9 @@ static const string ugrid_att_value = "UGRID";
static const string ncmet_att_version = "MET_version";
static const string ncmet_att_projection = "Projection";
-static const string ncpinterp_att_name = "TITLE";
+static const string nctitle_att_name = "TITLE";
static const char ncpinterp_att_value [] = "ON PRES LEVELS";
+static const char ncwrf_att_value [] = "OUTPUT FROM WRF";
static const string mesh_spec_att_name = "mesh_spec";
@@ -157,9 +158,40 @@ bool is_ncpinterp_file(const char * filename)
if (!IS_INVALID_NC_P(nc_file)) {
// Get the global attribute
- if (get_global_att(nc_file, ncpinterp_att_name, att_val)) {
+ if (get_global_att(nc_file, nctitle_att_name, att_val)) {
// Check the attribute value for the target string
- status = (strstr(att_val.c_str(), ncpinterp_att_value));
+ status = (strstr(att_val.c_str(), ncwrf_att_value) &&
+ strstr(att_val.c_str(), ncpinterp_att_value));
+ }
+ }
+
+ delete nc_file;
+
+ }catch(...) {
+ }
+
+ return status;
+
+}
+
+
+////////////////////////////////////////////////////////////////////////
+
+
+bool is_ncwrf_file(const char * filename)
+{
+ bool status = false;
+ try {
+ ConcatString att_val;
+ NcFile *nc_file = open_ncfile(filename);
+
+ if (!IS_INVALID_NC_P(nc_file)) {
+ // Get the global attribute
+ if (get_global_att(nc_file, nctitle_att_name, att_val)) {
+ // Check the attribute value for the target string
+ // Distinguish between WRF and PInterp output
+ status = ( strstr(att_val.c_str(), ncwrf_att_value) &&
+ !strstr(att_val.c_str(), ncpinterp_att_value));
}
}
diff --git a/src/libcode/vx_data2d_factory/is_netcdf_file.h b/src/libcode/vx_data2d_factory/is_netcdf_file.h
index 170a5d4c0f..ddfdbbe1b8 100644
--- a/src/libcode/vx_data2d_factory/is_netcdf_file.h
+++ b/src/libcode/vx_data2d_factory/is_netcdf_file.h
@@ -29,6 +29,8 @@ extern bool is_ncmet_file(const char * filename);
extern bool is_ncpinterp_file(const char * filename);
+extern bool is_ncwrf_file(const char * filename);
+
extern bool is_ugrid_file(const char * filename);
////////////////////////////////////////////////////////////////////////
diff --git a/src/libcode/vx_data2d_factory/var_info_factory.cc b/src/libcode/vx_data2d_factory/var_info_factory.cc
index 3ac92b1dd1..4a308c077b 100644
--- a/src/libcode/vx_data2d_factory/var_info_factory.cc
+++ b/src/libcode/vx_data2d_factory/var_info_factory.cc
@@ -26,9 +26,9 @@ using namespace std;
#include "var_info_factory.h"
#include "grdfiletype_to_string.h"
#include "var_info_grib.h"
-#include "var_info_nccf.h"
+#include "var_info_nc_cf.h"
#include "var_info_nc_met.h"
-#include "var_info_nc_pinterp.h"
+#include "var_info_nc_wrf.h"
#include "var_info_ugrid.h"
#ifdef WITH_PYTHON
@@ -85,8 +85,9 @@ VarInfo * VarInfoFactory::new_var_info(GrdFileType type)
vi = new VarInfoNcMet;
break;
+ case FileType_NcWrf:
case FileType_NcPinterp:
- vi = new VarInfoNcPinterp;
+ vi = new VarInfoNcWrf;
break;
case FileType_Python_Numpy:
diff --git a/src/libcode/vx_data2d_nc_pinterp/.gitignore b/src/libcode/vx_data2d_nc_cf/.gitignore
similarity index 100%
rename from src/libcode/vx_data2d_nc_pinterp/.gitignore
rename to src/libcode/vx_data2d_nc_cf/.gitignore
diff --git a/src/libcode/vx_data2d_nc_cf/Makefile.am b/src/libcode/vx_data2d_nc_cf/Makefile.am
new file mode 100644
index 0000000000..e74394ea78
--- /dev/null
+++ b/src/libcode/vx_data2d_nc_cf/Makefile.am
@@ -0,0 +1,20 @@
+## @start 1
+## Makefile.am -- Process this file with automake to produce Makefile.in
+## @end 1
+
+MAINTAINERCLEANFILES = Makefile.in
+
+# Include the project definitions
+
+include ${top_srcdir}/Make-include
+
+# The library
+
+noinst_LIBRARIES = libvx_data2d_nc_cf.a
+libvx_data2d_nc_cf_a_SOURCES = \
+ nc_cf_file.cc nc_cf_file.h \
+ var_info_nc_cf.cc var_info_nc_cf.h \
+ data2d_nc_cf.cc data2d_nc_cf.h \
+ vx_data2d_nc_cf.h
+libvx_data2d_nc_cf_a_CPPFLAGS = ${MET_CPPFLAGS}
+
diff --git a/src/libcode/vx_data2d_nccf/Makefile.in b/src/libcode/vx_data2d_nc_cf/Makefile.in
similarity index 74%
rename from src/libcode/vx_data2d_nccf/Makefile.in
rename to src/libcode/vx_data2d_nc_cf/Makefile.in
index 881177942a..cd972c6936 100644
--- a/src/libcode/vx_data2d_nccf/Makefile.in
+++ b/src/libcode/vx_data2d_nc_cf/Makefile.in
@@ -88,7 +88,7 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-subdir = src/libcode/vx_data2d_nccf
+subdir = src/libcode/vx_data2d_nc_cf
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -105,13 +105,13 @@ AM_V_AR = $(am__v_AR_@AM_V@)
am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
am__v_AR_0 = @echo " AR " $@;
am__v_AR_1 =
-libvx_data2d_nccf_a_AR = $(AR) $(ARFLAGS)
-libvx_data2d_nccf_a_LIBADD =
-am_libvx_data2d_nccf_a_OBJECTS = \
- libvx_data2d_nccf_a-nccf_file.$(OBJEXT) \
- libvx_data2d_nccf_a-var_info_nccf.$(OBJEXT) \
- libvx_data2d_nccf_a-data2d_nccf.$(OBJEXT)
-libvx_data2d_nccf_a_OBJECTS = $(am_libvx_data2d_nccf_a_OBJECTS)
+libvx_data2d_nc_cf_a_AR = $(AR) $(ARFLAGS)
+libvx_data2d_nc_cf_a_LIBADD =
+am_libvx_data2d_nc_cf_a_OBJECTS = \
+ libvx_data2d_nc_cf_a-nc_cf_file.$(OBJEXT) \
+ libvx_data2d_nc_cf_a-var_info_nc_cf.$(OBJEXT) \
+ libvx_data2d_nc_cf_a-data2d_nc_cf.$(OBJEXT)
+libvx_data2d_nc_cf_a_OBJECTS = $(am_libvx_data2d_nc_cf_a_OBJECTS)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -127,9 +127,10 @@ am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__maybe_remake_depfiles = depfiles
-am__depfiles_remade = ./$(DEPDIR)/libvx_data2d_nccf_a-data2d_nccf.Po \
- ./$(DEPDIR)/libvx_data2d_nccf_a-nccf_file.Po \
- ./$(DEPDIR)/libvx_data2d_nccf_a-var_info_nccf.Po
+am__depfiles_remade = \
+ ./$(DEPDIR)/libvx_data2d_nc_cf_a-data2d_nc_cf.Po \
+ ./$(DEPDIR)/libvx_data2d_nc_cf_a-nc_cf_file.Po \
+ ./$(DEPDIR)/libvx_data2d_nc_cf_a-var_info_nc_cf.Po
am__mv = mv -f
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -160,8 +161,8 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
-SOURCES = $(libvx_data2d_nccf_a_SOURCES)
-DIST_SOURCES = $(libvx_data2d_nccf_a_SOURCES)
+SOURCES = $(libvx_data2d_nc_cf_a_SOURCES)
+DIST_SOURCES = $(libvx_data2d_nc_cf_a_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -347,14 +348,14 @@ top_srcdir = @top_srcdir@
MAINTAINERCLEANFILES = Makefile.in
# The library
-noinst_LIBRARIES = libvx_data2d_nccf.a
-libvx_data2d_nccf_a_SOURCES = \
- nccf_file.cc nccf_file.h \
- var_info_nccf.cc var_info_nccf.h \
- data2d_nccf.cc data2d_nccf.h \
- vx_data2d_nccf.h
-
-libvx_data2d_nccf_a_CPPFLAGS = ${MET_CPPFLAGS}
+noinst_LIBRARIES = libvx_data2d_nc_cf.a
+libvx_data2d_nc_cf_a_SOURCES = \
+ nc_cf_file.cc nc_cf_file.h \
+ var_info_nc_cf.cc var_info_nc_cf.h \
+ data2d_nc_cf.cc data2d_nc_cf.h \
+ vx_data2d_nc_cf.h
+
+libvx_data2d_nc_cf_a_CPPFLAGS = ${MET_CPPFLAGS}
all: all-am
.SUFFIXES:
@@ -368,9 +369,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/libcode/vx_data2d_nccf/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/libcode/vx_data2d_nc_cf/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign src/libcode/vx_data2d_nccf/Makefile
+ $(AUTOMAKE) --foreign src/libcode/vx_data2d_nc_cf/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -392,10 +393,10 @@ $(am__aclocal_m4_deps):
clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libvx_data2d_nccf.a: $(libvx_data2d_nccf_a_OBJECTS) $(libvx_data2d_nccf_a_DEPENDENCIES) $(EXTRA_libvx_data2d_nccf_a_DEPENDENCIES)
- $(AM_V_at)-rm -f libvx_data2d_nccf.a
- $(AM_V_AR)$(libvx_data2d_nccf_a_AR) libvx_data2d_nccf.a $(libvx_data2d_nccf_a_OBJECTS) $(libvx_data2d_nccf_a_LIBADD)
- $(AM_V_at)$(RANLIB) libvx_data2d_nccf.a
+libvx_data2d_nc_cf.a: $(libvx_data2d_nc_cf_a_OBJECTS) $(libvx_data2d_nc_cf_a_DEPENDENCIES) $(EXTRA_libvx_data2d_nc_cf_a_DEPENDENCIES)
+ $(AM_V_at)-rm -f libvx_data2d_nc_cf.a
+ $(AM_V_AR)$(libvx_data2d_nc_cf_a_AR) libvx_data2d_nc_cf.a $(libvx_data2d_nc_cf_a_OBJECTS) $(libvx_data2d_nc_cf_a_LIBADD)
+ $(AM_V_at)$(RANLIB) libvx_data2d_nc_cf.a
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -403,9 +404,9 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvx_data2d_nccf_a-data2d_nccf.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvx_data2d_nccf_a-nccf_file.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvx_data2d_nccf_a-var_info_nccf.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvx_data2d_nc_cf_a-data2d_nc_cf.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvx_data2d_nc_cf_a-nc_cf_file.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvx_data2d_nc_cf_a-var_info_nc_cf.Po@am__quote@ # am--include-marker
$(am__depfiles_remade):
@$(MKDIR_P) $(@D)
@@ -427,47 +428,47 @@ am--depfiles: $(am__depfiles_remade)
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-libvx_data2d_nccf_a-nccf_file.o: nccf_file.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nccf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nccf_a-nccf_file.o -MD -MP -MF $(DEPDIR)/libvx_data2d_nccf_a-nccf_file.Tpo -c -o libvx_data2d_nccf_a-nccf_file.o `test -f 'nccf_file.cc' || echo '$(srcdir)/'`nccf_file.cc
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nccf_a-nccf_file.Tpo $(DEPDIR)/libvx_data2d_nccf_a-nccf_file.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='nccf_file.cc' object='libvx_data2d_nccf_a-nccf_file.o' libtool=no @AMDEPBACKSLASH@
+libvx_data2d_nc_cf_a-nc_cf_file.o: nc_cf_file.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_cf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_cf_a-nc_cf_file.o -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_cf_a-nc_cf_file.Tpo -c -o libvx_data2d_nc_cf_a-nc_cf_file.o `test -f 'nc_cf_file.cc' || echo '$(srcdir)/'`nc_cf_file.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_cf_a-nc_cf_file.Tpo $(DEPDIR)/libvx_data2d_nc_cf_a-nc_cf_file.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='nc_cf_file.cc' object='libvx_data2d_nc_cf_a-nc_cf_file.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nccf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nccf_a-nccf_file.o `test -f 'nccf_file.cc' || echo '$(srcdir)/'`nccf_file.cc
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_cf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_cf_a-nc_cf_file.o `test -f 'nc_cf_file.cc' || echo '$(srcdir)/'`nc_cf_file.cc
-libvx_data2d_nccf_a-nccf_file.obj: nccf_file.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nccf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nccf_a-nccf_file.obj -MD -MP -MF $(DEPDIR)/libvx_data2d_nccf_a-nccf_file.Tpo -c -o libvx_data2d_nccf_a-nccf_file.obj `if test -f 'nccf_file.cc'; then $(CYGPATH_W) 'nccf_file.cc'; else $(CYGPATH_W) '$(srcdir)/nccf_file.cc'; fi`
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nccf_a-nccf_file.Tpo $(DEPDIR)/libvx_data2d_nccf_a-nccf_file.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='nccf_file.cc' object='libvx_data2d_nccf_a-nccf_file.obj' libtool=no @AMDEPBACKSLASH@
+libvx_data2d_nc_cf_a-nc_cf_file.obj: nc_cf_file.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_cf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_cf_a-nc_cf_file.obj -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_cf_a-nc_cf_file.Tpo -c -o libvx_data2d_nc_cf_a-nc_cf_file.obj `if test -f 'nc_cf_file.cc'; then $(CYGPATH_W) 'nc_cf_file.cc'; else $(CYGPATH_W) '$(srcdir)/nc_cf_file.cc'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_cf_a-nc_cf_file.Tpo $(DEPDIR)/libvx_data2d_nc_cf_a-nc_cf_file.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='nc_cf_file.cc' object='libvx_data2d_nc_cf_a-nc_cf_file.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nccf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nccf_a-nccf_file.obj `if test -f 'nccf_file.cc'; then $(CYGPATH_W) 'nccf_file.cc'; else $(CYGPATH_W) '$(srcdir)/nccf_file.cc'; fi`
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_cf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_cf_a-nc_cf_file.obj `if test -f 'nc_cf_file.cc'; then $(CYGPATH_W) 'nc_cf_file.cc'; else $(CYGPATH_W) '$(srcdir)/nc_cf_file.cc'; fi`
-libvx_data2d_nccf_a-var_info_nccf.o: var_info_nccf.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nccf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nccf_a-var_info_nccf.o -MD -MP -MF $(DEPDIR)/libvx_data2d_nccf_a-var_info_nccf.Tpo -c -o libvx_data2d_nccf_a-var_info_nccf.o `test -f 'var_info_nccf.cc' || echo '$(srcdir)/'`var_info_nccf.cc
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nccf_a-var_info_nccf.Tpo $(DEPDIR)/libvx_data2d_nccf_a-var_info_nccf.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='var_info_nccf.cc' object='libvx_data2d_nccf_a-var_info_nccf.o' libtool=no @AMDEPBACKSLASH@
+libvx_data2d_nc_cf_a-var_info_nc_cf.o: var_info_nc_cf.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_cf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_cf_a-var_info_nc_cf.o -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_cf_a-var_info_nc_cf.Tpo -c -o libvx_data2d_nc_cf_a-var_info_nc_cf.o `test -f 'var_info_nc_cf.cc' || echo '$(srcdir)/'`var_info_nc_cf.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_cf_a-var_info_nc_cf.Tpo $(DEPDIR)/libvx_data2d_nc_cf_a-var_info_nc_cf.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='var_info_nc_cf.cc' object='libvx_data2d_nc_cf_a-var_info_nc_cf.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nccf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nccf_a-var_info_nccf.o `test -f 'var_info_nccf.cc' || echo '$(srcdir)/'`var_info_nccf.cc
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_cf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_cf_a-var_info_nc_cf.o `test -f 'var_info_nc_cf.cc' || echo '$(srcdir)/'`var_info_nc_cf.cc
-libvx_data2d_nccf_a-var_info_nccf.obj: var_info_nccf.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nccf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nccf_a-var_info_nccf.obj -MD -MP -MF $(DEPDIR)/libvx_data2d_nccf_a-var_info_nccf.Tpo -c -o libvx_data2d_nccf_a-var_info_nccf.obj `if test -f 'var_info_nccf.cc'; then $(CYGPATH_W) 'var_info_nccf.cc'; else $(CYGPATH_W) '$(srcdir)/var_info_nccf.cc'; fi`
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nccf_a-var_info_nccf.Tpo $(DEPDIR)/libvx_data2d_nccf_a-var_info_nccf.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='var_info_nccf.cc' object='libvx_data2d_nccf_a-var_info_nccf.obj' libtool=no @AMDEPBACKSLASH@
+libvx_data2d_nc_cf_a-var_info_nc_cf.obj: var_info_nc_cf.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_cf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_cf_a-var_info_nc_cf.obj -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_cf_a-var_info_nc_cf.Tpo -c -o libvx_data2d_nc_cf_a-var_info_nc_cf.obj `if test -f 'var_info_nc_cf.cc'; then $(CYGPATH_W) 'var_info_nc_cf.cc'; else $(CYGPATH_W) '$(srcdir)/var_info_nc_cf.cc'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_cf_a-var_info_nc_cf.Tpo $(DEPDIR)/libvx_data2d_nc_cf_a-var_info_nc_cf.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='var_info_nc_cf.cc' object='libvx_data2d_nc_cf_a-var_info_nc_cf.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nccf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nccf_a-var_info_nccf.obj `if test -f 'var_info_nccf.cc'; then $(CYGPATH_W) 'var_info_nccf.cc'; else $(CYGPATH_W) '$(srcdir)/var_info_nccf.cc'; fi`
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_cf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_cf_a-var_info_nc_cf.obj `if test -f 'var_info_nc_cf.cc'; then $(CYGPATH_W) 'var_info_nc_cf.cc'; else $(CYGPATH_W) '$(srcdir)/var_info_nc_cf.cc'; fi`
-libvx_data2d_nccf_a-data2d_nccf.o: data2d_nccf.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nccf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nccf_a-data2d_nccf.o -MD -MP -MF $(DEPDIR)/libvx_data2d_nccf_a-data2d_nccf.Tpo -c -o libvx_data2d_nccf_a-data2d_nccf.o `test -f 'data2d_nccf.cc' || echo '$(srcdir)/'`data2d_nccf.cc
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nccf_a-data2d_nccf.Tpo $(DEPDIR)/libvx_data2d_nccf_a-data2d_nccf.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='data2d_nccf.cc' object='libvx_data2d_nccf_a-data2d_nccf.o' libtool=no @AMDEPBACKSLASH@
+libvx_data2d_nc_cf_a-data2d_nc_cf.o: data2d_nc_cf.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_cf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_cf_a-data2d_nc_cf.o -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_cf_a-data2d_nc_cf.Tpo -c -o libvx_data2d_nc_cf_a-data2d_nc_cf.o `test -f 'data2d_nc_cf.cc' || echo '$(srcdir)/'`data2d_nc_cf.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_cf_a-data2d_nc_cf.Tpo $(DEPDIR)/libvx_data2d_nc_cf_a-data2d_nc_cf.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='data2d_nc_cf.cc' object='libvx_data2d_nc_cf_a-data2d_nc_cf.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nccf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nccf_a-data2d_nccf.o `test -f 'data2d_nccf.cc' || echo '$(srcdir)/'`data2d_nccf.cc
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_cf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_cf_a-data2d_nc_cf.o `test -f 'data2d_nc_cf.cc' || echo '$(srcdir)/'`data2d_nc_cf.cc
-libvx_data2d_nccf_a-data2d_nccf.obj: data2d_nccf.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nccf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nccf_a-data2d_nccf.obj -MD -MP -MF $(DEPDIR)/libvx_data2d_nccf_a-data2d_nccf.Tpo -c -o libvx_data2d_nccf_a-data2d_nccf.obj `if test -f 'data2d_nccf.cc'; then $(CYGPATH_W) 'data2d_nccf.cc'; else $(CYGPATH_W) '$(srcdir)/data2d_nccf.cc'; fi`
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nccf_a-data2d_nccf.Tpo $(DEPDIR)/libvx_data2d_nccf_a-data2d_nccf.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='data2d_nccf.cc' object='libvx_data2d_nccf_a-data2d_nccf.obj' libtool=no @AMDEPBACKSLASH@
+libvx_data2d_nc_cf_a-data2d_nc_cf.obj: data2d_nc_cf.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_cf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_cf_a-data2d_nc_cf.obj -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_cf_a-data2d_nc_cf.Tpo -c -o libvx_data2d_nc_cf_a-data2d_nc_cf.obj `if test -f 'data2d_nc_cf.cc'; then $(CYGPATH_W) 'data2d_nc_cf.cc'; else $(CYGPATH_W) '$(srcdir)/data2d_nc_cf.cc'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_cf_a-data2d_nc_cf.Tpo $(DEPDIR)/libvx_data2d_nc_cf_a-data2d_nc_cf.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='data2d_nc_cf.cc' object='libvx_data2d_nc_cf_a-data2d_nc_cf.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nccf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nccf_a-data2d_nccf.obj `if test -f 'data2d_nccf.cc'; then $(CYGPATH_W) 'data2d_nccf.cc'; else $(CYGPATH_W) '$(srcdir)/data2d_nccf.cc'; fi`
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_cf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_cf_a-data2d_nc_cf.obj `if test -f 'data2d_nc_cf.cc'; then $(CYGPATH_W) 'data2d_nc_cf.cc'; else $(CYGPATH_W) '$(srcdir)/data2d_nc_cf.cc'; fi`
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
@@ -593,9 +594,9 @@ clean: clean-am
clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
distclean: distclean-am
- -rm -f ./$(DEPDIR)/libvx_data2d_nccf_a-data2d_nccf.Po
- -rm -f ./$(DEPDIR)/libvx_data2d_nccf_a-nccf_file.Po
- -rm -f ./$(DEPDIR)/libvx_data2d_nccf_a-var_info_nccf.Po
+ -rm -f ./$(DEPDIR)/libvx_data2d_nc_cf_a-data2d_nc_cf.Po
+ -rm -f ./$(DEPDIR)/libvx_data2d_nc_cf_a-nc_cf_file.Po
+ -rm -f ./$(DEPDIR)/libvx_data2d_nc_cf_a-var_info_nc_cf.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -641,9 +642,9 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -f ./$(DEPDIR)/libvx_data2d_nccf_a-data2d_nccf.Po
- -rm -f ./$(DEPDIR)/libvx_data2d_nccf_a-nccf_file.Po
- -rm -f ./$(DEPDIR)/libvx_data2d_nccf_a-var_info_nccf.Po
+ -rm -f ./$(DEPDIR)/libvx_data2d_nc_cf_a-data2d_nc_cf.Po
+ -rm -f ./$(DEPDIR)/libvx_data2d_nc_cf_a-nc_cf_file.Po
+ -rm -f ./$(DEPDIR)/libvx_data2d_nc_cf_a-var_info_nc_cf.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
diff --git a/src/libcode/vx_data2d_nccf/data2d_nccf.cc b/src/libcode/vx_data2d_nc_cf/data2d_nc_cf.cc
similarity index 99%
rename from src/libcode/vx_data2d_nccf/data2d_nccf.cc
rename to src/libcode/vx_data2d_nc_cf/data2d_nc_cf.cc
index d25a1062c7..6a7cfaef48 100644
--- a/src/libcode/vx_data2d_nccf/data2d_nccf.cc
+++ b/src/libcode/vx_data2d_nc_cf/data2d_nc_cf.cc
@@ -17,7 +17,7 @@
#include
-#include "data2d_nccf.h"
+#include "data2d_nc_cf.h"
#include "vx_math.h"
#include "vx_log.h"
diff --git a/src/libcode/vx_data2d_nccf/data2d_nccf.h b/src/libcode/vx_data2d_nc_cf/data2d_nc_cf.h
similarity index 98%
rename from src/libcode/vx_data2d_nccf/data2d_nccf.h
rename to src/libcode/vx_data2d_nc_cf/data2d_nc_cf.h
index f85ae04259..a53631f44b 100644
--- a/src/libcode/vx_data2d_nccf/data2d_nccf.h
+++ b/src/libcode/vx_data2d_nc_cf/data2d_nc_cf.h
@@ -19,8 +19,8 @@
#include "data_plane.h"
#include "data_class.h"
-#include "var_info_nccf.h"
-#include "nccf_file.h"
+#include "var_info_nc_cf.h"
+#include "nc_cf_file.h"
#include "two_to_one.h"
diff --git a/src/libcode/vx_data2d_nccf/nccf_file.cc b/src/libcode/vx_data2d_nc_cf/nc_cf_file.cc
similarity index 99%
rename from src/libcode/vx_data2d_nccf/nccf_file.cc
rename to src/libcode/vx_data2d_nc_cf/nc_cf_file.cc
index a1cd259ee0..3de1882c7a 100644
--- a/src/libcode/vx_data2d_nccf/nccf_file.cc
+++ b/src/libcode/vx_data2d_nc_cf/nc_cf_file.cc
@@ -29,7 +29,7 @@ using namespace netCDF;
#include "vx_cal.h"
#include "vx_log.h"
-#include "nccf_file.h"
+#include "nc_cf_file.h"
////////////////////////////////////////////////////////////////////////
diff --git a/src/libcode/vx_data2d_nccf/nccf_file.h b/src/libcode/vx_data2d_nc_cf/nc_cf_file.h
similarity index 98%
rename from src/libcode/vx_data2d_nccf/nccf_file.h
rename to src/libcode/vx_data2d_nc_cf/nc_cf_file.h
index 02d12c6d5a..3348a09347 100644
--- a/src/libcode/vx_data2d_nccf/nccf_file.h
+++ b/src/libcode/vx_data2d_nc_cf/nc_cf_file.h
@@ -14,8 +14,8 @@
////////////////////////////////////////////////////////////////////////
-#ifndef __NCCF_FILE_H__
-#define __NCCF_FILE_H__
+#ifndef __NC_CF_FILE_H__
+#define __NC_CF_FILE_H__
////////////////////////////////////////////////////////////////////////
@@ -194,7 +194,7 @@ class NcCfFile {
////////////////////////////////////////////////////////////////////////
-#endif /* __NCCF_FILE_H__ */
+#endif /* __NC_CF_FILE_H__ */
////////////////////////////////////////////////////////////////////////
diff --git a/src/libcode/vx_data2d_nccf/var_info_nccf.cc b/src/libcode/vx_data2d_nc_cf/var_info_nc_cf.cc
similarity index 99%
rename from src/libcode/vx_data2d_nccf/var_info_nccf.cc
rename to src/libcode/vx_data2d_nc_cf/var_info_nc_cf.cc
index a77ece6881..3144304014 100644
--- a/src/libcode/vx_data2d_nccf/var_info_nccf.cc
+++ b/src/libcode/vx_data2d_nc_cf/var_info_nc_cf.cc
@@ -8,7 +8,7 @@
///////////////////////////////////////////////////////////////////////////////
//
-// Filename: var_info_nccf.cc
+// Filename: var_info_nc_cf.cc
//
// Description:
//
@@ -25,7 +25,7 @@ using namespace std;
#include
#include "var_info.h"
-#include "var_info_nccf.h"
+#include "var_info_nc_cf.h"
#include "vx_math.h"
#include "util_constants.h"
diff --git a/src/libcode/vx_data2d_nccf/var_info_nccf.h b/src/libcode/vx_data2d_nc_cf/var_info_nc_cf.h
similarity index 100%
rename from src/libcode/vx_data2d_nccf/var_info_nccf.h
rename to src/libcode/vx_data2d_nc_cf/var_info_nc_cf.h
diff --git a/src/libcode/vx_data2d_nccf/vx_data2d_nccf.h b/src/libcode/vx_data2d_nc_cf/vx_data2d_nc_cf.h
similarity index 90%
rename from src/libcode/vx_data2d_nccf/vx_data2d_nccf.h
rename to src/libcode/vx_data2d_nc_cf/vx_data2d_nc_cf.h
index f16349e38f..de9e7e8051 100644
--- a/src/libcode/vx_data2d_nccf/vx_data2d_nccf.h
+++ b/src/libcode/vx_data2d_nc_cf/vx_data2d_nc_cf.h
@@ -21,9 +21,9 @@
////////////////////////////////////////////////////////////////////////
-#include "data2d_nccf.h"
-#include "var_info_nccf.h"
-#include "nccf_file.h"
+#include "data2d_nc_cf.h"
+#include "var_info_nc_cf.h"
+#include "nc_cf_file.h"
////////////////////////////////////////////////////////////////////////
diff --git a/src/libcode/vx_data2d_nc_pinterp/Makefile.am b/src/libcode/vx_data2d_nc_pinterp/Makefile.am
deleted file mode 100644
index 7d89511162..0000000000
--- a/src/libcode/vx_data2d_nc_pinterp/Makefile.am
+++ /dev/null
@@ -1,20 +0,0 @@
-## @start 1
-## Makefile.am -- Process this file with automake to produce Makefile.in
-## @end 1
-
-MAINTAINERCLEANFILES = Makefile.in
-
-# Include the project definitions
-
-include ${top_srcdir}/Make-include
-
-# The library
-
-noinst_LIBRARIES = libvx_data2d_nc_pinterp.a
-libvx_data2d_nc_pinterp_a_SOURCES = \
- get_pinterp_grid.cc get_pinterp_grid.h \
- pinterp_file.cc pinterp_file.h \
- var_info_nc_pinterp.cc var_info_nc_pinterp.h \
- data2d_nc_pinterp.cc data2d_nc_pinterp.h \
- vx_data2d_nc_pinterp.h
-libvx_data2d_nc_pinterp_a_CPPFLAGS = ${MET_CPPFLAGS}
diff --git a/src/libcode/vx_data2d_nccf/.gitignore b/src/libcode/vx_data2d_nc_wrf/.gitignore
similarity index 100%
rename from src/libcode/vx_data2d_nccf/.gitignore
rename to src/libcode/vx_data2d_nc_wrf/.gitignore
diff --git a/src/libcode/vx_data2d_nc_wrf/Makefile.am b/src/libcode/vx_data2d_nc_wrf/Makefile.am
new file mode 100644
index 0000000000..78c1785755
--- /dev/null
+++ b/src/libcode/vx_data2d_nc_wrf/Makefile.am
@@ -0,0 +1,20 @@
+## @start 1
+## Makefile.am -- Process this file with automake to produce Makefile.in
+## @end 1
+
+MAINTAINERCLEANFILES = Makefile.in
+
+# Include the project definitions
+
+include ${top_srcdir}/Make-include
+
+# The library
+
+noinst_LIBRARIES = libvx_data2d_nc_wrf.a
+libvx_data2d_nc_wrf_a_SOURCES = \
+ get_wrf_grid.cc get_wrf_grid.h \
+ wrf_file.cc wrf_file.h \
+ var_info_nc_wrf.cc var_info_nc_wrf.h \
+ data2d_nc_wrf.cc data2d_nc_wrf.h \
+ vx_data2d_nc_wrf.h
+libvx_data2d_nc_wrf_a_CPPFLAGS = ${MET_CPPFLAGS}
diff --git a/src/libcode/vx_data2d_nc_pinterp/Makefile.in b/src/libcode/vx_data2d_nc_wrf/Makefile.in
similarity index 68%
rename from src/libcode/vx_data2d_nc_pinterp/Makefile.in
rename to src/libcode/vx_data2d_nc_wrf/Makefile.in
index 867c42b48a..dbe34976c3 100644
--- a/src/libcode/vx_data2d_nc_pinterp/Makefile.in
+++ b/src/libcode/vx_data2d_nc_wrf/Makefile.in
@@ -88,7 +88,7 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-subdir = src/libcode/vx_data2d_nc_pinterp
+subdir = src/libcode/vx_data2d_nc_wrf
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -105,15 +105,14 @@ AM_V_AR = $(am__v_AR_@AM_V@)
am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
am__v_AR_0 = @echo " AR " $@;
am__v_AR_1 =
-libvx_data2d_nc_pinterp_a_AR = $(AR) $(ARFLAGS)
-libvx_data2d_nc_pinterp_a_LIBADD =
-am_libvx_data2d_nc_pinterp_a_OBJECTS = \
- libvx_data2d_nc_pinterp_a-get_pinterp_grid.$(OBJEXT) \
- libvx_data2d_nc_pinterp_a-pinterp_file.$(OBJEXT) \
- libvx_data2d_nc_pinterp_a-var_info_nc_pinterp.$(OBJEXT) \
- libvx_data2d_nc_pinterp_a-data2d_nc_pinterp.$(OBJEXT)
-libvx_data2d_nc_pinterp_a_OBJECTS = \
- $(am_libvx_data2d_nc_pinterp_a_OBJECTS)
+libvx_data2d_nc_wrf_a_AR = $(AR) $(ARFLAGS)
+libvx_data2d_nc_wrf_a_LIBADD =
+am_libvx_data2d_nc_wrf_a_OBJECTS = \
+ libvx_data2d_nc_wrf_a-get_wrf_grid.$(OBJEXT) \
+ libvx_data2d_nc_wrf_a-wrf_file.$(OBJEXT) \
+ libvx_data2d_nc_wrf_a-var_info_nc_wrf.$(OBJEXT) \
+ libvx_data2d_nc_wrf_a-data2d_nc_wrf.$(OBJEXT)
+libvx_data2d_nc_wrf_a_OBJECTS = $(am_libvx_data2d_nc_wrf_a_OBJECTS)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -130,10 +129,10 @@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__maybe_remake_depfiles = depfiles
am__depfiles_remade = \
- ./$(DEPDIR)/libvx_data2d_nc_pinterp_a-data2d_nc_pinterp.Po \
- ./$(DEPDIR)/libvx_data2d_nc_pinterp_a-get_pinterp_grid.Po \
- ./$(DEPDIR)/libvx_data2d_nc_pinterp_a-pinterp_file.Po \
- ./$(DEPDIR)/libvx_data2d_nc_pinterp_a-var_info_nc_pinterp.Po
+ ./$(DEPDIR)/libvx_data2d_nc_wrf_a-data2d_nc_wrf.Po \
+ ./$(DEPDIR)/libvx_data2d_nc_wrf_a-get_wrf_grid.Po \
+ ./$(DEPDIR)/libvx_data2d_nc_wrf_a-var_info_nc_wrf.Po \
+ ./$(DEPDIR)/libvx_data2d_nc_wrf_a-wrf_file.Po
am__mv = mv -f
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -164,8 +163,8 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
-SOURCES = $(libvx_data2d_nc_pinterp_a_SOURCES)
-DIST_SOURCES = $(libvx_data2d_nc_pinterp_a_SOURCES)
+SOURCES = $(libvx_data2d_nc_wrf_a_SOURCES)
+DIST_SOURCES = $(libvx_data2d_nc_wrf_a_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -351,15 +350,15 @@ top_srcdir = @top_srcdir@
MAINTAINERCLEANFILES = Makefile.in
# The library
-noinst_LIBRARIES = libvx_data2d_nc_pinterp.a
-libvx_data2d_nc_pinterp_a_SOURCES = \
- get_pinterp_grid.cc get_pinterp_grid.h \
- pinterp_file.cc pinterp_file.h \
- var_info_nc_pinterp.cc var_info_nc_pinterp.h \
- data2d_nc_pinterp.cc data2d_nc_pinterp.h \
- vx_data2d_nc_pinterp.h
-
-libvx_data2d_nc_pinterp_a_CPPFLAGS = ${MET_CPPFLAGS}
+noinst_LIBRARIES = libvx_data2d_nc_wrf.a
+libvx_data2d_nc_wrf_a_SOURCES = \
+ get_wrf_grid.cc get_wrf_grid.h \
+ wrf_file.cc wrf_file.h \
+ var_info_nc_wrf.cc var_info_nc_wrf.h \
+ data2d_nc_wrf.cc data2d_nc_wrf.h \
+ vx_data2d_nc_wrf.h
+
+libvx_data2d_nc_wrf_a_CPPFLAGS = ${MET_CPPFLAGS}
all: all-am
.SUFFIXES:
@@ -373,9 +372,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/libcode/vx_data2d_nc_pinterp/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/libcode/vx_data2d_nc_wrf/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign src/libcode/vx_data2d_nc_pinterp/Makefile
+ $(AUTOMAKE) --foreign src/libcode/vx_data2d_nc_wrf/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -397,10 +396,10 @@ $(am__aclocal_m4_deps):
clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libvx_data2d_nc_pinterp.a: $(libvx_data2d_nc_pinterp_a_OBJECTS) $(libvx_data2d_nc_pinterp_a_DEPENDENCIES) $(EXTRA_libvx_data2d_nc_pinterp_a_DEPENDENCIES)
- $(AM_V_at)-rm -f libvx_data2d_nc_pinterp.a
- $(AM_V_AR)$(libvx_data2d_nc_pinterp_a_AR) libvx_data2d_nc_pinterp.a $(libvx_data2d_nc_pinterp_a_OBJECTS) $(libvx_data2d_nc_pinterp_a_LIBADD)
- $(AM_V_at)$(RANLIB) libvx_data2d_nc_pinterp.a
+libvx_data2d_nc_wrf.a: $(libvx_data2d_nc_wrf_a_OBJECTS) $(libvx_data2d_nc_wrf_a_DEPENDENCIES) $(EXTRA_libvx_data2d_nc_wrf_a_DEPENDENCIES)
+ $(AM_V_at)-rm -f libvx_data2d_nc_wrf.a
+ $(AM_V_AR)$(libvx_data2d_nc_wrf_a_AR) libvx_data2d_nc_wrf.a $(libvx_data2d_nc_wrf_a_OBJECTS) $(libvx_data2d_nc_wrf_a_LIBADD)
+ $(AM_V_at)$(RANLIB) libvx_data2d_nc_wrf.a
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -408,10 +407,10 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvx_data2d_nc_pinterp_a-data2d_nc_pinterp.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvx_data2d_nc_pinterp_a-get_pinterp_grid.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvx_data2d_nc_pinterp_a-pinterp_file.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvx_data2d_nc_pinterp_a-var_info_nc_pinterp.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvx_data2d_nc_wrf_a-data2d_nc_wrf.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvx_data2d_nc_wrf_a-get_wrf_grid.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvx_data2d_nc_wrf_a-var_info_nc_wrf.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvx_data2d_nc_wrf_a-wrf_file.Po@am__quote@ # am--include-marker
$(am__depfiles_remade):
@$(MKDIR_P) $(@D)
@@ -433,61 +432,61 @@ am--depfiles: $(am__depfiles_remade)
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-libvx_data2d_nc_pinterp_a-get_pinterp_grid.o: get_pinterp_grid.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_pinterp_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_pinterp_a-get_pinterp_grid.o -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_pinterp_a-get_pinterp_grid.Tpo -c -o libvx_data2d_nc_pinterp_a-get_pinterp_grid.o `test -f 'get_pinterp_grid.cc' || echo '$(srcdir)/'`get_pinterp_grid.cc
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_pinterp_a-get_pinterp_grid.Tpo $(DEPDIR)/libvx_data2d_nc_pinterp_a-get_pinterp_grid.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='get_pinterp_grid.cc' object='libvx_data2d_nc_pinterp_a-get_pinterp_grid.o' libtool=no @AMDEPBACKSLASH@
+libvx_data2d_nc_wrf_a-get_wrf_grid.o: get_wrf_grid.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_wrf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_wrf_a-get_wrf_grid.o -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_wrf_a-get_wrf_grid.Tpo -c -o libvx_data2d_nc_wrf_a-get_wrf_grid.o `test -f 'get_wrf_grid.cc' || echo '$(srcdir)/'`get_wrf_grid.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_wrf_a-get_wrf_grid.Tpo $(DEPDIR)/libvx_data2d_nc_wrf_a-get_wrf_grid.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='get_wrf_grid.cc' object='libvx_data2d_nc_wrf_a-get_wrf_grid.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_pinterp_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_pinterp_a-get_pinterp_grid.o `test -f 'get_pinterp_grid.cc' || echo '$(srcdir)/'`get_pinterp_grid.cc
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_wrf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_wrf_a-get_wrf_grid.o `test -f 'get_wrf_grid.cc' || echo '$(srcdir)/'`get_wrf_grid.cc
-libvx_data2d_nc_pinterp_a-get_pinterp_grid.obj: get_pinterp_grid.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_pinterp_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_pinterp_a-get_pinterp_grid.obj -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_pinterp_a-get_pinterp_grid.Tpo -c -o libvx_data2d_nc_pinterp_a-get_pinterp_grid.obj `if test -f 'get_pinterp_grid.cc'; then $(CYGPATH_W) 'get_pinterp_grid.cc'; else $(CYGPATH_W) '$(srcdir)/get_pinterp_grid.cc'; fi`
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_pinterp_a-get_pinterp_grid.Tpo $(DEPDIR)/libvx_data2d_nc_pinterp_a-get_pinterp_grid.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='get_pinterp_grid.cc' object='libvx_data2d_nc_pinterp_a-get_pinterp_grid.obj' libtool=no @AMDEPBACKSLASH@
+libvx_data2d_nc_wrf_a-get_wrf_grid.obj: get_wrf_grid.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_wrf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_wrf_a-get_wrf_grid.obj -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_wrf_a-get_wrf_grid.Tpo -c -o libvx_data2d_nc_wrf_a-get_wrf_grid.obj `if test -f 'get_wrf_grid.cc'; then $(CYGPATH_W) 'get_wrf_grid.cc'; else $(CYGPATH_W) '$(srcdir)/get_wrf_grid.cc'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_wrf_a-get_wrf_grid.Tpo $(DEPDIR)/libvx_data2d_nc_wrf_a-get_wrf_grid.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='get_wrf_grid.cc' object='libvx_data2d_nc_wrf_a-get_wrf_grid.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_pinterp_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_pinterp_a-get_pinterp_grid.obj `if test -f 'get_pinterp_grid.cc'; then $(CYGPATH_W) 'get_pinterp_grid.cc'; else $(CYGPATH_W) '$(srcdir)/get_pinterp_grid.cc'; fi`
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_wrf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_wrf_a-get_wrf_grid.obj `if test -f 'get_wrf_grid.cc'; then $(CYGPATH_W) 'get_wrf_grid.cc'; else $(CYGPATH_W) '$(srcdir)/get_wrf_grid.cc'; fi`
-libvx_data2d_nc_pinterp_a-pinterp_file.o: pinterp_file.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_pinterp_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_pinterp_a-pinterp_file.o -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_pinterp_a-pinterp_file.Tpo -c -o libvx_data2d_nc_pinterp_a-pinterp_file.o `test -f 'pinterp_file.cc' || echo '$(srcdir)/'`pinterp_file.cc
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_pinterp_a-pinterp_file.Tpo $(DEPDIR)/libvx_data2d_nc_pinterp_a-pinterp_file.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='pinterp_file.cc' object='libvx_data2d_nc_pinterp_a-pinterp_file.o' libtool=no @AMDEPBACKSLASH@
+libvx_data2d_nc_wrf_a-wrf_file.o: wrf_file.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_wrf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_wrf_a-wrf_file.o -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_wrf_a-wrf_file.Tpo -c -o libvx_data2d_nc_wrf_a-wrf_file.o `test -f 'wrf_file.cc' || echo '$(srcdir)/'`wrf_file.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_wrf_a-wrf_file.Tpo $(DEPDIR)/libvx_data2d_nc_wrf_a-wrf_file.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='wrf_file.cc' object='libvx_data2d_nc_wrf_a-wrf_file.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_pinterp_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_pinterp_a-pinterp_file.o `test -f 'pinterp_file.cc' || echo '$(srcdir)/'`pinterp_file.cc
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_wrf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_wrf_a-wrf_file.o `test -f 'wrf_file.cc' || echo '$(srcdir)/'`wrf_file.cc
-libvx_data2d_nc_pinterp_a-pinterp_file.obj: pinterp_file.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_pinterp_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_pinterp_a-pinterp_file.obj -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_pinterp_a-pinterp_file.Tpo -c -o libvx_data2d_nc_pinterp_a-pinterp_file.obj `if test -f 'pinterp_file.cc'; then $(CYGPATH_W) 'pinterp_file.cc'; else $(CYGPATH_W) '$(srcdir)/pinterp_file.cc'; fi`
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_pinterp_a-pinterp_file.Tpo $(DEPDIR)/libvx_data2d_nc_pinterp_a-pinterp_file.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='pinterp_file.cc' object='libvx_data2d_nc_pinterp_a-pinterp_file.obj' libtool=no @AMDEPBACKSLASH@
+libvx_data2d_nc_wrf_a-wrf_file.obj: wrf_file.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_wrf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_wrf_a-wrf_file.obj -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_wrf_a-wrf_file.Tpo -c -o libvx_data2d_nc_wrf_a-wrf_file.obj `if test -f 'wrf_file.cc'; then $(CYGPATH_W) 'wrf_file.cc'; else $(CYGPATH_W) '$(srcdir)/wrf_file.cc'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_wrf_a-wrf_file.Tpo $(DEPDIR)/libvx_data2d_nc_wrf_a-wrf_file.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='wrf_file.cc' object='libvx_data2d_nc_wrf_a-wrf_file.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_pinterp_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_pinterp_a-pinterp_file.obj `if test -f 'pinterp_file.cc'; then $(CYGPATH_W) 'pinterp_file.cc'; else $(CYGPATH_W) '$(srcdir)/pinterp_file.cc'; fi`
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_wrf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_wrf_a-wrf_file.obj `if test -f 'wrf_file.cc'; then $(CYGPATH_W) 'wrf_file.cc'; else $(CYGPATH_W) '$(srcdir)/wrf_file.cc'; fi`
-libvx_data2d_nc_pinterp_a-var_info_nc_pinterp.o: var_info_nc_pinterp.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_pinterp_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_pinterp_a-var_info_nc_pinterp.o -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_pinterp_a-var_info_nc_pinterp.Tpo -c -o libvx_data2d_nc_pinterp_a-var_info_nc_pinterp.o `test -f 'var_info_nc_pinterp.cc' || echo '$(srcdir)/'`var_info_nc_pinterp.cc
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_pinterp_a-var_info_nc_pinterp.Tpo $(DEPDIR)/libvx_data2d_nc_pinterp_a-var_info_nc_pinterp.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='var_info_nc_pinterp.cc' object='libvx_data2d_nc_pinterp_a-var_info_nc_pinterp.o' libtool=no @AMDEPBACKSLASH@
+libvx_data2d_nc_wrf_a-var_info_nc_wrf.o: var_info_nc_wrf.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_wrf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_wrf_a-var_info_nc_wrf.o -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_wrf_a-var_info_nc_wrf.Tpo -c -o libvx_data2d_nc_wrf_a-var_info_nc_wrf.o `test -f 'var_info_nc_wrf.cc' || echo '$(srcdir)/'`var_info_nc_wrf.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_wrf_a-var_info_nc_wrf.Tpo $(DEPDIR)/libvx_data2d_nc_wrf_a-var_info_nc_wrf.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='var_info_nc_wrf.cc' object='libvx_data2d_nc_wrf_a-var_info_nc_wrf.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_pinterp_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_pinterp_a-var_info_nc_pinterp.o `test -f 'var_info_nc_pinterp.cc' || echo '$(srcdir)/'`var_info_nc_pinterp.cc
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_wrf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_wrf_a-var_info_nc_wrf.o `test -f 'var_info_nc_wrf.cc' || echo '$(srcdir)/'`var_info_nc_wrf.cc
-libvx_data2d_nc_pinterp_a-var_info_nc_pinterp.obj: var_info_nc_pinterp.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_pinterp_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_pinterp_a-var_info_nc_pinterp.obj -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_pinterp_a-var_info_nc_pinterp.Tpo -c -o libvx_data2d_nc_pinterp_a-var_info_nc_pinterp.obj `if test -f 'var_info_nc_pinterp.cc'; then $(CYGPATH_W) 'var_info_nc_pinterp.cc'; else $(CYGPATH_W) '$(srcdir)/var_info_nc_pinterp.cc'; fi`
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_pinterp_a-var_info_nc_pinterp.Tpo $(DEPDIR)/libvx_data2d_nc_pinterp_a-var_info_nc_pinterp.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='var_info_nc_pinterp.cc' object='libvx_data2d_nc_pinterp_a-var_info_nc_pinterp.obj' libtool=no @AMDEPBACKSLASH@
+libvx_data2d_nc_wrf_a-var_info_nc_wrf.obj: var_info_nc_wrf.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_wrf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_wrf_a-var_info_nc_wrf.obj -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_wrf_a-var_info_nc_wrf.Tpo -c -o libvx_data2d_nc_wrf_a-var_info_nc_wrf.obj `if test -f 'var_info_nc_wrf.cc'; then $(CYGPATH_W) 'var_info_nc_wrf.cc'; else $(CYGPATH_W) '$(srcdir)/var_info_nc_wrf.cc'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_wrf_a-var_info_nc_wrf.Tpo $(DEPDIR)/libvx_data2d_nc_wrf_a-var_info_nc_wrf.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='var_info_nc_wrf.cc' object='libvx_data2d_nc_wrf_a-var_info_nc_wrf.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_pinterp_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_pinterp_a-var_info_nc_pinterp.obj `if test -f 'var_info_nc_pinterp.cc'; then $(CYGPATH_W) 'var_info_nc_pinterp.cc'; else $(CYGPATH_W) '$(srcdir)/var_info_nc_pinterp.cc'; fi`
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_wrf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_wrf_a-var_info_nc_wrf.obj `if test -f 'var_info_nc_wrf.cc'; then $(CYGPATH_W) 'var_info_nc_wrf.cc'; else $(CYGPATH_W) '$(srcdir)/var_info_nc_wrf.cc'; fi`
-libvx_data2d_nc_pinterp_a-data2d_nc_pinterp.o: data2d_nc_pinterp.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_pinterp_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_pinterp_a-data2d_nc_pinterp.o -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_pinterp_a-data2d_nc_pinterp.Tpo -c -o libvx_data2d_nc_pinterp_a-data2d_nc_pinterp.o `test -f 'data2d_nc_pinterp.cc' || echo '$(srcdir)/'`data2d_nc_pinterp.cc
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_pinterp_a-data2d_nc_pinterp.Tpo $(DEPDIR)/libvx_data2d_nc_pinterp_a-data2d_nc_pinterp.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='data2d_nc_pinterp.cc' object='libvx_data2d_nc_pinterp_a-data2d_nc_pinterp.o' libtool=no @AMDEPBACKSLASH@
+libvx_data2d_nc_wrf_a-data2d_nc_wrf.o: data2d_nc_wrf.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_wrf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_wrf_a-data2d_nc_wrf.o -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_wrf_a-data2d_nc_wrf.Tpo -c -o libvx_data2d_nc_wrf_a-data2d_nc_wrf.o `test -f 'data2d_nc_wrf.cc' || echo '$(srcdir)/'`data2d_nc_wrf.cc
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_wrf_a-data2d_nc_wrf.Tpo $(DEPDIR)/libvx_data2d_nc_wrf_a-data2d_nc_wrf.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='data2d_nc_wrf.cc' object='libvx_data2d_nc_wrf_a-data2d_nc_wrf.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_pinterp_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_pinterp_a-data2d_nc_pinterp.o `test -f 'data2d_nc_pinterp.cc' || echo '$(srcdir)/'`data2d_nc_pinterp.cc
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_wrf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_wrf_a-data2d_nc_wrf.o `test -f 'data2d_nc_wrf.cc' || echo '$(srcdir)/'`data2d_nc_wrf.cc
-libvx_data2d_nc_pinterp_a-data2d_nc_pinterp.obj: data2d_nc_pinterp.cc
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_pinterp_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_pinterp_a-data2d_nc_pinterp.obj -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_pinterp_a-data2d_nc_pinterp.Tpo -c -o libvx_data2d_nc_pinterp_a-data2d_nc_pinterp.obj `if test -f 'data2d_nc_pinterp.cc'; then $(CYGPATH_W) 'data2d_nc_pinterp.cc'; else $(CYGPATH_W) '$(srcdir)/data2d_nc_pinterp.cc'; fi`
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_pinterp_a-data2d_nc_pinterp.Tpo $(DEPDIR)/libvx_data2d_nc_pinterp_a-data2d_nc_pinterp.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='data2d_nc_pinterp.cc' object='libvx_data2d_nc_pinterp_a-data2d_nc_pinterp.obj' libtool=no @AMDEPBACKSLASH@
+libvx_data2d_nc_wrf_a-data2d_nc_wrf.obj: data2d_nc_wrf.cc
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_wrf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libvx_data2d_nc_wrf_a-data2d_nc_wrf.obj -MD -MP -MF $(DEPDIR)/libvx_data2d_nc_wrf_a-data2d_nc_wrf.Tpo -c -o libvx_data2d_nc_wrf_a-data2d_nc_wrf.obj `if test -f 'data2d_nc_wrf.cc'; then $(CYGPATH_W) 'data2d_nc_wrf.cc'; else $(CYGPATH_W) '$(srcdir)/data2d_nc_wrf.cc'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libvx_data2d_nc_wrf_a-data2d_nc_wrf.Tpo $(DEPDIR)/libvx_data2d_nc_wrf_a-data2d_nc_wrf.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='data2d_nc_wrf.cc' object='libvx_data2d_nc_wrf_a-data2d_nc_wrf.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_pinterp_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_pinterp_a-data2d_nc_pinterp.obj `if test -f 'data2d_nc_pinterp.cc'; then $(CYGPATH_W) 'data2d_nc_pinterp.cc'; else $(CYGPATH_W) '$(srcdir)/data2d_nc_pinterp.cc'; fi`
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libvx_data2d_nc_wrf_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libvx_data2d_nc_wrf_a-data2d_nc_wrf.obj `if test -f 'data2d_nc_wrf.cc'; then $(CYGPATH_W) 'data2d_nc_wrf.cc'; else $(CYGPATH_W) '$(srcdir)/data2d_nc_wrf.cc'; fi`
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
@@ -613,10 +612,10 @@ clean: clean-am
clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
distclean: distclean-am
- -rm -f ./$(DEPDIR)/libvx_data2d_nc_pinterp_a-data2d_nc_pinterp.Po
- -rm -f ./$(DEPDIR)/libvx_data2d_nc_pinterp_a-get_pinterp_grid.Po
- -rm -f ./$(DEPDIR)/libvx_data2d_nc_pinterp_a-pinterp_file.Po
- -rm -f ./$(DEPDIR)/libvx_data2d_nc_pinterp_a-var_info_nc_pinterp.Po
+ -rm -f ./$(DEPDIR)/libvx_data2d_nc_wrf_a-data2d_nc_wrf.Po
+ -rm -f ./$(DEPDIR)/libvx_data2d_nc_wrf_a-get_wrf_grid.Po
+ -rm -f ./$(DEPDIR)/libvx_data2d_nc_wrf_a-var_info_nc_wrf.Po
+ -rm -f ./$(DEPDIR)/libvx_data2d_nc_wrf_a-wrf_file.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -662,10 +661,10 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -f ./$(DEPDIR)/libvx_data2d_nc_pinterp_a-data2d_nc_pinterp.Po
- -rm -f ./$(DEPDIR)/libvx_data2d_nc_pinterp_a-get_pinterp_grid.Po
- -rm -f ./$(DEPDIR)/libvx_data2d_nc_pinterp_a-pinterp_file.Po
- -rm -f ./$(DEPDIR)/libvx_data2d_nc_pinterp_a-var_info_nc_pinterp.Po
+ -rm -f ./$(DEPDIR)/libvx_data2d_nc_wrf_a-data2d_nc_wrf.Po
+ -rm -f ./$(DEPDIR)/libvx_data2d_nc_wrf_a-get_wrf_grid.Po
+ -rm -f ./$(DEPDIR)/libvx_data2d_nc_wrf_a-var_info_nc_wrf.Po
+ -rm -f ./$(DEPDIR)/libvx_data2d_nc_wrf_a-wrf_file.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
diff --git a/src/libcode/vx_data2d_nc_pinterp/data2d_nc_pinterp.cc b/src/libcode/vx_data2d_nc_wrf/data2d_nc_wrf.cc
similarity index 78%
rename from src/libcode/vx_data2d_nc_pinterp/data2d_nc_pinterp.cc
rename to src/libcode/vx_data2d_nc_wrf/data2d_nc_wrf.cc
index 83872f4614..ef51698ed1 100644
--- a/src/libcode/vx_data2d_nc_pinterp/data2d_nc_pinterp.cc
+++ b/src/libcode/vx_data2d_nc_wrf/data2d_nc_wrf.cc
@@ -17,54 +17,54 @@ using namespace std;
#include
#include
-#include "data2d_nc_pinterp.h"
-#include "get_pinterp_grid.h"
+#include "data2d_nc_wrf.h"
+#include "get_wrf_grid.h"
#include "vx_nc_util.h"
#include "vx_math.h"
#include "vx_log.h"
////////////////////////////////////////////////////////////////////////
//
-// Code for class MetNcPinterpDataFile
+// Code for class MetNcWrfDataFile
//
////////////////////////////////////////////////////////////////////////
-MetNcPinterpDataFile::MetNcPinterpDataFile() {
+MetNcWrfDataFile::MetNcWrfDataFile() {
- nc_pinterp_init_from_scratch();
+ nc_wrf_init_from_scratch();
}
////////////////////////////////////////////////////////////////////////
-MetNcPinterpDataFile::~MetNcPinterpDataFile() {
+MetNcWrfDataFile::~MetNcWrfDataFile() {
close();
}
////////////////////////////////////////////////////////////////////////
-MetNcPinterpDataFile::MetNcPinterpDataFile(const MetNcPinterpDataFile &) {
+MetNcWrfDataFile::MetNcWrfDataFile(const MetNcWrfDataFile &) {
- mlog << Error << "\nMetNcPinterpDataFile::MetNcPinterpDataFile(const MetNcPinterpDataFile &) -> "
+ mlog << Error << "\nMetNcWrfDataFile::MetNcWrfDataFile(const MetNcWrfDataFile &) -> "
<< "should never be called!\n\n";
exit(1);
}
////////////////////////////////////////////////////////////////////////
-MetNcPinterpDataFile & MetNcPinterpDataFile::operator=(const MetNcPinterpDataFile &) {
+MetNcWrfDataFile & MetNcWrfDataFile::operator=(const MetNcWrfDataFile &) {
- mlog << Error << "\nMetNcPinterpDataFile::operator=(const MetNcPinterpDataFile &) -> "
+ mlog << Error << "\nMetNcWrfDataFile::operator=(const MetNcWrfDataFile &) -> "
<< "should never be called!\n\n";
exit(1);
}
////////////////////////////////////////////////////////////////////////
-void MetNcPinterpDataFile::nc_pinterp_init_from_scratch() {
+void MetNcWrfDataFile::nc_wrf_init_from_scratch() {
- PinterpNc = (PinterpFile *) 0;
+ WrfNc = (WrfFile *) 0;
close();
@@ -73,23 +73,23 @@ void MetNcPinterpDataFile::nc_pinterp_init_from_scratch() {
////////////////////////////////////////////////////////////////////////
-void MetNcPinterpDataFile::close() {
+void MetNcWrfDataFile::close() {
- if(PinterpNc) { delete PinterpNc; PinterpNc = (PinterpFile *) 0; }
+ if(WrfNc) { delete WrfNc; WrfNc = (WrfFile *) 0; }
return;
}
////////////////////////////////////////////////////////////////////////
-bool MetNcPinterpDataFile::open(const char * _filename) {
+bool MetNcWrfDataFile::open(const char * _filename) {
close();
- PinterpNc = new PinterpFile;
+ WrfNc = new WrfFile;
- if(!PinterpNc->open(_filename)) {
- mlog << Error << "\nMetNcPinterpDataFile::open(const char *) -> "
+ if(!WrfNc->open(_filename)) {
+ mlog << Error << "\nMetNcWrfDataFile::open(const char *) -> "
<< "unable to open NetCDF file \"" << _filename << "\"\n\n";
close();
@@ -100,7 +100,7 @@ bool MetNcPinterpDataFile::open(const char * _filename) {
Raw_Grid = new Grid;
- (*Raw_Grid) = PinterpNc->grid;
+ (*Raw_Grid) = WrfNc->grid;
Dest_Grid = new Grid;
@@ -111,34 +111,34 @@ bool MetNcPinterpDataFile::open(const char * _filename) {
////////////////////////////////////////////////////////////////////////
-void MetNcPinterpDataFile::dump(ostream & out, int depth) const {
+void MetNcWrfDataFile::dump(ostream & out, int depth) const {
- if(PinterpNc) PinterpNc->dump(out, depth);
+ if(WrfNc) WrfNc->dump(out, depth);
return;
}
////////////////////////////////////////////////////////////////////////
-bool MetNcPinterpDataFile::data_plane(VarInfo &vinfo, DataPlane &plane) {
+bool MetNcWrfDataFile::data_plane(VarInfo &vinfo, DataPlane &plane) {
bool status = false;
double pressure;
ConcatString level_str;
- VarInfoNcPinterp * vinfo_nc = (VarInfoNcPinterp *) &vinfo;
+ VarInfoNcWrf * vinfo_nc = (VarInfoNcWrf *) &vinfo;
NcVarInfo *info = (NcVarInfo *) 0;
// Initialize the data plane
plane.clear();
// Read the data
- PinterpNc->get_nc_var_info(vinfo_nc->req_name().c_str(), info);
+ WrfNc->get_nc_var_info(vinfo_nc->req_name().c_str(), info);
LongArray dimension = vinfo_nc->dimension();
int dim_count = dimension.n_elements();
for (int k=0; kvar, k));
- NcVarInfo *var_info = find_var_info_by_dim_name(PinterpNc->Var, dim_name,
- PinterpNc->Nvars);
+ NcVarInfo *var_info = find_var_info_by_dim_name(WrfNc->Var, dim_name,
+ WrfNc->Nvars);
if (var_info) {
long new_offset = get_index_at_nc_data(var_info->var,
vinfo_nc->dim_value(k),
@@ -148,8 +148,8 @@ bool MetNcPinterpDataFile::data_plane(VarInfo &vinfo, DataPlane &plane) {
}
}
- status = PinterpNc->data(vinfo_nc->req_name().c_str(),
- dimension, plane, pressure, info);
+ status = WrfNc->data(vinfo_nc->req_name().c_str(),
+ dimension, plane, pressure, info);
// Check that the times match those requested
if(status) {
@@ -157,7 +157,7 @@ bool MetNcPinterpDataFile::data_plane(VarInfo &vinfo, DataPlane &plane) {
// Check that the valid time matches the request
if(vinfo.valid() > 0 && vinfo.valid() != plane.valid()) {
- mlog << Warning << "\nMetNcPinterpDataFile::data_plane() -> "
+ mlog << Warning << "\nMetNcWrfDataFile::data_plane() -> "
<< "for \"" << vinfo.req_name() << "\" variable, the valid "
<< "time does not match the requested valid time: ("
<< unix_to_yyyymmdd_hhmmss(plane.valid()) << " != "
@@ -168,7 +168,7 @@ bool MetNcPinterpDataFile::data_plane(VarInfo &vinfo, DataPlane &plane) {
// Check that the lead time matches the request
if(vinfo.lead() > 0 && vinfo.lead() != plane.lead()) {
- mlog << Warning << "\nMetNcPinterpDataFile::data_plane() -> "
+ mlog << Warning << "\nMetNcWrfDataFile::data_plane() -> "
<< "for \"" << vinfo.req_name() << "\" variable, the lead "
<< "time does not match the requested lead time: ("
<< sec_to_hhmmss(plane.lead()) << " != "
@@ -196,13 +196,13 @@ bool MetNcPinterpDataFile::data_plane(VarInfo &vinfo, DataPlane &plane) {
////////////////////////////////////////////////////////////////////////
-int MetNcPinterpDataFile::data_plane_array(VarInfo &vinfo,
+int MetNcWrfDataFile::data_plane_array(VarInfo &vinfo,
DataPlaneArray &plane_array) {
int i, i_dim, n_level, status, lower, upper;
ConcatString level_str;
double pressure, min_level, max_level;
bool found = false;
- VarInfoNcPinterp *vinfo_nc = (VarInfoNcPinterp *) &vinfo;
+ VarInfoNcWrf *vinfo_nc = (VarInfoNcWrf *) &vinfo;
LongArray dim = vinfo_nc->dimension();
NcVarInfo *info = (NcVarInfo *) 0;
@@ -241,8 +241,8 @@ int MetNcPinterpDataFile::data_plane_array(VarInfo &vinfo,
cur_dim[i_dim] = lower + i;
// Read data for the current level
- status = PinterpNc->data(vinfo_nc->req_name().c_str(),
- cur_dim, cur_plane, pressure, info);
+ status = WrfNc->data(vinfo_nc->req_name().c_str(),
+ cur_dim, cur_plane, pressure, info);
// Check that the times match those requested
if(status) {
@@ -250,7 +250,7 @@ int MetNcPinterpDataFile::data_plane_array(VarInfo &vinfo,
// Check that the valid time matches the request
if(vinfo.valid() > 0 && vinfo.valid() != cur_plane.valid()) {
- mlog << Warning << "\nMetNcPinterpDataFile::data_plane_array() -> "
+ mlog << Warning << "\nMetNcWrfDataFile::data_plane_array() -> "
<< "for \"" << vinfo.req_name() << "\" variable, the valid "
<< "time does not match the requested valid time: ("
<< unix_to_yyyymmdd_hhmmss(cur_plane.valid()) << " != "
@@ -261,7 +261,7 @@ int MetNcPinterpDataFile::data_plane_array(VarInfo &vinfo,
// Check that the lead time matches the request
if(vinfo.lead() > 0 && vinfo.lead() != cur_plane.lead()) {
- mlog << Warning << "\nMetNcPinterpDataFile::data_plane_array() -> "
+ mlog << Warning << "\nMetNcWrfDataFile::data_plane_array() -> "
<< "for \"" << vinfo.req_name() << "\" variable, the lead "
<< "time does not match the requested lead time: ("
<< sec_to_hhmmss(cur_plane.lead()) << " != "
@@ -307,7 +307,7 @@ int MetNcPinterpDataFile::data_plane_array(VarInfo &vinfo,
////////////////////////////////////////////////////////////////////////
-int MetNcPinterpDataFile::index(VarInfo &vinfo){
+int MetNcWrfDataFile::index(VarInfo &vinfo){
return -1;
}
diff --git a/src/libcode/vx_data2d_nc_pinterp/data2d_nc_pinterp.h b/src/libcode/vx_data2d_nc_wrf/data2d_nc_wrf.h
similarity index 72%
rename from src/libcode/vx_data2d_nc_pinterp/data2d_nc_pinterp.h
rename to src/libcode/vx_data2d_nc_wrf/data2d_nc_wrf.h
index 40ab3f88f0..0ecc8eb112 100644
--- a/src/libcode/vx_data2d_nc_pinterp/data2d_nc_pinterp.h
+++ b/src/libcode/vx_data2d_nc_wrf/data2d_nc_wrf.h
@@ -10,8 +10,8 @@
////////////////////////////////////////////////////////////////////////
-#ifndef __MET_VX_DATA_2D_NC_PINTERP_H__
-#define __MET_VX_DATA_2D_NC_PINTERP_H__
+#ifndef __MET_VX_DATA_2D_NC_WRF_H__
+#define __MET_VX_DATA_2D_NC_WRF_H__
////////////////////////////////////////////////////////////////////////
@@ -21,33 +21,33 @@
#include "data_plane.h"
#include "data_class.h"
-#include "var_info_nc_pinterp.h"
-#include "pinterp_file.h"
+#include "var_info_nc_wrf.h"
+#include "wrf_file.h"
#include "two_to_one.h"
////////////////////////////////////////////////////////////////////////
-class MetNcPinterpDataFile : public Met2dDataFile {
+class MetNcWrfDataFile : public Met2dDataFile {
private:
- void nc_pinterp_init_from_scratch();
+ void nc_wrf_init_from_scratch();
- MetNcPinterpDataFile(const MetNcPinterpDataFile &);
- MetNcPinterpDataFile & operator=(const MetNcPinterpDataFile &);
+ MetNcWrfDataFile(const MetNcWrfDataFile &);
+ MetNcWrfDataFile & operator=(const MetNcWrfDataFile &);
//
// NetCDF file
//
- PinterpFile * PinterpNc; // allocated
+ WrfFile * WrfNc; // allocated
public:
- MetNcPinterpDataFile();
- ~MetNcPinterpDataFile();
+ MetNcWrfDataFile();
+ ~MetNcWrfDataFile();
//
// set stuff
@@ -87,13 +87,13 @@ class MetNcPinterpDataFile : public Met2dDataFile {
////////////////////////////////////////////////////////////////////////
-inline GrdFileType MetNcPinterpDataFile::file_type () const { return ( FileType_NcPinterp ); }
+inline GrdFileType MetNcWrfDataFile::file_type () const { return ( FileType_NcWrf ); }
////////////////////////////////////////////////////////////////////////
-#endif /* __MET_VX_DATA_2D_NC_PINTERP_H__ */
+#endif /* __MET_VX_DATA_2D_NC_WRF_H__ */
////////////////////////////////////////////////////////////////////////
diff --git a/src/libcode/vx_data2d_nc_pinterp/get_pinterp_grid.cc b/src/libcode/vx_data2d_nc_wrf/get_wrf_grid.cc
similarity index 97%
rename from src/libcode/vx_data2d_nc_pinterp/get_pinterp_grid.cc
rename to src/libcode/vx_data2d_nc_wrf/get_wrf_grid.cc
index eaed12bd01..e94fcec619 100644
--- a/src/libcode/vx_data2d_nc_pinterp/get_pinterp_grid.cc
+++ b/src/libcode/vx_data2d_nc_wrf/get_wrf_grid.cc
@@ -24,7 +24,7 @@ using namespace netCDF;
#include "vx_math.h"
#include "vx_nc_util.h"
-#include "get_pinterp_grid.h"
+#include "get_wrf_grid.h"
////////////////////////////////////////////////////////////////////////
@@ -66,15 +66,15 @@ static double mercator_v_to_lat(double v);
////////////////////////////////////////////////////////////////////////
-bool get_pinterp_grid(const char * pinterp_filename, Grid & grid)
+bool get_wrf_grid(const char * wrf_filename, Grid & grid)
{
bool status = false;
-NcFile nc(pinterp_filename, NcFile::read);
+NcFile nc(wrf_filename, NcFile::read);
-status = get_pinterp_grid(nc, grid);
+status = get_wrf_grid(nc, grid);
return ( status );
@@ -85,7 +85,7 @@ return ( status );
////////////////////////////////////////////////////////////////////////
-bool get_pinterp_grid(NcFile & nc, Grid & grid)
+bool get_wrf_grid(netCDF::NcFile & nc, Grid & grid)
{
diff --git a/src/libcode/vx_data2d_nc_pinterp/get_pinterp_grid.h b/src/libcode/vx_data2d_nc_wrf/get_wrf_grid.h
similarity index 77%
rename from src/libcode/vx_data2d_nc_pinterp/get_pinterp_grid.h
rename to src/libcode/vx_data2d_nc_wrf/get_wrf_grid.h
index c3c1f45cb8..76f80391e7 100644
--- a/src/libcode/vx_data2d_nc_pinterp/get_pinterp_grid.h
+++ b/src/libcode/vx_data2d_nc_wrf/get_wrf_grid.h
@@ -14,8 +14,8 @@
////////////////////////////////////////////////////////////////////////
-#ifndef __GET_PINTERP_GRID_H__
-#define __GET_PINTERP_GRID_H__
+#ifndef __GET_WRF_GRID_H__
+#define __GET_WRF_GRID_H__
////////////////////////////////////////////////////////////////////////
@@ -29,15 +29,15 @@
////////////////////////////////////////////////////////////////////////
-extern bool get_pinterp_grid(const char * pinterp_filename, Grid &);
+extern bool get_wrf_grid(const char * wrf_filename, Grid & grid);
-extern bool get_pinterp_grid(netCDF::NcFile &, Grid &);
+extern bool get_wrf_grid(netCDF::NcFile & nc, Grid & grid);
////////////////////////////////////////////////////////////////////////
-#endif /* __GET_PINTERP_GRID_H__ */
+#endif /* __GET_WRF_GRID_H__ */
////////////////////////////////////////////////////////////////////////
diff --git a/src/libcode/vx_data2d_nc_pinterp/var_info_nc_pinterp.cc b/src/libcode/vx_data2d_nc_wrf/var_info_nc_wrf.cc
similarity index 87%
rename from src/libcode/vx_data2d_nc_pinterp/var_info_nc_pinterp.cc
rename to src/libcode/vx_data2d_nc_wrf/var_info_nc_wrf.cc
index f0e01dc6a6..eecf2270cb 100644
--- a/src/libcode/vx_data2d_nc_pinterp/var_info_nc_pinterp.cc
+++ b/src/libcode/vx_data2d_nc_wrf/var_info_nc_wrf.cc
@@ -8,7 +8,7 @@
///////////////////////////////////////////////////////////////////////////////
//
-// Filename: var_info_nc_pinterp.cc
+// Filename: var_info_nc_wrf.cc
//
// Description:
//
@@ -20,12 +20,13 @@
using namespace std;
#include