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/scripts/installation/compile_MET_all.sh b/internal/scripts/installation/compile_MET_all.sh index f06b6c5c6c..98d9fca899 100755 --- a/internal/scripts/installation/compile_MET_all.sh +++ b/internal/scripts/installation/compile_MET_all.sh @@ -50,8 +50,8 @@ # Please supply values for the following environment variables # in the input environment configuration file (install_met_env.: # MET_GRIB2CLIB, MET_GRIB2CINC, GRIB2CLIB_NAME, MET_BUFRLIB, BUFRLIB_NAME, -# MET_HDF5, MET_NETCDF, MET_PROJ, MET_GSL, LIB_JASPER, LIB_PNG, LIB_Z, -# SQLITE_INCLUDE_DIR, SQLITE_LIB_DIR. +# MET_HDF5, MET_NETCDF, MET_PROJ, MET_GSL, LIB_JASPER, LIB_LIBPNG, LIB_Z, +# SQLITE_INCLUDE_DIR, SQLITE_LIB_DIR, TIFF_INCLUDE_DIR, TIFF_LIB_DIR. # # The optional libraries ecKit and atlas offer support for unstructured # grids. The optional libraries HDF4, HDFEOS, FREETYPE, and CAIRO are @@ -157,6 +157,13 @@ if [[ -z "$LIB_Z" ]]; then LIB_Z=${LIB_DIR}/lib fi +# if TIFF is not defined in the environment file, enable its compilation +if [[ -z ${TIFF_INCLUDE_DIR} ]] && [[ -z ${TIFF_LIB_DIR} ]]; then + COMPILE_TIFF=1 +else + COMPILE_TIFF=0 +fi + # if SQLITE is not defined in the environment file, enable its compilation if [[ -z ${SQLITE_INCLUDE_DIR} ]] && [[ -z ${SQLITE_LIB_DIR} ]]; then COMPILE_SQLITE=1 @@ -177,29 +184,13 @@ else COMPILE_G2CLIB=0 fi -if [ -z ${MET_BUFRLIB} ]; then - COMPILE_BUFRLIB=1 -else - COMPILE_BUFRLIB=0 -fi +if [ -z ${MET_BUFRLIB} ]; then COMPILE_BUFRLIB=1; else COMPILE_BUFRLIB=0; fi -if [ -z ${MET_NETCDF} ]; then - COMPILE_NETCDF=1 -else - COMPILE_NETCDF=0 -fi +if [ -z ${MET_NETCDF} ]; then COMPILE_NETCDF=1; else COMPILE_NETCDF=0; fi -if [ -z ${MET_PROJ} ]; then - COMPILE_PROJ=1 -else - COMPILE_PROJ=0 -fi +if [ -z ${MET_PROJ} ]; then COMPILE_PROJ=1; else COMPILE_PROJ=0; fi -if [ -z ${MET_GSL} ]; then - COMPILE_GSL=1 -else - COMPILE_GSL=0 -fi +if [ -z ${MET_GSL} ]; then COMPILE_GSL=1; else COMPILE_GSL=0; fi # Only set COMPILE_ECKIT and COMPILE_ATLAS if you want to compile and enable support for unstructued grids if [ ! -z "${COMPILE_ECKIT}" ]; then COMPILE_ECKIT=1; else COMPILE_ECKIT=0; fi @@ -388,12 +379,6 @@ else exit fi -#export CC -#export CXX -#export FC -#export F77 -#export F90 - echo "export CC=${CC}" echo "export CXX=${CXX}" echo "export FC=${FC}" @@ -411,12 +396,19 @@ case "${unameOut}" in *) machine="UNKNOWN:${unameOut}" esac +# change sed command and extension for dynamic library files if [[ $machine == "Mac" ]]; then sed_inline="sed -i ''" else sed_inline="sed -i''" fi +if [[ "$(uname -m)" == "arm64" ]]; then + dynamic_lib_ext="dylib" +else + dynamic_lib_ext="so" +fi + # Load Python module if [ ${USE_MODULES} = "TRUE" ]; then @@ -442,6 +434,22 @@ fi # Compile Proj if [ $COMPILE_PROJ -eq 1 ]; then + + if [ $COMPILE_TIFF -eq 1 ]; then + echo + echo "Compiling TIFF at `date`" + mkdir -p ${LIB_DIR}/tiff + rm -rf ${LIB_DIR}/tiff/tiff* + tar -xzf ${TAR_DIR}/tiff*.tar.gz -C ${LIB_DIR}/tiff + cd ${LIB_DIR}/tiff/tiff* + echo "cd `pwd`" + run_cmd "./configure --prefix=${LIB_DIR} > $(pwd)/tiff.configure.log 2>&1" + run_cmd "make ${MAKE_ARGS} > $(pwd)/tiff.make.log 2>&1" + run_cmd "make ${MAKE_ARGS} install > $(pwd)/tiff.make_install.log 2>&1" + export TIFF_INCLUDE_DIR=${LIB_DIR}/include + export TIFF_LIB_DIR=${LIB_DIR}/lib + fi + if [ $COMPILE_SQLITE -eq 1 ]; then echo echo "Compiling SQLITE at `date`" @@ -450,17 +458,18 @@ if [ $COMPILE_PROJ -eq 1 ]; then tar -xf ${TAR_DIR}/sqlite*.tar.gz -C ${LIB_DIR}/sqlite > /dev/null 2>&1 cd ${LIB_DIR}/sqlite/sqlite* echo "cd `pwd`" - run_cmd "./configure --enable-shared --prefix=${LIB_DIR} > sqlite.configure.log 2>&1" - run_cmd "make ${MAKE_ARGS} > sqlite.make.log 2>&1" - run_cmd "make ${MAKE_ARGS} install > sqlite.make_install.log 2>&1" + run_cmd "./configure --enable-shared --prefix=${LIB_DIR} > $(pwd)/sqlite.configure.log 2>&1" + run_cmd "make ${MAKE_ARGS} > $(pwd)/sqlite.make.log 2>&1" + run_cmd "make ${MAKE_ARGS} install > $(pwd)/sqlite.make_install.log 2>&1" export SQLITE_INCLUDE_DIR=${LIB_DIR}/include export SQLITE_LIB_DIR=${LIB_DIR}/lib fi - vrs="7.1.0"; + vrs="7.1.0" echo echo "Compiling PROJ_${vrs} at `date`" + echo "cmake version `cmake --version`" mkdir -p ${LIB_DIR}/proj rm -rf ${LIB_DIR}/proj/proj* tar -xf ${TAR_DIR}/proj-${vrs}.tar.gz -C ${LIB_DIR}/proj @@ -468,13 +477,20 @@ if [ $COMPILE_PROJ -eq 1 ]; then echo "cd `pwd`" export PATH=${LIB_DIR}/bin:${PATH} run_cmd "mkdir build; cd build" - if [[ -z "$LIB_TIFF" ]]; then - run_cmd "cmake -DCMAKE_INSTALL_PREFIX=${LIB_DIR} -DSQLITE3_INCLUDE_DIR=${SQLITE_INCLUDE_DIR} -DSQLITE3_LIBRARY=${SQLITE_LIB_DIR}/libsqlite3.so .." - else - run_cmd "cmake -DCMAKE_INSTALL_PREFIX=${LIB_DIR} -DSQLITE3_INCLUDE_DIR=${SQLITE_INCLUDE_DIR} -DSQLITE3_LIBRARY=${SQLITE_LIB_DIR}/libsqlite3.so -DTIFF_LIBRARY_RELEASE=${LIB_TIFF} .." + + tiff_arg="" + # add tiff library and include arguments if necessary + if [[ ! -z "$TIFF_LIB_DIR" ]]; then + tiff_arg+="-DTIFF_LIBRARY_RELEASE=${TIFF_LIB_DIR}/libtiff.${dynamic_lib_ext}" + fi + if [[ ! -z "$TIFF_INCLUDE_DIR" ]]; then + tiff_arg+=" -DTIFF_INCLUDE_DIR=${TIFF_INCLUDE_DIR}" fi - run_cmd "cmake --build ." - run_cmd "cmake --build . --target install" + + cmd="cmake -DCMAKE_INSTALL_PREFIX=${LIB_DIR} -DSQLITE3_INCLUDE_DIR=${SQLITE_INCLUDE_DIR} -DSQLITE3_LIBRARY=${SQLITE_LIB_DIR}/libsqlite3.${dynamic_lib_ext} ${tiff_arg} .. > $(pwd)/proj.cmake.log 2>&1" + run_cmd ${cmd} + run_cmd "cmake --build . > $(pwd)/proj.cmake_build.log 2>&1" + run_cmd "cmake --build . --target install > $(pwd)/proj.cmake_install.log 2>&1" fi @@ -482,9 +498,9 @@ fi if [ $COMPILE_GSL -eq 1 ]; then if [ ${COMPILER_FAMILY} = "pgi" ]; then - vrs="1.11"; + vrs="1.11" else - vrs="2.7.1"; + vrs="2.7.1" fi echo @@ -494,15 +510,15 @@ if [ $COMPILE_GSL -eq 1 ]; then tar -xf ${TAR_DIR}/gsl-${vrs}.tar.gz -C ${LIB_DIR}/gsl cd ${LIB_DIR}/gsl/gsl* echo "cd `pwd`" - run_cmd "./configure --prefix=${LIB_DIR} > gsl.configure.log 2>&1" - run_cmd "make ${MAKE_ARGS} > gsl.make.log 2>&1" - run_cmd "make ${MAKE_ARGS} install > gsl.make_install.log 2>&1" + run_cmd "./configure --prefix=${LIB_DIR} > $(pwd)/gsl.configure.log 2>&1" + run_cmd "make ${MAKE_ARGS} > $(pwd)/gsl.make.log 2>&1" + run_cmd "make ${MAKE_ARGS} install > $(pwd)/gsl.make_install.log 2>&1" fi # Compile BUFRLIB if [ $COMPILE_BUFRLIB -eq 1 ]; then - vrs="v11.6.0"; + vrs="v11.6.0" echo echo "Compiling bufr_${vrs} at `date`" @@ -514,11 +530,11 @@ if [ $COMPILE_BUFRLIB -eq 1 ]; then echo "cd `pwd`" run_cmd "mkdir build" export BUILD_DIR=${SOURCE_DIR}/build - run_cmd "cmake -H${SOURCE_DIR} -B${BUILD_DIR} -DCMAKE_INSTALL_PREFIX=${LIB_DIR} -DCMAKE_BUILD_TYPE=Debug" + run_cmd "cmake -H${SOURCE_DIR} -B${BUILD_DIR} -DCMAKE_INSTALL_PREFIX=${LIB_DIR} -DCMAKE_BUILD_TYPE=Debug > $(pwd)/bufr.cmake.log 2>&1" run_cmd "cd ${BUILD_DIR}" - run_cmd "make ${MAKE_ARGS} > bufr.make.log 2>&1" - run_cmd "ctest > bufr.ctest.log 2>&1" - run_cmd "make ${MAKE_ARGS} install > bufr.make_install.log 2>&1" + run_cmd "make ${MAKE_ARGS} > $(pwd)/bufr.make.log 2>&1" + run_cmd "ctest > $(pwd)/bufr.ctest.log 2>&1" + run_cmd "make ${MAKE_ARGS} install > $(pwd)/bufr.make_install.log 2>&1" fi @@ -531,14 +547,13 @@ if [ $COMPILE_ZLIB -eq 1 ]; then tar -xzf ${TAR_DIR}/zlib*.tar.gz -C ${LIB_DIR}/zlib cd ${LIB_DIR}/zlib/zlib* echo "cd `pwd`" - run_cmd "./configure --prefix=${LIB_DIR} > zlib.configure.log 2>&1" - run_cmd "make ${MAKE_ARGS} > zlib.make.log 2>&1" - run_cmd "make ${MAKE_ARGS} install > zlib.make_install.log 2>&1" + run_cmd "./configure --prefix=${LIB_DIR} > $(pwd)/zlib.configure.log 2>&1" + run_cmd "make ${MAKE_ARGS} > $(pwd)/zlib.make.log 2>&1" + run_cmd "make ${MAKE_ARGS} install > $(pwd)/zlib.make_install.log 2>&1" # GPM: why is this removed? Could we add a comment to # describe why this is needed? - echo "rm ${LIB_DIR}/lib/zlib.a" - rm ${LIB_DIR}/lib/libz.a + run_cmd "rm ${LIB_DIR}/lib/libz.a" fi # Compile LIBPNG @@ -550,15 +565,15 @@ if [[ $COMPILE_LIBPNG -eq 1 && $HOST != ys* ]]; then tar -xzf ${TAR_DIR}/libpng*.tar.gz -C ${LIB_DIR}/libpng cd ${LIB_DIR}/libpng/libpng* echo "cd `pwd`" - run_cmd "./configure --prefix=${LIB_DIR} LDFLAGS=-L${LIB_DIR}/lib CPPFLAGS=-I${LIB_DIR}/include > libpng.configure.log 2>&1" - run_cmd "make ${MAKE_ARGS} > libpng.make.log 2>&1" - run_cmd "make ${MAKE_ARGS} install > libpng.make_install.log 2>&1" + run_cmd "./configure --prefix=${LIB_DIR} LDFLAGS=-L${LIB_DIR}/lib CPPFLAGS=-I${LIB_DIR}/include > $(pwd)/libpng.configure.log 2>&1" + run_cmd "make ${MAKE_ARGS} > $(pwd)/libpng.make.log 2>&1" + run_cmd "make ${MAKE_ARGS} install > $(pwd)/libpng.make_install.log 2>&1" fi # Compile JASPER if [ $COMPILE_JASPER -eq 1 ]; then - vrs="2.0.25"; + vrs="2.0.25" echo echo "Compiling JASPER at `date`" @@ -570,17 +585,19 @@ if [ $COMPILE_JASPER -eq 1 ]; then export SOURCE_DIR=${LIB_DIR}/jasper/jasper-version-${vrs} echo "cd `pwd`" export BUILD_DIR=${LIB_DIR}/jasper/jasper-version-${vrs}/build - run_cmd "cmake -G \"Unix Makefiles\" -H${SOURCE_DIR} -B${BUILD_DIR} -DCMAKE_INSTALL_PREFIX=${LIB_DIR}" + run_cmd "cmake -G \"Unix Makefiles\" -H${SOURCE_DIR} -B${BUILD_DIR} -DCMAKE_INSTALL_PREFIX=${LIB_DIR} -DJAS_ENABLE_DOC=false > $(pwd)/jasper.cmake.log 2>&1" run_cmd "cd ${BUILD_DIR}" - run_cmd "make clean all" - run_cmd "make ${MAKE_ARGS} test > jasper.make_test.log 2>&1" - run_cmd "make ${MAKE_ARGS} install > jasper.make_install.log 2>&1" + run_cmd "make clean all > $(pwd)/jasper.make.log 2>&1" + # Commented out due to “which: no opj2_compress in …” error, which causes one of four tests to fail + # This is a known problem, so skipping tests for now: https://github.com/AAROC/CODE-RADE/issues/36#issuecomment-359744351 + #run_cmd "make ${MAKE_ARGS} test > $(pwd)/jasper.make_test.log 2>&1" + run_cmd "make ${MAKE_ARGS} install > $(pwd)/jasper.make_install.log 2>&1" fi # Compile G2CLIB if [ $COMPILE_G2CLIB -eq 1 ]; then - vrs="1.6.4"; + vrs="1.6.4" echo echo "Compiling G2CLIB at `date`" @@ -590,10 +607,10 @@ if [ $COMPILE_G2CLIB -eq 1 ]; then cd ${LIB_DIR}/g2clib/NCEP* echo "cd `pwd`" run_cmd "mkdir build; cd build" - run_cmd "cmake -DCMAKE_INSTALL_PREFIX=${LIB_DIR} -DCMAKE_PREFIX_PATH=${LIB_DIR} .." - run_cmd "make ${MAKE_ARGS} > g2c.make.log 2>&1" - run_cmd "make ${MAKE_ARGS} test > g2c.make_test.log 2>&1" - run_cmd "make ${MAKE_ARGS} install > g2c.make_install.log 2>&1" + run_cmd "cmake -DCMAKE_INSTALL_PREFIX=${LIB_DIR} -DCMAKE_PREFIX_PATH=${LIB_DIR} .. > $(pwd)/g2c.cmake.log 2>&1" + run_cmd "make ${MAKE_ARGS} > $(pwd)/g2c.make.log 2>&1" + run_cmd "make ${MAKE_ARGS} test > $(pwd)/g2c.make_test.log 2>&1" + run_cmd "make ${MAKE_ARGS} install > $(pwd)/g2c.make_install.log 2>&1" fi # Compile ECKIT @@ -601,7 +618,7 @@ if [ $COMPILE_ECKIT -eq 1 ]; then # Need to obtain ecbuild before installing eckit - vrs="3.5.0"; + vrs="3.5.0" echo echo "Compiling ECBUILD at `date`" @@ -611,10 +628,10 @@ if [ $COMPILE_ECKIT -eq 1 ]; then cd ${LIB_DIR}/ecbuild/ecbuild* echo "cd `pwd`" run_cmd "mkdir build; cd build" - run_cmd "cmake ../ -DCMAKE_INSTALL_PREFIX=${LIB_DIR}" - run_cmd "make ${MAKE_ARGS} install > ecbuild.make_install.log 2>&1" + run_cmd "cmake ../ -DCMAKE_INSTALL_PREFIX=${LIB_DIR} > $(pwd)/ecbuild.cmake.log 2>&1" + run_cmd "make ${MAKE_ARGS} install > $(pwd)/ecbuild.make_install.log 2>&1" - vrs="1.20.2"; + vrs="1.20.2" echo echo "Compiling ECKIT at `date`" @@ -624,15 +641,15 @@ if [ $COMPILE_ECKIT -eq 1 ]; then cd ${LIB_DIR}/eckit/eckit* echo "cd `pwd`" run_cmd "mkdir build; cd build" - run_cmd "cmake ../ -DCMAKE_INSTALL_PREFIX=${LIB_DIR} -DCMAKE_PREFIX_PATH=${LIB_DIR}" - run_cmd "make ${MAKE_ARGS} install > eckit.make_install.log 2>&1" + run_cmd "cmake ../ -DCMAKE_INSTALL_PREFIX=${LIB_DIR} -DCMAKE_PREFIX_PATH=${LIB_DIR} > $(pwd)/eckit.cmake.log 2>&1" + run_cmd "make ${MAKE_ARGS} install > $(pwd)/eckit.make_install.log 2>&1" fi # Compile ATLAS if [ $COMPILE_ATLAS -eq 1 ]; then - vrs="0.30.0"; + vrs="0.30.0" echo echo "Compiling ATLAS at `date`" @@ -642,9 +659,9 @@ if [ $COMPILE_ATLAS -eq 1 ]; then cd ${LIB_DIR}/atlas/atlas* echo "cd `pwd`" run_cmd "mkdir build; cd build" - run_cmd "cmake ../ -DCMAKE_INSTALL_PREFIX=${LIB_DIR} -DCMAKE_PREFIX_PATH=${LIB_DIR}" - run_cmd "make ${MAKE_ARGS} > atlas.make.log 2>&1" - run_cmd "make ${MAKE_ARGS} install > atlas.make_install.log 2>&1" + run_cmd "cmake ../ -DCMAKE_INSTALL_PREFIX=${LIB_DIR} -DCMAKE_PREFIX_PATH=${LIB_DIR} > $(pwd)/atlas.cmake.log 2>&1" + run_cmd "make ${MAKE_ARGS} > $(pwd)/atlas.make.log 2>&1" + run_cmd "make ${MAKE_ARGS} install > $(pwd)/atlas.make_install.log 2>&1" fi @@ -661,7 +678,7 @@ if [ $COMPILE_HDF -eq 1 ]; then tar -xf ${TAR_DIR}/HDF4.2*.tar.gz -C ${LIB_DIR}/hdf cd ${LIB_DIR}/hdf/HDF* echo "cd `pwd`" - run_cmd "./configure --prefix=${LIB_DIR} --disable-netcdf --with-jpeg=${LIB_DIR} --with-zlib=${LIB_DIR} CPPFLAGS=-I/usr/include/tirpc LIBS='-lm -ltirpc' > hdf4.configure.log 2>&1" + run_cmd "./configure --prefix=${LIB_DIR} --disable-netcdf --with-jpeg=${LIB_DIR} --with-zlib=${LIB_DIR} CPPFLAGS=-I/usr/include/tirpc LIBS='-lm -ltirpc' > $(pwd)/hdf4.configure.log 2>&1" if [[ ${COMPILER_MAJOR_VERSION} -ge 10 ]]; then cat hdf/src/Makefile | \ sed 's/FFLAGS = -O2/FFLAGS = -w -fallow-argument-mismatch -O2/g' \ @@ -672,8 +689,8 @@ if [ $COMPILE_HDF -eq 1 ]; then > Makefile_new fi mv Makefile_new hdf/src/Makefile - run_cmd "make ${MAKE_ARGS} > hdf4.make.log 2>&1" - run_cmd "make ${MAKE_ARGS} install > hdf4.make_install.log 2>&1" + run_cmd "make ${MAKE_ARGS} > $(pwd)/hdf4.make.log 2>&1" + run_cmd "make ${MAKE_ARGS} install > $(pwd)/hdf4.make_install.log 2>&1" fi # Compile HDFEOS @@ -686,9 +703,9 @@ if [ $COMPILE_HDFEOS -eq 1 ]; then tar -xzf ${TAR_DIR}/HDF-EOS*.tar.* -C ${LIB_DIR}/hdfeos cd ${LIB_DIR}/hdfeos/hdfeos echo "cd `pwd`" - run_cmd "./configure --prefix=${LIB_DIR} --with-hdf4=${LIB_DIR} --with-jpeg=${LIB_DIR} > hdf-eos.configure.log 2>&1" - run_cmd "make ${MAKE_ARGS} > hed-eos.make.log 2>&1" - run_cmd "make ${MAKE_ARGS} install > hsf-eos.make_install.log 2>&1" + run_cmd "./configure --prefix=${LIB_DIR} --with-hdf4=${LIB_DIR} --with-jpeg=${LIB_DIR} > $(pwd)/hdf-eos.configure.log 2>&1" + run_cmd "make ${MAKE_ARGS} > $(pwd)/hed-eos.make.log 2>&1" + run_cmd "make ${MAKE_ARGS} install > $(pwd)/hsf-eos.make_install.log 2>&1" cp include/*.h ${LIB_DIR}/include/ fi @@ -703,8 +720,8 @@ if [ $COMPILE_NETCDF -eq 1 ]; then tar -xzf ${TAR_DIR}/hdf5*.tar.gz -C ${LIB_DIR}/hdf5 cd ${LIB_DIR}/hdf5/hdf5* echo "cd `pwd`" - run_cmd "./configure --prefix=${LIB_DIR} --with-zlib=${LIB_Z} CFLAGS=-fPIC CXXFLAGS=-fPIC FFLAGS=-fPIC LDFLAGS=-L${LIB_DIR}/lib:${LIB_Z} CPPFLAGS=-I${LIB_DIR}/include > hdf5.configure.log 2>&1" - run_cmd "make ${MAKE_ARGS} install > hdf5.make_install.log 2>&1" + run_cmd "./configure --prefix=${LIB_DIR} --with-zlib=${LIB_Z} CFLAGS=-fPIC CXXFLAGS=-fPIC FFLAGS=-fPIC LDFLAGS=-L${LIB_DIR}/lib:${LIB_Z} CPPFLAGS=-I${LIB_DIR}/include > $(pwd)/hdf5.configure.log 2>&1" + run_cmd "make ${MAKE_ARGS} install > $(pwd)/hdf5.make_install.log 2>&1" echo echo "Compiling NetCDF-C at `date`" @@ -715,8 +732,8 @@ if [ $COMPILE_NETCDF -eq 1 ]; then export FC='' export F90='' echo "cd `pwd`" - run_cmd "./configure --prefix=${LIB_DIR} CFLAGS=-fPIC CXXFLAGS=-fPIC LDFLAGS=-L${LIB_DIR}/lib CPPFLAGS=-I${LIB_DIR}/include > netcdf-c.configure.log 2>&1" - run_cmd "make ${MAKE_ARGS} install > netcdf-c.make_install.log 2>&1" + run_cmd "./configure --prefix=${LIB_DIR} CFLAGS=-fPIC CXXFLAGS=-fPIC LDFLAGS=-L${LIB_DIR}/lib CPPFLAGS=-I${LIB_DIR}/include > $(pwd)/netcdf-c.configure.log 2>&1" + run_cmd "make ${MAKE_ARGS} install > $(pwd)/netcdf-c.make_install.log 2>&1" echo echo "Compiling NetCDF-CXX at `date`" @@ -727,9 +744,8 @@ if [ $COMPILE_NETCDF -eq 1 ]; then if [[ $machine == "Mac" ]]; then configure_lib_args="-lnetcdf -lhdf5_hl -lhdf5 -lz" fi - run_cmd "./configure --prefix=${LIB_DIR} LDFLAGS=-L${LIB_DIR}/lib CPPFLAGS=-I${LIB_DIR}/include LIBS=\"${LIBS} ${configure_lib_args}\" > netcdf-cxx.configure.log 2>&1" - - run_cmd "make ${MAKE_ARGS} install > netcdf-cxx.make_install.log 2>&1" + run_cmd "./configure --prefix=${LIB_DIR} LDFLAGS=-L${LIB_DIR}/lib CPPFLAGS=-I${LIB_DIR}/include LIBS=\"${LIBS} ${configure_lib_args}\" > $(pwd)/netcdf-cxx.configure.log 2>&1" + run_cmd "make ${MAKE_ARGS} install > $(pwd)/netcdf-cxx.make_install.log 2>&1" fi # Compile FREETYPE @@ -741,9 +757,9 @@ if [ $COMPILE_FREETYPE -eq 1 ]; then tar -xzf ${TAR_DIR}/freetype*.tar.gz -C ${LIB_DIR}/freetype cd ${LIB_DIR}/freetype/freetype* echo "cd `pwd`" - run_cmd "./configure --prefix=${LIB_DIR} --with-png=yes > freetype.configure.log 2>&1" - run_cmd "make ${MAKE_ARGS} > freetype.make.log 2>&1" - run_cmd "make ${MAKE_ARGS} install > freetype.make_install.log 2>&1" + run_cmd "./configure --prefix=${LIB_DIR} --with-png=yes > $(pwd)/freetype.configure.log 2>&1" + run_cmd "make ${MAKE_ARGS} > $(pwd)/freetype.make.log 2>&1" + run_cmd "make ${MAKE_ARGS} install > $(pwd)/freetype.make_install.log 2>&1" fi @@ -759,9 +775,9 @@ if [ $COMPILE_CAIRO -eq 1 ]; then tar -xzf ${TAR_DIR}/pixman*.tar.gz -C ${LIB_DIR}/pixman cd ${LIB_DIR}/pixman/pixman* echo "cd `pwd`" - run_cmd "./configure --prefix=${LIB_DIR} > pixman.configure.log 2>&1" - run_cmd "make ${MAKE_ARGS} > pixman.make.log 2>&1" - run_cmd "make ${MAKE_ARGS} install > pixman.make_install.log 2>&1" + run_cmd "./configure --prefix=${LIB_DIR} > $(pwd)/pixman.configure.log 2>&1" + run_cmd "make ${MAKE_ARGS} > $(pwd)/pixman.make.log 2>&1" + run_cmd "make ${MAKE_ARGS} install > $(pwd)/pixman.make_install.log 2>&1" fi echo @@ -775,9 +791,9 @@ if [ $COMPILE_CAIRO -eq 1 ]; then export PKG_CONFIG_PATH=${LIB_DIR}/lib/pkgconfig/ fi echo "cd `pwd`" - run_cmd "./configure --prefix=${LIB_DIR} ax_cv_c_float_words_bigendian=no LDFLAGS=-L${LIB_DIR}/lib CPPFLAGS=-I${LIB_DIR}/include > cairo.configure.log 2>&1" - run_cmd "make ${MAKE_ARGS} > cairo.make.log 2>&1" - run_cmd "make ${MAKE_ARGS} install > cairo.make_install.log 2>&1" + run_cmd "./configure --prefix=${LIB_DIR} ax_cv_c_float_words_bigendian=no LDFLAGS=-L${LIB_DIR}/lib CPPFLAGS=-I${LIB_DIR}/include > $(pwd)/cairo.configure.log 2>&1" + run_cmd "make ${MAKE_ARGS} > $(pwd)/cairo.make.log 2>&1" + run_cmd "make ${MAKE_ARGS} install > $(pwd)/cairo.make_install.log 2>&1" fi # Compile MET @@ -827,19 +843,46 @@ fi export MET_PYTHON_BIN_EXE=${MET_PYTHON_BIN_EXE:=${MET_PYTHON}/bin/python3} export MET_PYTHON_LD export MET_PYTHON_CC -export LDFLAGS="-Wl,--disable-new-dtags" -if [[ $machine == "Mac" ]]; then - export LDFLAGS="" +# add flags to user-defined LDFLAGS for MacOS +if [[ $machine != "Mac" ]]; then + LDFLAGS="${LDFLAGS} -Wl,--disable-new-dtags" fi # https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html # ${parameter:+word} # If parameter is null or unset, nothing is substituted, otherwise the expansion of word is substituted. -export LDFLAGS="${LDFLAGS} -Wl,-rpath,${LIB_DIR}/lib:${MET_PROJ:+:$MET_PROJ/lib64}:${LIB_DIR}/lib${MET_NETCDF:+:$MET_NETCDF/lib}${MET_HDF5:+:$MET_HDF5/lib}${MET_BUFRLIB:+:$MET_BUFRLIB}${MET_GRIB2CLIB:+:$MET_GRIB2CLIB}${MET_PYTHON_LIB:+:$MET_PYTHON_LIB}${MET_GSL:+:$MET_GSL/lib}${ADDTL_DIR:+:$ADDTL_DIR}" -export LDFLAGS="${LDFLAGS} -Wl,-rpath,${LIB_JASPER:+$LIB_JASPER}${LIB_LIBPNG:+:$LIB_PNG}${LIB_Z:+$LIB_Z}" -export LDFLAGS="${LDFLAGS} ${LIB_JASPER:+-L$LIB_JASPER} ${LIB_LIBPNG:+-L$LIB_LIBPNG} ${MET_HDF5:+-L$MET_HDF5/lib} ${ADDTL_DIR:+-L$ADDTL_DIR}" -export LIBS="${LIBS} -lhdf5_hl -lhdf5 -lz -ltiff" + +# add LIB_DIR/lib and LIB_DIR/lib64 to rpath and -L +LDFLAGS="${LDFLAGS} -Wl,-rpath,${LIB_DIR}/lib -L${LIB_DIR}/lib -Wl,-rpath,${LIB_DIR}/lib64 -L${LIB_DIR}/lib64" + +# if variables are set, add /lib to rpath and -L +for x in $MET_CAIRO $MET_FREETYPE $MET_GSL $MET_HDF $MET_HDF5 $MET_NETCDF; do + arg="${x:+-Wl,-rpath,$x/lib -L$x/lib}" + if [[ "$LDFLAGS" != *"$arg"* ]]; then + LDFLAGS+=" $arg" + fi +done + +# if variables are set, add /lib64 to rpath and -L +for x in $MET_ATLAS $MET_BUFR $MET_ECKIT $MET_GRIB2C $MET_PROJ $LIB_JASPER; do + arg="${x:+-Wl,-rpath,$x/lib64 -L$x/lib64}" + if [[ "$LDFLAGS" != *"$arg"* ]]; then + LDFLAGS+=" $arg" + fi +done + +# if variables are set, add to rpath and -L +for x in $MET_ATLASLIB $MET_BUFRLIB $MET_CAIROLIB $MET_ECKITLIB $MET_FREETYPELIB $MET_GRIB2CLIB $MET_GSLLIB $MET_HDF5LIB $MET_HDFLIB $MET_NETCDFLIB $MET_PROJLIB $MET_PYTHON_LIB $LIB_JASPER $LIB_LIBPNG $LIB_Z $ADDTL_DIR; do + arg="${x:+-Wl,-rpath,$x -L$x}" + if [[ "$LDFLAGS" != *"$arg"* ]]; then + LDFLAGS+=" $arg" + fi +done + +export LDFLAGS + +export LIBS="${LIBS} -lhdf5_hl -lhdf5 -lz" export MET_FONT_DIR=${TEST_BASE}/fonts @@ -874,9 +917,9 @@ fi configure_cmd="${configure_cmd} ${OPT_ARGS}" echo "cd `pwd`" -run_cmd "${configure_cmd} > met.configure.log 2>&1" -run_cmd "make ${MAKE_ARGS} > met.make.log 2>&1" -run_cmd "make ${MAKE_ARGS} install > met.make_install.log 2>&1" -run_cmd "make ${MAKE_ARGS} test > met.make_test.log 2>&1" +run_cmd "${configure_cmd} > $(pwd)/configure.log 2>&1" +run_cmd "make ${MAKE_ARGS} > $(pwd)/met.make.log 2>&1" +run_cmd "make install > $(pwd)/met.make_install.log 2>&1" +run_cmd "make test > $(pwd)/met.make_test.log 2>&1" echo "Finished compiling at `date`" diff --git a/internal/scripts/installation/config/install_met_env.gaea b/internal/scripts/installation/config/install_met_env.gaea index a47e1d609f..78052504da 100644 --- a/internal/scripts/installation/config/install_met_env.gaea +++ b/internal/scripts/installation/config/install_met_env.gaea @@ -1,12 +1,37 @@ -module load intel/2022.2.1 +module load intel-oneapi/2022.0.2 -export TEST_BASE=/usw/met/12.0.0 -export COMPILER=intel_2022.2.1 +export FC=ifx +export F77=ifx +export F90=ifx +export CC=icx +export CXX=icpx +export TEST_BASE=/usw/met/12.0.0-beta2 +export COMPILER=intel-oneapi_2022.0.2 export MET_SUBDIR=${TEST_BASE} -export MET_TARBALL=v12.0.0.tar.gz +export MET_TARBALL=v12.0.0-beta2.tar.gz export USE_MODULES=TRUE export MET_PYTHON=/lustre/f2/dev/esrl/Julie.Prestopnik/projects/miniconda/miniconda3/envs/metplus_v5.1_py3.10/ export MET_PYTHON_CC=-I${MET_PYTHON}/include/python3.10 export MET_PYTHON_LD=-L${MET_PYTHON}/lib/python3.10/config-3.10-x86_64-linux-gnu\ -L${MET_PYTHON}/lib\ -lpython3.10\ -lcrypt\ -lpthread\ -ldl\ -lutil\ -lm -export EXTERNAL_LIBS=/usw/met/12.0.0-beta1/external_libs -export LIB_Z=${EXTERNAL_LIBS}/lib +export ADDTL_DIR=/usr/lib64 +#export TIFF_INCLUDE_DIR=/lustre/f2/dev/esrl/Julie.Prestopnik/projects/miniconda/miniconda3/pkgs/libtiff-4.4.0-h82bc61c_5/include +#export LIB_TIFF=${ADDTL_DIR}/libtiff.so.5 +#export EXTERNAL_LIBS=/usw/met/12.0.0-beta2/external_libs +#export MET_PROJ=${EXTERNAL_LIBS} +#COMPILE_ATLAS=1 +#COMPILE_ECKIT=1 +#export MET_ATLAS=${EXTERNAL_LIBS} +#export MET_ECKIT=${EXTERNAL_LIBS} +#export MET_GSL=${EXTERNAL_LIBS} +#export MET_BUFRLIB=${EXTERNAL_LIBS} +#export BUFRLIB_NAME=-lbufr_4 +#export MET_HDF5=${EXTERNAL_LIBS} +#export MET_NETCDF=${EXTERNAL_LIBS} +#export MET_GRIB2CLIB=${EXTERNAL_LIBS}/lib +#export MET_GRIB2CINC=${EXTERNAL_LIBS}/include +#export GRIB2CLIB_NAME=-lg2c +#export LIB_JASPER=${EXTERNAL_LIBS}/lib +#export LIB_LIBPNG=${EXTERNAL_LIBS}/lib +#export LIB_Z=${EXTERNAL_LIBS}/lib +export MAKE_ARGS="-j 5" + diff --git a/internal/scripts/installation/config/install_met_env.hera b/internal/scripts/installation/config/install_met_env.hera index 2b7b6ed08f..cddaa00f90 100755 --- a/internal/scripts/installation/config/install_met_env.hera +++ b/internal/scripts/installation/config/install_met_env.hera @@ -2,6 +2,11 @@ module load gnu/9.2.0 module load intel/2022.1.2 module load cmake/3.26.4 +export FC=ifort +export F77=ifort +export F90=ifort +export CC=icc +export CXX=icpc export PATH=/scratch1/BMC/dtc/miniconda/miniconda3/envs/metplus_v5.1_py3.10/bin:${PATH} export TEST_BASE=/contrib/met/12.0.0 export COMPILER=intel_2022.1.2 @@ -14,21 +19,21 @@ export MET_PYTHON_LD=`python3-config --ldflags --embed` export SET_D64BIT=FALSE export ADDTL_DIR=/usr/lib64 export EXTERNAL_LIBS=/contrib/met/12.0.0/external_libs/ +export COMPILE_ECKIT=1 +export COMPILE_ATLAS=1 #export MET_PROJ=${EXTERNAL_LIBS} +#export MET_ATLAS=${EXTERNAL_LIBS} +#export MET_ECKIT=${EXTERNAL_LIBS} #export MET_NETCDF=${EXTERNAL_LIBS} #export MET_GSL=${EXTERNAL_LIBS} #export MET_BUFRLIB=${EXTERNAL_LIBS} -#export BUFRLIB_NAME=-lbufr -#export MET_HDF5=${EXTERNAL_LIBS} +#export BUFRLIB_NAME=-lbufr_4 #export MET_GRIB2CLIB=${EXTERNAL_LIBS}/lib #export MET_GRIB2CINC=${EXTERNAL_LIBS}/include -#export GRIB2CLIB_NAME=-lgrib2c +#export GRIB2CLIB_NAME=-lg2c #export LIB_JASPER=${EXTERNAL_LIBS}/lib #export LIB_LIBPNG=${EXTERNAL_LIBS}/lib #export LIB_Z=${EXTERNAL_LIBS}/lib #export SQLITE_INCLUDE_DIR=${EXTERNAL_LIBS}/include #export SQLITE_LIB_DIR=${EXTERNAL_LIBS}/lib -#export CFLAGS="-Wall -g" -#export CXXFLAGS="-Wall -g -lcurl" -export MAKE_ARGS=-j -export CXXFLAGS="-std=c++11" +export MAKE_ARGS="-j 5" diff --git a/internal/scripts/installation/config/install_met_env.jet b/internal/scripts/installation/config/install_met_env.jet index 87442a55fe..b3be597853 100644 --- a/internal/scripts/installation/config/install_met_env.jet +++ b/internal/scripts/installation/config/install_met_env.jet @@ -1,4 +1,3 @@ -module load gnu/9.2.0 module load intel/2022.1.2 module load cmake/3.26.4 @@ -17,13 +16,19 @@ export MET_PYTHON_CC=-I${MET_PYTHON}/include/python3.10 export MET_PYTHON_LD=-L${MET_PYTHON}/lib/python3.10/config-3.10-x86_64-linux-gnu\ -L${MET_PYTHON}/lib\ -lpython3.10\ -lcrypt\ -lpthread\ -ldl\ -lutil\ -lrt\ -lm\ -lm export ADDTL_DIR=/usr/lib64 export EXTERNAL_LIBS=${TEST_BASE}/external_libs/ +COMPILE_ATLAS=1 +COMPILE_ECKIT=1 #export MET_PROJ=${EXTERNAL_LIBS} +export TIFF_INCLUDE_DIR=/usr/include +export TIFF_LIB_DIR=/usr/lib64 +#export MET_ATLAS=${EXTERNAL_LIBS} +#export MET_ECKIT=${EXTERNAL_LIBS} #export MET_GSL=${EXTERNAL_LIBS} #export MET_BUFRLIB=${EXTERNAL_LIBS} -#export BUFRLIB_NAME=-lbufr +#export BUFRLIB_NAME=-lbufr_4 #export MET_GRIB2CLIB=${EXTERNAL_LIBS}/lib #export MET_GRIB2CINC=${EXTERNAL_LIBS}/include -#export GRIB2CLIB_NAME=-lgrib2c +#export GRIB2CLIB_NAME=-lg2c #export MET_HDF5=${EXTERNAL_LIBS} #export MET_NETCDF=${EXTERNAL_LIBS} #export LIB_JASPER=${EXTERNAL_LIBS}/lib @@ -31,6 +36,4 @@ export EXTERNAL_LIBS=${TEST_BASE}/external_libs/ #export LIB_Z=${EXTERNAL_LIBS}/lib #export SQLITE_INCLUDE_DIR=${EXTERNAL_LIBS}/include #export SQLITE_LIB_DIR=${EXTERNAL_LIBS}/lib -export MAKE_ARGS=-j -export SET_D64BIT=FALSE -export CXXFLAGS="-std=c++11" +export MAKE_ARGS="-j 5" diff --git a/internal/scripts/installation/config/install_met_env.orion b/internal/scripts/installation/config/install_met_env.orion index 5f8b03bafb..b951ee41f5 100644 --- a/internal/scripts/installation/config/install_met_env.orion +++ b/internal/scripts/installation/config/install_met_env.orion @@ -1,29 +1,34 @@ module load intel/2020.2 +module load cmake/3.22.1 -export TEST_BASE=/apps/contrib/MET/11.1.0 +export TEST_BASE=/apps/contrib/MET/12.0.0-beta2 export COMPILER=intel_2020 export MET_SUBDIR=${TEST_BASE}/ -export MET_TARBALL=v11.1.0.tar.gz +export MET_TARBALL=v12.0.0-beta2.tar.gz export USE_MODULES=TRUE export MET_PYTHON=/work/noaa/ovp/miniconda/miniconda3/envs/metplus_v5.1_py3.10 export MET_PYTHON_CC=-I${MET_PYTHON}/include/python3.10 export MET_PYTHON_LD=-L${MET_PYTHON}/lib/python3.10/config-3.10-x86_64-linux-gnu\ -L${MET_PYTHON}/lib\ -lpython3.10\ -lcrypt\ -lpthread\ -ldl\ -lutil\ -lrt\ -lm\ -lm +export ADDTL_DIR=/usr/lib64 +#export TIFF_INCLUDE_DIR=${ADDTL_DIR} +#export LIB_TIFF=${ADDTL_DIR}/libtiff.so.5 export EXTERNAL_LIBS=${TEST_BASE}/external_libs -export LIB_Z=${EXTERNAL_LIBS}/lib +#export SQLITE_INCLUDE_DIR=${EXTERNAL_LIBS}/include +#export SQLITE_LIB_DIR=${EXTERNAL_LIBS}/lib +#export MET_PROJ=${EXTERNAL_LIBS} +#COMPILE_ATLAS=1 +#COMPILE_ECKIT=1 +#export MET_ATLAS=${EXTERNAL_LIBS} +#export MET_ECKIT=${EXTERNAL_LIBS} #export MET_GSL=${EXTERNAL_LIBS} #export MET_BUFRLIB=${EXTERNAL_LIBS} -#export BUFRLIB_NAME=-lbufr +#export BUFRLIB_NAME=-lbufr_4 #export MET_HDF5=${EXTERNAL_LIBS} #export MET_NETCDF=${EXTERNAL_LIBS} #export MET_GRIB2CLIB=${EXTERNAL_LIBS}/lib #export MET_GRIB2CINC=${EXTERNAL_LIBS}/include -#export GRIB2CLIB_NAME=-lgrib2c +#export GRIB2CLIB_NAME=-lg2c #export LIB_JASPER=${EXTERNAL_LIBS}/lib #export LIB_LIBPNG=${EXTERNAL_LIBS}/lib -#export SET_D64BIT=FALSE -export MAKE_ARGS=-j -#export CFLAGS="-Wall -g" -#export CXXFLAGS="-Wall -g" -export CXXFLAGS="-std=c++11" - - +#export LIB_Z=${EXTERNAL_LIBS}/lib +export MAKE_ARGS="-j 5" diff --git a/internal/scripts/installation/config/install_met_env_met_only.casper b/internal/scripts/installation/config/install_met_env_met_only.casper deleted file mode 100644 index beb46d927d..0000000000 --- a/internal/scripts/installation/config/install_met_env_met_only.casper +++ /dev/null @@ -1,30 +0,0 @@ -module load ncarenv/1.3 -module load intel/2021.2 -module load netcdf/4.8.0 - -export TEST_BASE=/glade/p/ral/jntp/MET/MET_releases/casper/11.1.0 -export COMPILER=intel_2021.2 -export MET_SUBDIR=${TEST_BASE} -export MET_TARBALL=v11.1.0.tar.gz -export USE_MODULES=TRUE -export MET_PYTHON=/glade/p/ral/jntp/MET/METplus/miniconda/miniconda3/envs/metplus_v5.1_py3.10 -export MET_PYTHON_CC=-I${MET_PYTHON}/include/python3.10 -export MET_PYTHON_LD=`${MET_PYTHON}/bin/python3-config --ldflags --embed` -export MET_NETCDF=/glade/u/apps/ch/opt/netcdf/4.8.0/intel/2021.2/ -export MET_HDF5=/glade/u/apps/ch/opt/netcdf/4.8.0/intel/2021.2/ -export EXTERNAL_LIBS=${TEST_BASE}/external_libs -export MET_GSL=${EXTERNAL_LIBS} -export MET_BUFRLIB=${EXTERNAL_LIBS} -export BUFRLIB_NAME=-lbufr -export MET_HDF5=${EXTERNAL_LIBS} -export MET_GRIB2CLIB=${EXTERNAL_LIBS}/lib -export MET_GRIB2CINC=${EXTERNAL_LIBS}/include -export GRIB2CLIB_NAME=-lgrib2c -export LIB_JASPER=${EXTERNAL_LIBS}/lib -export LIB_LIBPNG=${EXTERNAL_LIBS}/lib -export LIB_Z=${EXTERNAL_LIBS}/lib -export SET_D64BIT=FALSE -#export CFLAGS="-Wall -g" -#export CXXFLAGS="-Wall -g" -export MAKE_ARGS=-j -export CXXFLAGS="-std=c++11" diff --git a/internal/scripts/installation/config/install_met_env_met_only.cheyenne b/internal/scripts/installation/config/install_met_env_met_only.cheyenne deleted file mode 100644 index 4049fc774a..0000000000 --- a/internal/scripts/installation/config/install_met_env_met_only.cheyenne +++ /dev/null @@ -1,30 +0,0 @@ -module load ncarenv/1.3 -module load intel/2021.2 -module load netcdf/4.8.0 - -export TEST_BASE=/glade/p/ral/jntp/MET/MET_releases/11.1.0 -export COMPILER=intel_2021.2 -export MET_SUBDIR=${TEST_BASE} -export MET_TARBALL=v11.1.0.tar.gz -export USE_MODULES=TRUE -export MET_PYTHON=/glade/p/ral/jntp/MET/METplus/miniconda/miniconda3/envs/metplus_v5.1_py3.10 -export MET_PYTHON_CC=-I${MET_PYTHON}/include/python3.10 -export MET_PYTHON_LD=`${MET_PYTHON}/bin/python3-config --ldflags --embed` -export MET_NETCDF=/glade/u/apps/ch/opt/netcdf/4.8.0/intel/2021.2/ -export MET_HDF5=/glade/u/apps/ch/opt/netcdf/4.8.0/intel/2021.2/ -export EXTERNAL_LIBS=${TEST_BASE}/external_libs -export MET_GSL=${EXTERNAL_LIBS} -export MET_BUFRLIB=${EXTERNAL_LIBS} -export BUFRLIB_NAME=-lbufr -export MET_HDF5=${EXTERNAL_LIBS} -export MET_GRIB2CLIB=${EXTERNAL_LIBS}/lib -export MET_GRIB2CINC=${EXTERNAL_LIBS}/include -export GRIB2CLIB_NAME=-lgrib2c -export LIB_JASPER=${EXTERNAL_LIBS}/lib -export LIB_LIBPNG=${EXTERNAL_LIBS}/lib -export LIB_Z=${EXTERNAL_LIBS}/lib -export SET_D64BIT=FALSE -##export CFLAGS="-Wall -g" -##export CXXFLAGS="-Wall -g" -export MAKE_ARGS=-j -export CXXFLAGS="-std=c++11" diff --git a/internal/scripts/installation/config/install_met_env_met_only.frontera b/internal/scripts/installation/config/install_met_env_met_only.frontera deleted file mode 100644 index 0d56c92e8a..0000000000 --- a/internal/scripts/installation/config/install_met_env_met_only.frontera +++ /dev/null @@ -1,27 +0,0 @@ -module load intel/19.1.1 -module load hdf5/1.12.0 -module load netcdf/4.7.4 - -export TEST_BASE=/work2/06612/tg859120/frontera/MET/11.0.0 -export COMPILER=intel_19.1.1 -export MET_SUBDIR=${TEST_BASE}/ -export MET_TARBALL=v11.0.0.tar.gz -export USE_MODULES=TRUE -export MET_PYTHON=/work2/06612/tg859120/frontera/miniconda/miniconda3/envs/metplus_v5.0_py3.8 -export MET_PYTHON_CC=-I${MET_PYTHON}/include/python3.8 -export MET_PYTHON_LD=-L${MET_PYTHON}/lib\ -lpython3.8\ -lcrypt\ -lpthread\ -ldl\ -lutil\ -lm -export MET_HDF5=/opt/apps/intel19/hdf5/1.12.0/x86_64/ -export MET_NETCDF=/opt/apps/intel19/netcdf/4.7.4/x86_64/ -export EXTERNAL_LIBS=${TEST_BASE}/external_libs -export MET_GSL=${EXTERNAL_LIBS} -export MET_BUFRLIB=${EXTERNAL_LIBS} -export BUFRLIB_NAME=-lbufr -export MET_GRIB2CLIB=${EXTERNAL_LIBS}/lib -export MET_GRIB2CINC=${EXTERNAL_LIBS}/include -export GRIB2CLIB_NAME=-lgrib2c -export LIB_JASPER=${EXTERNAL_LIBS}/lib -export LIB_LIBPNG=${EXTERNAL_LIBS}/lib -export LIB_Z=${EXTERNAL_LIBS}/lib -export SET_D64BIT=FALSE -#export CFLAGS="-Wall -g" -#export CXXFLAGS="-Wall -g" \ No newline at end of file diff --git a/internal/scripts/installation/config/install_met_env_met_only.gaea b/internal/scripts/installation/config/install_met_env_met_only.gaea deleted file mode 100644 index f3a72e6dbb..0000000000 --- a/internal/scripts/installation/config/install_met_env_met_only.gaea +++ /dev/null @@ -1,26 +0,0 @@ -module load intel/2022.2.1 - -export TEST_BASE=/usw/met/12.0.0 -export COMPILER=intel_2022.2.1 -export MET_SUBDIR=${TEST_BASE} -export MET_TARBALL=v12.0.0.tar.gz -export USE_MODULES=TRUE -export MET_PYTHON=/lustre/f2/dev/esrl/Julie.Prestopnik/projects/miniconda/miniconda3/envs/metplus_v5.1_py3.10/ -export MET_PYTHON_CC=-I${MET_PYTHON}/include/python3.10 -export MET_PYTHON_LD=-L${MET_PYTHON}/lib/python3.10/config-3.10-x86_64-linux-gnu\ -L${MET_PYTHON}/lib\ -lpython3.10\ -lcrypt\ -lpthread\ -ldl\ -lutil\ -lm -export EXTERNAL_LIBS=/usw/met/12.0.0/external_libs -export MET_PROJ=${EXTERNAL_LIBS} -export MET_NETCDF=${EXTERNAL_LIBS} -export MET_GSL=${EXTERNAL_LIBS} -export MET_BUFRLIB=${EXTERNAL_LIBS} -export BUFRLIB_NAME=-lbufr -export MET_HDF5=${EXTERNAL_LIBS} -export MET_GRIB2CLIB=${EXTERNAL_LIBS}/lib -export MET_GRIB2CINC=${EXTERNAL_LIBS}/include -export GRIB2CLIB_NAME=-lgrib2c -export LIB_JASPER=${EXTERNAL_LIBS}/lib -export LIB_LIBPNG=${EXTERNAL_LIBS}/lib -export LIB_Z=${EXTERNAL_LIBS}/lib -#export CFLAGS="-Wall -g" -#export CXXFLAGS="-Wall -g -lcurl" -export MAKE_ARGS=-j diff --git a/internal/scripts/installation/config/install_met_env_met_only.hera b/internal/scripts/installation/config/install_met_env_met_only.hera deleted file mode 100644 index b8ac02a3e0..0000000000 --- a/internal/scripts/installation/config/install_met_env_met_only.hera +++ /dev/null @@ -1,34 +0,0 @@ -module load gnu/9.2.0 -module load intel/2022.1.2 -module load cmake/3.26.4 - -export PATH=/scratch1/BMC/dtc/miniconda/miniconda3/envs/metplus_v5.1_py3.10/bin:${PATH} -export TEST_BASE=/contrib/met/12.0.0 -export COMPILER=intel_2022.1.2 -export MET_SUBDIR=${TEST_BASE} -export MET_TARBALL=v12.0.0.tar.gz -export USE_MODULES=TRUE -export MET_PYTHON=/scratch1/BMC/dtc/miniconda/miniconda3/envs/metplus_v5.1_py3.10 -export MET_PYTHON_CC=-I${MET_PYTHON}/include/python3.10 -export MET_PYTHON_LD=`python3-config --ldflags --embed` -export SET_D64BIT=FALSE -export ADDTL_DIR=/usr/lib64 -export EXTERNAL_LIBS=/contrib/met/12.0.0/external_libs/ -export MET_PROJ=${EXTERNAL_LIBS} -export MET_NETCDF=${EXTERNAL_LIBS} -export MET_GSL=${EXTERNAL_LIBS} -export MET_BUFRLIB=${EXTERNAL_LIBS} -export BUFRLIB_NAME=-lbufr -export MET_HDF5=${EXTERNAL_LIBS} -export MET_GRIB2CLIB=${EXTERNAL_LIBS}/lib -export MET_GRIB2CINC=${EXTERNAL_LIBS}/include -export GRIB2CLIB_NAME=-lgrib2c -export LIB_JASPER=${EXTERNAL_LIBS}/lib -export LIB_LIBPNG=${EXTERNAL_LIBS}/lib -export LIB_Z=${EXTERNAL_LIBS}/lib -export SQLITE_INCLUDE_DIR=${EXTERNAL_LIBS}/include -export SQLITE_LIB_DIR=${EXTERNAL_LIBS}/lib -#export CFLAGS="-Wall -g" -#export CXXFLAGS="-Wall -g -lcurl" -export MAKE_ARGS=-j -export CXXFLAGS="-std=c++11" diff --git a/internal/scripts/installation/config/install_met_env_met_only.jet b/internal/scripts/installation/config/install_met_env_met_only.jet deleted file mode 100644 index 00b9d689d2..0000000000 --- a/internal/scripts/installation/config/install_met_env_met_only.jet +++ /dev/null @@ -1,36 +0,0 @@ -module load gnu/9.2.0 -module load intel/2022.1.2 -module load cmake/3.26.4 - -export FC=ifort -export F77=ifort -export F90=ifort -export CC=icc -export CXX=icpc -export TEST_BASE=/contrib/met/12.0.0 -export COMPILER=intel_2022.1.2 -export MET_SUBDIR=${TEST_BASE} -export MET_TARBALL=v12.0.0.tar.gz -export USE_MODULES=TRUE -export MET_PYTHON=/mnt/lfs1/HFIP/dtc-hurr/METplus/miniconda/miniconda3/envs/metplus_v5.1_py3.10 -export MET_PYTHON_CC=-I${MET_PYTHON}/include/python3.10 -export MET_PYTHON_LD=-L${MET_PYTHON}/lib/python3.10/config-3.10-x86_64-linux-gnu\ -L${MET_PYTHON}/lib\ -lpython3.10\ -lcrypt\ -lpthread\ -ldl\ -lutil\ -lrt\ -lm\ -lm -export ADDTL_DIR=/usr/lib64 -export EXTERNAL_LIBS=${TEST_BASE}/external_libs/ -export MET_PROJ=${EXTERNAL_LIBS} -export MET_GSL=${EXTERNAL_LIBS} -export MET_BUFRLIB=${EXTERNAL_LIBS} -export BUFRLIB_NAME=-lbufr -export MET_GRIB2CLIB=${EXTERNAL_LIBS}/lib -export MET_GRIB2CINC=${EXTERNAL_LIBS}/include -export GRIB2CLIB_NAME=-lgrib2c -export MET_HDF5=${EXTERNAL_LIBS} -export MET_NETCDF=${EXTERNAL_LIBS} -export LIB_JASPER=${EXTERNAL_LIBS}/lib -export LIB_LIBPNG=${EXTERNAL_LIBS}/lib -export LIB_Z=${EXTERNAL_LIBS}/lib -export SQLITE_INCLUDE_DIR=${EXTERNAL_LIBS}/include -export SQLITE_LIB_DIR=${EXTERNAL_LIBS}/lib -export MAKE_ARGS=-j -export SET_D64BIT=FALSE -export CXXFLAGS="-std=c++11" diff --git a/internal/scripts/installation/config/install_met_env_met_only.orion b/internal/scripts/installation/config/install_met_env_met_only.orion deleted file mode 100644 index 66cea2a43c..0000000000 --- a/internal/scripts/installation/config/install_met_env_met_only.orion +++ /dev/null @@ -1,28 +0,0 @@ -module load intel/2020.2 - -export TEST_BASE=/apps/contrib/MET/11.1.0 -export COMPILER=intel_2020 -export MET_SUBDIR=${TEST_BASE}/ -export MET_TARBALL=v11.1.0.tar.gz -export USE_MODULES=TRUE -export MET_PYTHON=/work/noaa/ovp/miniconda/miniconda3/envs/metplus_v5.1_py3.10 -export MET_PYTHON_CC=-I${MET_PYTHON}/include/python3.10 -export MET_PYTHON_LD=`${MET_PYTHON}/bin/python3-config --ldflags --embed` -export EXTERNAL_LIBS=${TEST_BASE}/external_libs -export MET_GSL=${EXTERNAL_LIBS} -export MET_BUFRLIB=${EXTERNAL_LIBS} -export BUFRLIB_NAME=-lbufr -export MET_HDF5=${EXTERNAL_LIBS} -export MET_NETCDF=${EXTERNAL_LIBS} -export MET_GRIB2CLIB=${EXTERNAL_LIBS}/lib -export MET_GRIB2CINC=${EXTERNAL_LIBS}/include -export GRIB2CLIB_NAME=-lgrib2c -export LIB_JASPER=${EXTERNAL_LIBS}/lib -export LIB_LIBPNG=${EXTERNAL_LIBS}/lib -export LIB_Z=${EXTERNAL_LIBS}/lib -export SET_D64BIT=FALSE -export MAKE_ARGS=-j -#export CFLAGS="-Wall -g" -#export CXXFLAGS="-Wall -g" -export CXXFLAGS="-std=c++11" - diff --git a/internal/scripts/installation/modulefiles/11.1.0_orion b/internal/scripts/installation/modulefiles/11.1.0_orion deleted file mode 100644 index 03ebbc352a..0000000000 --- a/internal/scripts/installation/modulefiles/11.1.0_orion +++ /dev/null @@ -1,45 +0,0 @@ -#%Module###################################################################### -## -## Model Evaluation Tools -## -proc ModulesHelp { } { - puts stderr "Sets up the paths and environment variables to use the Model Evaluation Tools v11.1.0 - *** For help see the official MET webpage at http://www.dtcenter.org/met/users ***" -} - -prereq intel/2020.2 - -set base /apps/contrib/MET -set ver 11.1.0 -set share $base/$ver/share/met -set lib_base $base/11.1.0 -setenv MET_ROOT $base/$ver/MET-11.1.0 - -prepend-path PATH $base/$ver/bin:$lib_base/external_libs/bin:/work/noaa/ovp/miniconda/miniconda3/envs/metplus_v5.1_py3.10/bin - -export CC=icc -#export CXX=icc -#export F77=ifort -#module load intel/2020.2 -#module load intelpython3/2020.2 -#export libdir=/apps/contrib/MET/11.1.0/external_libs/lib -#export incdir=/apps/contrib/MET/11.1.0/external_libs/include -#export iprefix=/apps/contrib/MET/11.1.0/external_libs -#export basedir=/apps/contrib/MET/11.1.0/MET-11.1.0 -#export MET_HDF5=$iprefix -#export MET_NETCDF=$incdir -#export MET_GRIB2CINC=$incdir -#export MET_GRIB2CLIB=$libdir -#setenv MET_GSLLIB=$libdir -#export MET_GSLINC=$incdir -#export MET_BUFR=$libdir -#export MET_HDFINC=$incdir -#export MET_HDFLIB=$libdir -#export MET_HDFEOSINC=$incdir -#export MET_HDFEOSLIB=$libdir -#export MET_PYTHON=/work/noaa/ovp/miniconda/miniconda3/envs/metplus_v5.1_py3.10 -#export MET_PYTHON_CC=-I${MET_PYTHON}/include/python3.10 -#export MET_PYTHON_LD=-L${MET_PYTHON}/lib/python3.10/config-3.10-x86_64-linux-gnu\ -L${MET_PYTHON}/lib\ -lpython3.10\ -lcrypt\ -lpthread\ -ldl\ -lutil\ -lrt\ -lm\ -lm -#export MET_FONT_DIR=$basedir/fonts/ -#export LDFLAGS=-Wl,--disable-new-dtags -Wl,-rpath,${libdir}:${MET_PYTHON}/lib -#export CPPFLAGS=-I/apps/contrib/met/11.1.0/external_libs/include diff --git a/internal/scripts/installation/modulefiles/12.0.0_gaea b/internal/scripts/installation/modulefiles/12.0.0_gaea index 3afc495ab6..1ce4cd13c3 100644 --- a/internal/scripts/installation/modulefiles/12.0.0_gaea +++ b/internal/scripts/installation/modulefiles/12.0.0_gaea @@ -7,7 +7,7 @@ proc ModulesHelp { } { *** For help see the official MET webpage at http://www.dtcenter.org/met/users ***" } -module load intel/2022.2.1 +module load intel-oneapi/2022.0.2 set base /usw/met set ver 12.0.0 diff --git a/internal/scripts/installation/modulefiles/12.0.0_orion b/internal/scripts/installation/modulefiles/12.0.0_orion new file mode 100644 index 0000000000..ed0dd56805 --- /dev/null +++ b/internal/scripts/installation/modulefiles/12.0.0_orion @@ -0,0 +1,19 @@ +#%Module###################################################################### +## +## Model Evaluation Tools +## +proc ModulesHelp { } { + puts stderr "Sets up the paths and environment variables to use the Model Evaluation Tools v12.0.0 + *** For help see the official MET webpage at http://www.dtcenter.org/met/users ***" +} + +prereq intel/2020.2 + +set base /apps/contrib/MET +set ver 12.0.0-beta2 +set share $base/$ver/share/met +set lib_base $base/12.0.0-beta2 +setenv MET_ROOT $base/$ver/MET-12.0.0-beta2 + +prepend-path PATH $base/$ver/bin:$lib_base/external_libs/bin:/work/noaa/ovp/miniconda/miniconda3/envs/metplus_v5.1_py3.10/bin + 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 + + + &OUTPUT_DIR;/grid_stat/grid_stat_WRF_pres_120000L_20190831_120000V.stat + &OUTPUT_DIR;/grid_stat/grid_stat_WRF_pres_120000L_20190831_120000V_pairs.nc + + + 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 + + + &OUTPUT_DIR;/plot_data_plane/wrf_west_east_stag.ps + + + + + &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 + + + &OUTPUT_DIR;/plot_data_plane/wrf_south_north_stag.ps + + + + + &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 + + + &OUTPUT_DIR;/plot_data_plane/wrf_num_press_levels_stag.ps + + + + + &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 + + + &OUTPUT_DIR;/plot_data_plane/wrf_num_z_levels_stag.ps + + + + + &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 + + + &OUTPUT_DIR;/plot_data_plane/wrf_bottom_top.ps + + + + + &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 + + + &OUTPUT_DIR;/plot_data_plane/wrf_bottom_top_stag.ps + + + 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 +#include #include #include #include #include "var_info.h" -#include "var_info_nc_pinterp.h" +#include "var_info_nc_wrf.h" #include "vx_math.h" #include "vx_util.h" @@ -33,25 +34,25 @@ using namespace std; /////////////////////////////////////////////////////////////////////////////// // -// Code for class VarInfoNcPinterp +// Code for class VarInfoNcWrf // /////////////////////////////////////////////////////////////////////////////// -VarInfoNcPinterp::VarInfoNcPinterp() { +VarInfoNcWrf::VarInfoNcWrf() { init_from_scratch(); } /////////////////////////////////////////////////////////////////////////////// -VarInfoNcPinterp::~VarInfoNcPinterp() { +VarInfoNcWrf::~VarInfoNcWrf() { clear(); } /////////////////////////////////////////////////////////////////////////////// -VarInfoNcPinterp::VarInfoNcPinterp(const VarInfoNcPinterp &f) { +VarInfoNcWrf::VarInfoNcWrf(const VarInfoNcWrf &f) { init_from_scratch(); @@ -60,7 +61,7 @@ VarInfoNcPinterp::VarInfoNcPinterp(const VarInfoNcPinterp &f) { /////////////////////////////////////////////////////////////////////////////// -VarInfoNcPinterp & VarInfoNcPinterp::operator=(const VarInfoNcPinterp &f) { +VarInfoNcWrf & VarInfoNcWrf::operator=(const VarInfoNcWrf &f) { if ( this == &f ) return ( *this ); @@ -71,7 +72,7 @@ VarInfoNcPinterp & VarInfoNcPinterp::operator=(const VarInfoNcPinterp &f) { /////////////////////////////////////////////////////////////////////////////// -void VarInfoNcPinterp::init_from_scratch() { +void VarInfoNcWrf::init_from_scratch() { // First call the parent's initialization VarInfo::init_from_scratch(); @@ -82,7 +83,7 @@ void VarInfoNcPinterp::init_from_scratch() { /////////////////////////////////////////////////////////////////////////////// -void VarInfoNcPinterp::assign(const VarInfoNcPinterp &v) { +void VarInfoNcWrf::assign(const VarInfoNcWrf &v) { int i; // First call the parent's assign @@ -98,7 +99,7 @@ void VarInfoNcPinterp::assign(const VarInfoNcPinterp &v) { /////////////////////////////////////////////////////////////////////////////// -void VarInfoNcPinterp::clear() { +void VarInfoNcWrf::clear() { // First call the parent's clear VarInfo::clear(); @@ -110,10 +111,10 @@ void VarInfoNcPinterp::clear() { /////////////////////////////////////////////////////////////////////////////// -void VarInfoNcPinterp::dump(ostream &out) const { +void VarInfoNcWrf::dump(ostream &out) const { // Dump out the contents - out << "VarInfoNcPinterp::dump():\n" + out << "VarInfoNcWrf::dump():\n" << " Dimension:\n"; Dimension.dump(out); out << " Is_offset:\n"; @@ -125,7 +126,7 @@ void VarInfoNcPinterp::dump(ostream &out) const { /////////////////////////////////////////////////////////////////////////////// -void VarInfoNcPinterp::add_dimension(int dim, bool as_offset, double dim_value) { +void VarInfoNcWrf::add_dimension(int dim, bool as_offset, double dim_value) { Dimension.add(dim); Is_offset.add(as_offset); Dim_value.add(dim_value); @@ -133,7 +134,7 @@ void VarInfoNcPinterp::add_dimension(int dim, bool as_offset, double dim_value) /////////////////////////////////////////////////////////////////////////////// -void VarInfoNcPinterp::clear_dimension() { +void VarInfoNcWrf::clear_dimension() { Dimension.clear(); Is_offset.clear(); Dim_value.clear(); @@ -141,17 +142,17 @@ void VarInfoNcPinterp::clear_dimension() { /////////////////////////////////////////////////////////////////////////////// -void VarInfoNcPinterp::set_dimension(int i_dim, int dim) { +void VarInfoNcWrf::set_dimension(int i_dim, int dim) { Dimension[i_dim] = dim; return; } /////////////////////////////////////////////////////////////////////////////// -void VarInfoNcPinterp::set_magic(const ConcatString &nstr, const ConcatString &lstr) { +void VarInfoNcWrf::set_magic(const ConcatString &nstr, const ConcatString &lstr) { ConcatString tmp_str; char *ptr = (char *) 0, *ptr2 = (char *) 0, *ptr3 = (char *) 0, *save_ptr = (char *) 0; - const char *method_name = "VarInfoNcPinterp::set_magic() -> "; + const char *method_name = "VarInfoNcWrf::set_magic() -> "; // Store the magic string VarInfo::set_magic(nstr, lstr); @@ -272,7 +273,7 @@ void VarInfoNcPinterp::set_magic(const ConcatString &nstr, const ConcatString &l /////////////////////////////////////////////////////////////////////////////// -void VarInfoNcPinterp::set_dict(Dictionary & dict) { +void VarInfoNcWrf::set_dict(Dictionary & dict) { VarInfo::set_dict(dict); @@ -285,7 +286,7 @@ void VarInfoNcPinterp::set_dict(Dictionary & dict) { /////////////////////////////////////////////////////////////////////////////// -bool VarInfoNcPinterp::is_precipitation() const { +bool VarInfoNcWrf::is_precipitation() const { // // Check set_attrs entry @@ -305,7 +306,7 @@ bool VarInfoNcPinterp::is_precipitation() const { /////////////////////////////////////////////////////////////////////////////// -bool VarInfoNcPinterp::is_specific_humidity() const { +bool VarInfoNcWrf::is_specific_humidity() const { // // Check set_attrs entry @@ -325,7 +326,7 @@ bool VarInfoNcPinterp::is_specific_humidity() const { /////////////////////////////////////////////////////////////////////////////// -bool VarInfoNcPinterp::is_u_wind() const { +bool VarInfoNcWrf::is_u_wind() const { // // Check set_attrs entry @@ -334,6 +335,11 @@ bool VarInfoNcPinterp::is_u_wind() const { return(SetAttrIsUWind != 0); } + // Check if the VarInfo name is U or U where is an integer + if( regex_match (Name.c_str(), regex("^U[0-9]*$") )) { + return true; + } + // // Check to see if the VarInfo name matches any of expected Pinterp // U-component of wind variables. @@ -345,7 +351,7 @@ bool VarInfoNcPinterp::is_u_wind() const { /////////////////////////////////////////////////////////////////////////////// -bool VarInfoNcPinterp::is_v_wind() const { +bool VarInfoNcWrf::is_v_wind() const { // // Check set_attrs entry @@ -354,6 +360,11 @@ bool VarInfoNcPinterp::is_v_wind() const { return(SetAttrIsVWind != 0); } + // Check if the VarInfo name is V or V where is an integer + if( regex_match (Name.c_str(), regex("^V[0-9]*$") )) { + return true; + } + // // Check to see if the VarInfo name matches any of expected Pinterp // V-component of wind variables. @@ -365,7 +376,7 @@ bool VarInfoNcPinterp::is_v_wind() const { /////////////////////////////////////////////////////////////////////////////// -bool VarInfoNcPinterp::is_wind_speed() const { +bool VarInfoNcWrf::is_wind_speed() const { // // Check set_attrs entry @@ -385,7 +396,7 @@ bool VarInfoNcPinterp::is_wind_speed() const { /////////////////////////////////////////////////////////////////////////////// -bool VarInfoNcPinterp::is_wind_direction() const { +bool VarInfoNcWrf::is_wind_direction() const { // // Check set_attrs entry @@ -400,7 +411,7 @@ bool VarInfoNcPinterp::is_wind_direction() const { /////////////////////////////////////////////////////////////////////////////// -bool VarInfoNcPinterp::is_grid_relative() const { +bool VarInfoNcWrf::is_grid_relative() const { // // Check to see if the VarInfo name matches any of expected Pinterp diff --git a/src/libcode/vx_data2d_nc_pinterp/var_info_nc_pinterp.h b/src/libcode/vx_data2d_nc_wrf/var_info_nc_wrf.h similarity index 84% rename from src/libcode/vx_data2d_nc_pinterp/var_info_nc_pinterp.h rename to src/libcode/vx_data2d_nc_wrf/var_info_nc_wrf.h index 61cc0204c0..182ad62d28 100644 --- a/src/libcode/vx_data2d_nc_pinterp/var_info_nc_pinterp.h +++ b/src/libcode/vx_data2d_nc_wrf/var_info_nc_wrf.h @@ -9,8 +9,8 @@ /////////////////////////////////////////////////////////////////////////////// -#ifndef __VAR_INFO_NC_PINTERP_H__ -#define __VAR_INFO_NC_PINTERP_H__ +#ifndef __VAR_INFO_NC_WRF_H__ +#define __VAR_INFO_NC_WRF_H__ /////////////////////////////////////////////////////////////////////////////// @@ -100,7 +100,9 @@ static const int n_pinterp_specific_humidity_names = static const char *pinterp_u_wind_names[] = { "UU", // x-wind component, m s-1 "TS_U", // Surface wind U-component, earth-relative - "UZ0" // U WIND COMPONENT AT ZNT, m s-1 + "UZ0", // U WIND COMPONENT AT ZNT, m s-1 + "U_PL", // x-wind on pressure levels from native WRF out + "U_ZL" // x-wind on z levels from native WRF out }; // @@ -121,7 +123,9 @@ static const int n_pinterp_u_wind_names = static const char *pinterp_v_wind_names[] = { "VV", // y-wind component, m s-1 "TS_V", // Surface wind V-component, earth-relative - "VZ0" // V WIND COMPONENT AT ZNT, m s-1 + "VZ0", // V WIND COMPONENT AT ZNT, m s-1 + "V_PL", // y-wind on pressure levels from native WRF out + "V_ZL" // y-wind on z levels from native WRF out }; // @@ -179,7 +183,7 @@ static const int n_pinterp_wind_speed_names = /////////////////////////////////////////////////////////////////////////////// -class VarInfoNcPinterp : public VarInfo +class VarInfoNcWrf : public VarInfo { private: @@ -192,14 +196,14 @@ class VarInfoNcPinterp : public VarInfo NumArray Dim_value; // Dimension values as float for extracting 2D field void init_from_scratch(); - void assign(const VarInfoNcPinterp &); + void assign(const VarInfoNcWrf &); void clear_dimension(); public: - VarInfoNcPinterp(); - ~VarInfoNcPinterp(); - VarInfoNcPinterp(const VarInfoNcPinterp &); - VarInfoNcPinterp & operator=(const VarInfoNcPinterp &); + VarInfoNcWrf(); + ~VarInfoNcWrf(); + VarInfoNcWrf(const VarInfoNcWrf &); + VarInfoNcWrf & operator=(const VarInfoNcWrf &); void dump(std::ostream &) const; void clear(); @@ -242,17 +246,17 @@ class VarInfoNcPinterp : public VarInfo /////////////////////////////////////////////////////////////////////////////// -inline GrdFileType VarInfoNcPinterp::file_type() const { return(FileType_NcPinterp); } -inline const LongArray & VarInfoNcPinterp::dimension() const { return(Dimension); } -inline int VarInfoNcPinterp::dimension(int i) const { return(Dimension[i]); } -inline int VarInfoNcPinterp::n_dimension() const { return(Dimension.n_elements()); } -inline const NumArray & VarInfoNcPinterp::dim_value() const { return(Dim_value); } -inline double VarInfoNcPinterp::dim_value(int i) const { return(Dim_value[i]); } -inline const BoolArray & VarInfoNcPinterp::is_offset() const { return(Is_offset); } -inline bool VarInfoNcPinterp::is_offset(int i) const { return(Is_offset[i]); } +inline GrdFileType VarInfoNcWrf::file_type() const { return(FileType_NcWrf); } +inline const LongArray & VarInfoNcWrf::dimension() const { return(Dimension); } +inline int VarInfoNcWrf::dimension(int i) const { return(Dimension[i]); } +inline int VarInfoNcWrf::n_dimension() const { return(Dimension.n_elements()); } +inline const NumArray & VarInfoNcWrf::dim_value() const { return(Dim_value); } +inline double VarInfoNcWrf::dim_value(int i) const { return(Dim_value[i]); } +inline const BoolArray & VarInfoNcWrf::is_offset() const { return(Is_offset); } +inline bool VarInfoNcWrf::is_offset(int i) const { return(Is_offset[i]); } /////////////////////////////////////////////////////////////////////////////// -#endif // __VAR_INFO_NC_PINTERP_H__ +#endif // __VAR_INFO_NC_WRF_H__ /////////////////////////////////////////////////////////////////////////////// diff --git a/src/libcode/vx_data2d_nc_pinterp/vx_data2d_nc_pinterp.h b/src/libcode/vx_data2d_nc_wrf/vx_data2d_nc_wrf.h similarity index 74% rename from src/libcode/vx_data2d_nc_pinterp/vx_data2d_nc_pinterp.h rename to src/libcode/vx_data2d_nc_wrf/vx_data2d_nc_wrf.h index e8094a0bba..dec1c38acd 100644 --- a/src/libcode/vx_data2d_nc_pinterp/vx_data2d_nc_pinterp.h +++ b/src/libcode/vx_data2d_nc_wrf/vx_data2d_nc_wrf.h @@ -14,23 +14,23 @@ //////////////////////////////////////////////////////////////////////// -#ifndef __VX_DATA2D_NC_PINTERP_H__ -#define __VX_DATA2D_NC_PINTERP_H__ +#ifndef __VX_DATA2D_NC_WRF_H__ +#define __VX_DATA2D_NC_WRF_H__ //////////////////////////////////////////////////////////////////////// -#include "data2d_nc_pinterp.h" -#include "var_info_nc_pinterp.h" -#include "get_pinterp_grid.h" -#include "pinterp_file.h" +#include "data2d_nc_wrf.h" +#include "var_info_nc_wrf.h" +#include "get_wrf_grid.h" +#include "wrf_file.h" //////////////////////////////////////////////////////////////////////// -#endif // __VX_DATA2D_NC_PINTERP_H__ +#endif // __VX_DATA2D_NC_WRF_H__ //////////////////////////////////////////////////////////////////////// diff --git a/src/libcode/vx_data2d_nc_pinterp/pinterp_file.cc b/src/libcode/vx_data2d_nc_wrf/wrf_file.cc similarity index 63% rename from src/libcode/vx_data2d_nc_pinterp/pinterp_file.cc rename to src/libcode/vx_data2d_nc_wrf/wrf_file.cc index b84aee3a9f..3232887525 100644 --- a/src/libcode/vx_data2d_nc_pinterp/pinterp_file.cc +++ b/src/libcode/vx_data2d_nc_wrf/wrf_file.cc @@ -27,18 +27,26 @@ using namespace netCDF; #include "vx_log.h" #include "vx_nc_util.h" -#include "pinterp_file.h" -#include "get_pinterp_grid.h" +#include "wrf_file.h" +#include "get_wrf_grid.h" //////////////////////////////////////////////////////////////////////// static const char x_dim_name [] = "west_east"; +static const char x_dim_stag_name [] = "west_east_stag"; +static const char x_dim_subgrid_name [] = "west_east_subgrid"; static const char y_dim_name [] = "south_north"; +static const char y_dim_stag_name [] = "south_north_stag"; +static const char y_dim_subgrid_name [] = "south_north_subgrid"; static const char t_dim_name [] = "time"; static const char z_dim_p_interp_name [] = "num_metgrid_levels"; static const char z_dim_wrf_interp_name[] = "vlevs"; +static const char z_dim_wrf_stag_name [] = "bottom_top_stag"; +static const char z_dim_wrf_name [] = "bottom_top"; +static const char z_dim_wrf_pres_name [] = "num_press_levels_stag"; +static const char z_dim_wrf_z_name [] = "num_z_levels_stag"; static const string strl_dim_name = "DateStrLen"; static const char times_var_name [] = "Times"; @@ -51,15 +59,16 @@ static const char second_var_name [] = "second"; static const char pressure_var_p_interp_name [] = "pressure"; static const char pressure_var_wrf_interp_name [] = "LEV"; +static const char pressure_var_wrf_name [] = "P_PL"; static const char pa_units_str [] = "Pa"; static const char hpa_units_str [] = "hPa"; static const string start_time_att_name = "START_DATE"; -static const int max_pinterp_args = 30; +static const int max_wrf_args = 30; -static const double pinterp_missing = 1.0e35; +static const double wrf_missing = 1.0e35; static const char *accum_var_names [] = { "ACGRDFLX", "CUPPT", "RAINC", "RAINNC", @@ -72,7 +81,7 @@ static const int n_accum_var_names = sizeof(accum_var_names)/sizeof(*accu static unixtime parse_init_time(const char *); -static bool is_bad_data_pinterp(double); +static bool is_bad_data_wrf(double); static bool is_accumulation(const char *); @@ -80,14 +89,14 @@ static bool is_accumulation(const char *); // - // Code for class PinterpFile + // Code for class WrfFile // //////////////////////////////////////////////////////////////////////// -PinterpFile::PinterpFile() +WrfFile::WrfFile() { @@ -99,7 +108,7 @@ init_from_scratch(); //////////////////////////////////////////////////////////////////////// -PinterpFile::~PinterpFile() +WrfFile::~WrfFile() { @@ -111,7 +120,7 @@ close(); //////////////////////////////////////////////////////////////////////// -void PinterpFile::init_from_scratch() +void WrfFile::init_from_scratch() { @@ -133,7 +142,7 @@ return; //////////////////////////////////////////////////////////////////////// -void PinterpFile::close() +void WrfFile::close() { @@ -147,7 +156,7 @@ Ndims = 0; DimNames.clear(); -Xdim = Ydim = Zdim = Tdim = (NcDim *) 0; +Tdim = (NcDim *) 0; Nvars = 0; @@ -157,10 +166,6 @@ InitTime = (unixtime) 0; Ntimes = 0; -PressureIndex = -1; - -hPaCF = 1.0; - // // done // @@ -173,7 +178,7 @@ return; //////////////////////////////////////////////////////////////////////// -bool PinterpFile::open(const char * filename) +bool WrfFile::open(const char * filename) { @@ -182,13 +187,13 @@ int month, day, year, hour, minute, second, str_len; char time_str[max_str_len]; string c; NcVar v; -const char *method_name = "PinterpFile::open() -> "; +const char *method_name = "WrfFile::open() -> "; close(); Nc = open_ncfile(filename); mlog << Debug(5) << "\n" << method_name - << "opend \"" << filename << "\".\n\n"; + << "open \"" << filename << "\".\n\n"; if ( IS_INVALID_NC_P(Nc) ) { close(); return ( false ); } @@ -196,7 +201,7 @@ if ( IS_INVALID_NC_P(Nc) ) { close(); return ( false ); } // grid // -if ( ! get_pinterp_grid(*Nc, grid) ) { close(); return ( false ); } +if ( !get_wrf_grid(*Nc, grid) ) { close(); return ( false ); } // // dimensions @@ -204,19 +209,13 @@ if ( ! get_pinterp_grid(*Nc, grid) ) { close(); return ( false ); } Ndims = get_dim_count(Nc); Dim = new NcDim*[Ndims]; -StringArray gDimNames; -get_dim_names(Nc, &gDimNames); +get_dim_names(Nc, &DimNames); for (j=0; j= Ntimes) ) { - mlog << Error << "\nPinterpFile::valid_time(int) const -> " + mlog << Error << "\nWrfFile::valid_time(int) const -> " << "range check error\n\n"; exit ( 1 ); @@ -504,13 +481,13 @@ return ( Time [n] ); //////////////////////////////////////////////////////////////////////// -int PinterpFile::lead_time(int n) const +int WrfFile::lead_time(int n) const { if ( (n < 0) || (n >= Ntimes) ) { - mlog << Error << "\nPinterpFile::lead_time(int) const -> " + mlog << Error << "\nWrfFile::lead_time(int) const -> " << "range check error\n\n"; exit ( 1 ); @@ -527,14 +504,13 @@ return ( (int) dt ); //////////////////////////////////////////////////////////////////////// -double PinterpFile::data(NcVar * var, const LongArray & a) const +double WrfFile::data(NcVar * var, const LongArray & a) const { - +const char *method_name = "WrfFile::data(NcVar *, const LongArray &) const -> "; if ( !args_ok(a) ) { - mlog << Error << "\nPinterpFile::data(NcVar *, const LongArray &) const -> " - << "bad arguments:\n"; + mlog << Error << "\n" << method_name << "bad arguments:\n"; a.dump(cerr); @@ -545,7 +521,7 @@ if ( !args_ok(a) ) { int dim_count = var->getDimCount(); if ( dim_count != a.n_elements() ) { - mlog << Error << "\nPinterpFile::data(NcVar *, const LongArray &) const -> " + mlog << Error << "\n" << method_name << "needed " << (dim_count) << " arguments for variable " << (GET_NC_NAME_P(var)) << ", got " << (a.n_elements()) << "\n\n"; @@ -553,9 +529,9 @@ if ( dim_count != a.n_elements() ) { } -if ( dim_count >= max_pinterp_args ) { +if (dim_count >= max_wrf_args ) { - mlog << Error << "\nPinterpFile::data(NcVar *, const LongArray &) const -> " + mlog << Error << "\n" << method_name << " too may arguments for variable \"" << (GET_NC_NAME_P(var)) << "\"\n\n"; exit ( 1 ); @@ -563,9 +539,6 @@ if ( dim_count >= max_pinterp_args ) { } bool status = false; -int i; -short s; -float f; double fill_value; double d = bad_data_double; double missing_value = get_var_missing_value(var); @@ -575,8 +548,7 @@ status = get_nc_data(var, &d, a); if ( !status ) { - mlog << Error << "\nPinterpFile::data(NcVar *, const LongArray &) const -> " - << " bad status for var->get()\n\n"; + mlog << Error << "\n" << method_name << " bad status for var->get()\n\n"; exit ( 1 ); } @@ -593,14 +565,13 @@ return ( d ); //////////////////////////////////////////////////////////////////////// -bool PinterpFile::data(NcVar * v, const LongArray & a, DataPlane & plane, double & pressure) const +bool WrfFile::data(NcVar * v, const LongArray & a, DataPlane & plane, double & pressure) const { - +const char *method_name = "WrfFile::data(NcVar *, const LongArray &, DataPlane &, double &) const -> "; if ( !args_ok(a) ) { - mlog << Warning << "\nPinterpFile::data(NcVar *, const LongArray &, DataPlane &, double &) const -> " - << "bad arguments:\n"; + mlog << Warning << "\n" << method_name << "bad arguments:\n"; a.dump(cerr); @@ -612,7 +583,7 @@ string var_name = GET_NC_NAME_P(v); int dim_count = v->getDimCount(); if ( dim_count != a.n_elements() ) { - mlog << Warning << "\nPinterpFile::data(NcVar *, const LongArray &, DataPlane &, double &) const -> " + mlog << Warning << "\n" << method_name << "needed " << dim_count << " arguments for variable " << (var_name) << ", got " << (a.n_elements()) << "\n\n"; @@ -620,9 +591,9 @@ if ( dim_count != a.n_elements() ) { } -if ( dim_count >= max_pinterp_args ) { +if (dim_count >= max_wrf_args ) { - mlog << Warning << "\nPinterpFile::data(NcVar *, const LongArray &, DataPlane &, double &) const -> " + mlog << Warning << "\n" << method_name << " too may arguments for variable \"" << (var_name) << "\"\n\n"; return ( false ); @@ -630,14 +601,12 @@ if ( dim_count >= max_pinterp_args ) { } -int j, count; +int j, k, count; int x, y; double value; bool found = false; NcVarInfo * var = (NcVarInfo *) 0; NcVarInfo * P = (NcVarInfo *) 0; -const int Nx = grid.nx(); -const int Ny = grid.ny(); LongArray b = a; pressure = bad_data_double; @@ -646,8 +615,6 @@ pressure = bad_data_double; // find varinfo's // -if ( PressureIndex >= 0 ) P = Var + PressureIndex; - found = false; for (j=0; j " + mlog << Warning << "\n" << method_name << "variable " << (var_name) << " not found!\n\n"; return ( false ); } + // check dimensions + StringArray varDimNames; + get_dim_names(var->var, &varDimNames); + string c, z_name; + for (k=0; k<(var->Ndims); ++k) { + c = to_lower(varDimNames[k]); + + // X dimension + if ( c.compare(x_dim_name) == 0 || + c.compare(x_dim_stag_name) == 0 || + c.compare(x_dim_subgrid_name) == 0) { + + var->x_slot = k; + + // track fields that need to be de-staggered in the X dimension + if ( c.compare(x_dim_stag_name) == 0 ) { + + var->x_stag = true; + + } + + // error if unsupported subgrid + if ( c.compare(x_dim_subgrid_name) == 0 ) { + + mlog << Error << "\n" << method_name + << "X Dimension \"" << x_dim_subgrid_name << "\" is not supported.\n\n"; + return ( false ); + + } + + } + // Y dimension + else if ( c.compare(y_dim_name) == 0 || + c.compare(y_dim_stag_name) == 0 || + c.compare(y_dim_subgrid_name) == 0 ) { + + var->y_slot = k; + + // track fields that need to be de-staggered in the Y dimension + if ( c.compare(y_dim_stag_name) == 0 ) { + + var->y_stag = true; + + } + + // error if unsupported subgrid + if ( c.compare(y_dim_subgrid_name) == 0 ) { + + mlog << Error << "\n" << method_name + << "Y Dimension \"" << y_dim_subgrid_name << "\" is not supported.\n\n"; + return ( false ); + + } + + } + // Z dimension + else if ( c.compare(z_dim_p_interp_name ) == 0 || + c.compare(z_dim_wrf_interp_name) == 0 || + c.compare(z_dim_wrf_name ) == 0 || + c.compare(z_dim_wrf_stag_name) == 0 || + c.compare(z_dim_wrf_pres_name) == 0 || + c.compare(z_dim_wrf_z_name ) == 0 ) { + + var->z_slot = k; + + // track fields that are on pressure levels + if ( c.compare(z_dim_p_interp_name) == 0 || + c.compare(z_dim_wrf_interp_name) == 0 || + c.compare(z_dim_wrf_pres_name) == 0 ) { + + var->is_pressure = true; + z_name = c; + + } + + // track fields that need to be de-staggered in the Z dimension + if ( c.compare(z_dim_wrf_stag_name) == 0 ) { + + var->z_stag = true; + + } + } + // T dimension + else if ( c.compare(t_dim_name) == 0 ) { + + var->t_slot = k; + + } + + } // end if k + + bool time_in_pressure = false; + double pressure_unit_conversion = 1.0; + + // if reading var on pressure, find pressure field that is on the same vertical (z) dimension as the var to read + if (var->is_pressure) { + + StringArray varNames; + get_var_names(Nc, &varNames); + + for (j = 0; j < Nvars; ++j) { + // + // get the pressure variable and store the hPa conversion factor + // + + if (varNames[j] == pressure_var_p_interp_name || + varNames[j] == pressure_var_wrf_interp_name || + varNames[j] == pressure_var_wrf_name) { + + varDimNames.clear(); + get_dim_names(Var[j].var, &varDimNames); + + // check that the z dimension matches the var to read + found = false; + for(k=0; k< Var[j].Ndims; k++){ + if(varDimNames[k] == z_name) { + found = true; + break; + } + } + + if(!found) { + continue; + } + + // set pressure field + P = Var + j; + + if (varNames[j] == pressure_var_wrf_name) { + + time_in_pressure = true; + + } + if (strcasecmp(Var[j].units_att.c_str(), pa_units_str) == 0) pressure_unit_conversion = 0.01; + else if (strcasecmp(Var[j].units_att.c_str(), hpa_units_str) == 0) pressure_unit_conversion = 1.0; + } + } + } + + // + // set nx and ny based on staggering of dimensions of the variable to read + // + const int Nx = var->x_stag ? grid.nx() + 1 : grid.nx(); + const int Ny = var->y_stag ? grid.ny() + 1 : grid.ny(); + // // check x_slot and y_slot // if ( var == nullptr || (var->x_slot < 0) || (var->y_slot < 0) ) { - mlog << Error - << "\nPinterpFile::data(NcVar *, const LongArray &, DataPlane &, double &) const -> " + mlog << Error << "\n" << method_name << "can't find needed dimensions(s) for variable \"" << var_name << "\" ... one of the dimensions may be staggered.\n\n"; @@ -694,8 +805,7 @@ for (j=0; j<(a.n_elements()); ++j) { if ( (j != var->x_slot) && (j != var->y_slot) ) { - mlog << Warning << "\nPinterpFile::data(NcVar *, const LongArray &, DataPlane &, double &) const -> " - << " star found in bad slot\n\n"; + mlog << Warning << "\n" << method_name << " star found in bad slot\n\n"; return ( false ); @@ -707,8 +817,7 @@ for (j=0; j<(a.n_elements()); ++j) { if ( count != 2 ) { - mlog << Warning << "\nPinterpFile::data(NcVar *, const LongArray &, DataPlane &, double &) const -> " - << " bad star count ... " << count << "\n\n"; + mlog << Warning << "\n" << method_name << " bad star count ... " << count << "\n\n"; return ( false ); @@ -724,8 +833,7 @@ const int z_slot = var->z_slot; if ( (x_slot < 0) || (y_slot < 0) ) { - mlog << Warning << "\nPinterpFile::data(NcVar *, const LongArray &, DataPlane &, double &) const -> " - << " bad x|y slot\n\n"; + mlog << Warning << "\n" << method_name << " bad x|y slot\n\n"; return ( false ); @@ -762,7 +870,7 @@ for (x=0; xx_stag, var->y_stag); + // // get the pressure // if ( P && z_slot > 0 ) { + mlog << Debug(3) << "Reading pressure field " << P->name << "\n"; + LongArray c; + if(time_in_pressure) c.add(a[var->t_slot]); + c.add(a[z_slot]); - pressure = data(P->var, c) * hPaCF; + pressure = data(P->var, c) * pressure_unit_conversion; } @@ -798,8 +913,8 @@ return ( true ); //////////////////////////////////////////////////////////////////////// -bool PinterpFile::data(const char * var_name, const LongArray & a, DataPlane & plane, - double & pressure, NcVarInfo *&info) const { +bool WrfFile::data(const char * var_name, const LongArray & a, DataPlane & plane, + double & pressure, NcVarInfo *&info) const { int time_index; bool found = false; @@ -822,7 +937,7 @@ bool PinterpFile::data(const char * var_name, const LongArray & a, DataPlane & p plane.set_lead ( lead_time(time_index) ); // - // since Pinterp files only contain WRF-ARW output, it is always a + // since Pinterp files only contain WRF-ARW output, it is always // a runtime accumulation // @@ -847,7 +962,7 @@ bool PinterpFile::data(const char * var_name, const LongArray & a, DataPlane & p //////////////////////////////////////////////////////////////////////// -bool PinterpFile::get_nc_var_info(const char *var_name, NcVarInfo *&info) const { +bool WrfFile::get_nc_var_info(const char *var_name, NcVarInfo *&info) const { bool found = false; if (nullptr == info) { @@ -911,11 +1026,11 @@ return ( t ); //////////////////////////////////////////////////////////////////////// -bool is_bad_data_pinterp(double v) +bool is_bad_data_wrf(double v) { -if ( v < pinterp_missing ) return ( false ); +if (v < wrf_missing ) return ( false ); else return ( true ); } diff --git a/src/libcode/vx_data2d_nc_pinterp/pinterp_file.h b/src/libcode/vx_data2d_nc_wrf/wrf_file.h similarity index 79% rename from src/libcode/vx_data2d_nc_pinterp/pinterp_file.h rename to src/libcode/vx_data2d_nc_wrf/wrf_file.h index dc5ff86f99..722dc26d01 100644 --- a/src/libcode/vx_data2d_nc_pinterp/pinterp_file.h +++ b/src/libcode/vx_data2d_nc_wrf/wrf_file.h @@ -14,8 +14,8 @@ //////////////////////////////////////////////////////////////////////// -#ifndef __MET_PINTERP_FILE_H__ -#define __MET_PINTERP_FILE_H__ +#ifndef __MET_WRF_FILE_H__ +#define __MET_WRF_FILE_H__ //////////////////////////////////////////////////////////////////////// @@ -34,19 +34,19 @@ //////////////////////////////////////////////////////////////////////// -class PinterpFile { +class WrfFile { private: void init_from_scratch(); - PinterpFile(const PinterpFile &); - PinterpFile & operator=(const PinterpFile &); + WrfFile(const WrfFile &); + WrfFile & operator=(const WrfFile &); public: - PinterpFile(); - ~PinterpFile(); + WrfFile(); + ~WrfFile(); bool open(const char * filename); @@ -80,9 +80,6 @@ class PinterpFile { StringArray DimNames; - netCDF::NcDim * Xdim; // not allocated - netCDF::NcDim * Ydim; // not allocated - netCDF::NcDim * Zdim; // not allocated netCDF::NcDim * Tdim; // not allocated // @@ -93,10 +90,6 @@ class PinterpFile { NcVarInfo * Var; // allocated - int PressureIndex; // index into Var array - - double hPaCF; // pressure to hPa conversion factor - // // Grid // @@ -121,7 +114,7 @@ class PinterpFile { //////////////////////////////////////////////////////////////////////// -#endif /* __MET_PINTERP_FILE_H__ */ +#endif /* __MET_WRF_FILE_H__ */ //////////////////////////////////////////////////////////////////////// diff --git a/src/libcode/vx_data2d_nccf/Makefile.am b/src/libcode/vx_data2d_nccf/Makefile.am deleted file mode 100644 index 4b606a8376..0000000000 --- a/src/libcode/vx_data2d_nccf/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_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} - diff --git a/src/libcode/vx_nc_util/nc_var_info.cc b/src/libcode/vx_nc_util/nc_var_info.cc index 834df56ac8..6159316080 100644 --- a/src/libcode/vx_nc_util/nc_var_info.cc +++ b/src/libcode/vx_nc_util/nc_var_info.cc @@ -151,6 +151,10 @@ if ( Dims ) { delete [] Dims; Dims = (NcDim **) 0; } x_slot = y_slot = z_slot = t_slot = -1; +x_stag = y_stag = z_stag = false; + +is_pressure = false; + // // done // @@ -213,10 +217,17 @@ if ( Dims ) { } -out << prefix << "x_slot = " << x_slot << "\n"; -out << prefix << "y_slot = " << y_slot << "\n"; -out << prefix << "z_slot = " << z_slot << "\n"; +out << prefix << "x_slot = " << x_slot; +if (x_stag) out << " (staggered)"; +out << "\n"; +out << prefix << "y_slot = " << y_slot; +if (y_stag) out << " (staggered)"; +out << "\n"; +out << prefix << "z_slot = " << z_slot; +if (z_stag) out << " (staggered)"; +out << "\n"; out << prefix << "t_slot = " << t_slot << "\n"; +out << prefix << "is_pressure = " << (is_pressure ? "true" : "false") << "\n"; // // done @@ -270,6 +281,12 @@ y_slot = i.y_slot; z_slot = i.z_slot; t_slot = i.t_slot; +x_stag = i.x_stag; +y_stag = i.y_stag; +z_stag = i.z_stag; + +is_pressure = i.is_pressure; + if ( i.Dims ) { Dims = new NcDim * [i.Ndims]; @@ -309,18 +326,18 @@ NcVarInfo *find_var_info_by_dim_name(NcVarInfo *vars, const string dim_name, } } + // if dimension variable is not found, find variable that has only dim_name or dim_name and time + int dim_offset = 0; if (!var) { - //StringArray dim_names; for (int i=0; i 2) continue; + dim_offset = vars[i].Ndims == 2 ? 1 : 0; + NcDim dim = get_nc_dim(vars[i].var, dim_offset); + if (IS_VALID_NC(dim) && GET_NC_NAME(dim) == dim_name) { + var = &vars[i]; + break; } + } } diff --git a/src/libcode/vx_nc_util/nc_var_info.h b/src/libcode/vx_nc_util/nc_var_info.h index 3ecc888ed3..04f422cd85 100644 --- a/src/libcode/vx_nc_util/nc_var_info.h +++ b/src/libcode/vx_nc_util/nc_var_info.h @@ -88,6 +88,12 @@ class NcVarInfo { int z_slot; // -1 if not defined int t_slot; // + bool x_stag; // are dimensions staggered + bool y_stag; + bool z_stag; + + bool is_pressure; // is variable on pressure levels + }; //////////////////////////////////////////////////////////////////////// diff --git a/src/tools/core/ensemble_stat/Makefile.am b/src/tools/core/ensemble_stat/Makefile.am index 5d87a3aa4c..d05ad256cc 100644 --- a/src/tools/core/ensemble_stat/Makefile.am +++ b/src/tools/core/ensemble_stat/Makefile.am @@ -24,8 +24,8 @@ ensemble_stat_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_data2d \ diff --git a/src/tools/core/ensemble_stat/Makefile.in b/src/tools/core/ensemble_stat/Makefile.in index d2c8c0d798..a960e21483 100644 --- a/src/tools/core/ensemble_stat/Makefile.in +++ b/src/tools/core/ensemble_stat/Makefile.in @@ -345,8 +345,8 @@ ensemble_stat_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_data2d \ diff --git a/src/tools/core/grid_stat/Makefile.am b/src/tools/core/grid_stat/Makefile.am index 4df815bed4..db4c9bba80 100644 --- a/src/tools/core/grid_stat/Makefile.am +++ b/src/tools/core/grid_stat/Makefile.am @@ -24,8 +24,8 @@ grid_stat_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/src/tools/core/grid_stat/Makefile.in b/src/tools/core/grid_stat/Makefile.in index 2c8b909c39..30cc717d27 100644 --- a/src/tools/core/grid_stat/Makefile.in +++ b/src/tools/core/grid_stat/Makefile.in @@ -344,8 +344,8 @@ grid_stat_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/src/tools/core/mode/Makefile.am b/src/tools/core/mode/Makefile.am index 72a35a6175..d8dc507385 100644 --- a/src/tools/core/mode/Makefile.am +++ b/src/tools/core/mode/Makefile.am @@ -43,8 +43,8 @@ mode_LDADD = -lvx_pxm \ -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/tools/core/mode/Makefile.in b/src/tools/core/mode/Makefile.in index 249a93d1bb..741c5fea4f 100644 --- a/src/tools/core/mode/Makefile.in +++ b/src/tools/core/mode/Makefile.in @@ -381,8 +381,8 @@ mode_LDADD = -lvx_pxm \ -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/tools/core/mode_analysis/Makefile.am b/src/tools/core/mode_analysis/Makefile.am index 1bff9fadc7..a905710fe6 100644 --- a/src/tools/core/mode_analysis/Makefile.am +++ b/src/tools/core/mode_analysis/Makefile.am @@ -26,8 +26,8 @@ mode_analysis_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/src/tools/core/mode_analysis/Makefile.in b/src/tools/core/mode_analysis/Makefile.in index ce4e7bc477..334137147a 100644 --- a/src/tools/core/mode_analysis/Makefile.in +++ b/src/tools/core/mode_analysis/Makefile.in @@ -347,8 +347,8 @@ mode_analysis_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/src/tools/core/pcp_combine/Makefile.am b/src/tools/core/pcp_combine/Makefile.am index 0206f497ca..189960810f 100644 --- a/src/tools/core/pcp_combine/Makefile.am +++ b/src/tools/core/pcp_combine/Makefile.am @@ -18,8 +18,8 @@ pcp_combine_LDADD = -lvx_data2d_factory \ -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/tools/core/pcp_combine/Makefile.in b/src/tools/core/pcp_combine/Makefile.in index 751ecc5b8a..44b0f69c50 100644 --- a/src/tools/core/pcp_combine/Makefile.in +++ b/src/tools/core/pcp_combine/Makefile.in @@ -335,8 +335,8 @@ pcp_combine_LDADD = -lvx_data2d_factory \ -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/tools/core/point_stat/Makefile.am b/src/tools/core/point_stat/Makefile.am index 39b45fcb1b..bbd9b9c142 100644 --- a/src/tools/core/point_stat/Makefile.am +++ b/src/tools/core/point_stat/Makefile.am @@ -23,8 +23,8 @@ point_stat_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_data2d \ diff --git a/src/tools/core/point_stat/Makefile.in b/src/tools/core/point_stat/Makefile.in index ccaa3f8e36..81735f1efb 100644 --- a/src/tools/core/point_stat/Makefile.in +++ b/src/tools/core/point_stat/Makefile.in @@ -343,8 +343,8 @@ point_stat_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_data2d \ diff --git a/src/tools/core/series_analysis/Makefile.am b/src/tools/core/series_analysis/Makefile.am index 24f14c90e8..7d57a6db6f 100644 --- a/src/tools/core/series_analysis/Makefile.am +++ b/src/tools/core/series_analysis/Makefile.am @@ -24,8 +24,8 @@ series_analysis_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/src/tools/core/series_analysis/Makefile.in b/src/tools/core/series_analysis/Makefile.in index 9c68f8f191..2e26c49701 100644 --- a/src/tools/core/series_analysis/Makefile.in +++ b/src/tools/core/series_analysis/Makefile.in @@ -346,8 +346,8 @@ series_analysis_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/src/tools/core/stat_analysis/Makefile.am b/src/tools/core/stat_analysis/Makefile.am index f73b415ca2..1f26904bf5 100644 --- a/src/tools/core/stat_analysis/Makefile.am +++ b/src/tools/core/stat_analysis/Makefile.am @@ -27,8 +27,8 @@ stat_analysis_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/src/tools/core/stat_analysis/Makefile.in b/src/tools/core/stat_analysis/Makefile.in index 9d0b3c78ea..168c3da589 100644 --- a/src/tools/core/stat_analysis/Makefile.in +++ b/src/tools/core/stat_analysis/Makefile.in @@ -354,8 +354,8 @@ stat_analysis_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/src/tools/core/stat_analysis/aggr_stat_line.cc b/src/tools/core/stat_analysis/aggr_stat_line.cc index 5487b1fd3f..3c8395a09c 100644 --- a/src/tools/core/stat_analysis/aggr_stat_line.cc +++ b/src/tools/core/stat_analysis/aggr_stat_line.cc @@ -52,7 +52,7 @@ using namespace std; #include "vx_log.h" #include "vx_data2d_grib.h" -#include "vx_data2d_nc_pinterp.h" +#include "vx_data2d_nc_wrf.h" #include "aggr_stat_line.h" #include "parse_stat_line.h" diff --git a/src/tools/core/wavelet_stat/Makefile.am b/src/tools/core/wavelet_stat/Makefile.am index 398ce49dcf..89ed171482 100644 --- a/src/tools/core/wavelet_stat/Makefile.am +++ b/src/tools/core/wavelet_stat/Makefile.am @@ -30,8 +30,8 @@ wavelet_stat_LDADD = -lvx_pxm \ -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/tools/core/wavelet_stat/Makefile.in b/src/tools/core/wavelet_stat/Makefile.in index bb37d28807..96490833a2 100644 --- a/src/tools/core/wavelet_stat/Makefile.in +++ b/src/tools/core/wavelet_stat/Makefile.in @@ -351,8 +351,8 @@ wavelet_stat_LDADD = -lvx_pxm \ -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/tools/dev_utils/Makefile.am b/src/tools/dev_utils/Makefile.am index 6aa78046a9..b4463c983f 100644 --- a/src/tools/dev_utils/Makefile.am +++ b/src/tools/dev_utils/Makefile.am @@ -126,8 +126,8 @@ gen_climo_bin_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/src/tools/dev_utils/Makefile.in b/src/tools/dev_utils/Makefile.in index 5ddb1db20b..e9b745a97f 100644 --- a/src/tools/dev_utils/Makefile.in +++ b/src/tools/dev_utils/Makefile.in @@ -580,8 +580,8 @@ gen_climo_bin_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/src/tools/other/ascii2nc/Makefile.am b/src/tools/other/ascii2nc/Makefile.am index f4cef08512..0647687561 100644 --- a/src/tools/other/ascii2nc/Makefile.am +++ b/src/tools/other/ascii2nc/Makefile.am @@ -42,8 +42,8 @@ ascii2nc_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_data2d \ diff --git a/src/tools/other/ascii2nc/Makefile.in b/src/tools/other/ascii2nc/Makefile.in index ea6e06e27f..4c364feb94 100644 --- a/src/tools/other/ascii2nc/Makefile.in +++ b/src/tools/other/ascii2nc/Makefile.in @@ -404,8 +404,8 @@ ascii2nc_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_data2d \ diff --git a/src/tools/other/gen_ens_prod/Makefile.am b/src/tools/other/gen_ens_prod/Makefile.am index 75ddde6311..b9b5e8a186 100644 --- a/src/tools/other/gen_ens_prod/Makefile.am +++ b/src/tools/other/gen_ens_prod/Makefile.am @@ -24,8 +24,8 @@ gen_ens_prod_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_data2d \ diff --git a/src/tools/other/gen_ens_prod/Makefile.in b/src/tools/other/gen_ens_prod/Makefile.in index 285f993f59..8586403cb6 100644 --- a/src/tools/other/gen_ens_prod/Makefile.in +++ b/src/tools/other/gen_ens_prod/Makefile.in @@ -345,8 +345,8 @@ gen_ens_prod_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_data2d \ diff --git a/src/tools/other/gen_vx_mask/Makefile.am b/src/tools/other/gen_vx_mask/Makefile.am index c936c2f0f5..cbc2af0337 100644 --- a/src/tools/other/gen_vx_mask/Makefile.am +++ b/src/tools/other/gen_vx_mask/Makefile.am @@ -21,8 +21,8 @@ gen_vx_mask_LDADD = -lvx_shapedata \ -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/tools/other/gen_vx_mask/Makefile.in b/src/tools/other/gen_vx_mask/Makefile.in index 638ca649b7..0454fcc726 100644 --- a/src/tools/other/gen_vx_mask/Makefile.in +++ b/src/tools/other/gen_vx_mask/Makefile.in @@ -337,8 +337,8 @@ gen_vx_mask_LDADD = -lvx_shapedata \ -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/tools/other/grid_diag/Makefile.am b/src/tools/other/grid_diag/Makefile.am index 8c55950475..59e735bf05 100644 --- a/src/tools/other/grid_diag/Makefile.am +++ b/src/tools/other/grid_diag/Makefile.am @@ -24,8 +24,8 @@ grid_diag_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/src/tools/other/grid_diag/Makefile.in b/src/tools/other/grid_diag/Makefile.in index 765eb7ce9c..c93be79561 100644 --- a/src/tools/other/grid_diag/Makefile.in +++ b/src/tools/other/grid_diag/Makefile.in @@ -344,8 +344,8 @@ grid_diag_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/src/tools/other/gsi_tools/Makefile.am b/src/tools/other/gsi_tools/Makefile.am index 54cf2cb4da..9afe2e37a1 100644 --- a/src/tools/other/gsi_tools/Makefile.am +++ b/src/tools/other/gsi_tools/Makefile.am @@ -41,8 +41,8 @@ gsid2mpr_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 \ @@ -92,8 +92,8 @@ gsidens2orank_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/src/tools/other/gsi_tools/Makefile.in b/src/tools/other/gsi_tools/Makefile.in index 37a6a37ebf..c7f068cfd9 100644 --- a/src/tools/other/gsi_tools/Makefile.in +++ b/src/tools/other/gsi_tools/Makefile.in @@ -396,8 +396,8 @@ gsid2mpr_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 \ @@ -448,8 +448,8 @@ gsidens2orank_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/src/tools/other/ioda2nc/Makefile.am b/src/tools/other/ioda2nc/Makefile.am index d393417c51..9694454dac 100644 --- a/src/tools/other/ioda2nc/Makefile.am +++ b/src/tools/other/ioda2nc/Makefile.am @@ -23,8 +23,8 @@ ioda2nc_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_data2d \ diff --git a/src/tools/other/ioda2nc/Makefile.in b/src/tools/other/ioda2nc/Makefile.in index a4b16c47aa..37f335deae 100644 --- a/src/tools/other/ioda2nc/Makefile.in +++ b/src/tools/other/ioda2nc/Makefile.in @@ -356,8 +356,8 @@ ioda2nc_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_data2d \ diff --git a/src/tools/other/lidar2nc/Makefile.am b/src/tools/other/lidar2nc/Makefile.am index 5692fe6373..58f35de02a 100644 --- a/src/tools/other/lidar2nc/Makefile.am +++ b/src/tools/other/lidar2nc/Makefile.am @@ -24,7 +24,7 @@ lidar2nc_LDADD = -lvx_shapedata \ -lvx_analysis_util \ -lvx_data2d_factory \ -lvx_data2d_nc_met \ - -lvx_data2d_nccf \ + -lvx_data2d_nc_cf \ $(UGRID_MET_LIBS) \ $(PYTHON_MET_LIBS) \ -lvx_statistics \ diff --git a/src/tools/other/lidar2nc/Makefile.in b/src/tools/other/lidar2nc/Makefile.in index 2f6da2bc07..e5d3703780 100644 --- a/src/tools/other/lidar2nc/Makefile.in +++ b/src/tools/other/lidar2nc/Makefile.in @@ -358,7 +358,7 @@ lidar2nc_LDADD = -lvx_shapedata \ -lvx_analysis_util \ -lvx_data2d_factory \ -lvx_data2d_nc_met \ - -lvx_data2d_nccf \ + -lvx_data2d_nc_cf \ $(UGRID_MET_LIBS) \ $(PYTHON_MET_LIBS) \ -lvx_statistics \ diff --git a/src/tools/other/madis2nc/Makefile.am b/src/tools/other/madis2nc/Makefile.am index 0cfef882c0..28da7d16cb 100644 --- a/src/tools/other/madis2nc/Makefile.am +++ b/src/tools/other/madis2nc/Makefile.am @@ -22,8 +22,8 @@ madis2nc_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_data2d \ diff --git a/src/tools/other/madis2nc/Makefile.in b/src/tools/other/madis2nc/Makefile.in index 7055ee7a03..c6eb822fc3 100644 --- a/src/tools/other/madis2nc/Makefile.in +++ b/src/tools/other/madis2nc/Makefile.in @@ -341,8 +341,8 @@ madis2nc_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_data2d \ diff --git a/src/tools/other/mode_time_domain/Makefile.am b/src/tools/other/mode_time_domain/Makefile.am index 93fed7d4bb..34ad4461ee 100644 --- a/src/tools/other/mode_time_domain/Makefile.am +++ b/src/tools/other/mode_time_domain/Makefile.am @@ -53,8 +53,8 @@ mtd_LDADD = -lvx_pxm \ -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/tools/other/mode_time_domain/Makefile.in b/src/tools/other/mode_time_domain/Makefile.in index 332ca93ac2..3f3d8b446a 100644 --- a/src/tools/other/mode_time_domain/Makefile.in +++ b/src/tools/other/mode_time_domain/Makefile.in @@ -413,8 +413,8 @@ mtd_LDADD = -lvx_pxm \ -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/tools/other/modis_regrid/Makefile.am b/src/tools/other/modis_regrid/Makefile.am index 75b2bfaccc..0bb3fc7cb5 100644 --- a/src/tools/other/modis_regrid/Makefile.am +++ b/src/tools/other/modis_regrid/Makefile.am @@ -32,11 +32,11 @@ modis_regrid_LDADD = -lvx_pxm \ -lvx_analysis_util \ -lvx_data2d_factory \ -lvx_data2d_nc_met \ - -lvx_data2d_nccf \ + -lvx_data2d_nc_cf \ -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/tools/other/modis_regrid/Makefile.in b/src/tools/other/modis_regrid/Makefile.in index 65c244e36a..68ff194a77 100644 --- a/src/tools/other/modis_regrid/Makefile.in +++ b/src/tools/other/modis_regrid/Makefile.in @@ -361,11 +361,11 @@ modis_regrid_LDADD = -lvx_pxm \ -lvx_analysis_util \ -lvx_data2d_factory \ -lvx_data2d_nc_met \ - -lvx_data2d_nccf \ + -lvx_data2d_nc_cf \ -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/tools/other/pb2nc/Makefile.am b/src/tools/other/pb2nc/Makefile.am index 5de5fc4210..f898c62c60 100644 --- a/src/tools/other/pb2nc/Makefile.am +++ b/src/tools/other/pb2nc/Makefile.am @@ -40,8 +40,8 @@ pb2nc_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_data2d \ diff --git a/src/tools/other/pb2nc/Makefile.in b/src/tools/other/pb2nc/Makefile.in index 06d60500ae..05629adb61 100644 --- a/src/tools/other/pb2nc/Makefile.in +++ b/src/tools/other/pb2nc/Makefile.in @@ -383,8 +383,8 @@ pb2nc_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_data2d \ diff --git a/src/tools/other/plot_data_plane/Makefile.am b/src/tools/other/plot_data_plane/Makefile.am index 5251524faa..bbbb6a3672 100644 --- a/src/tools/other/plot_data_plane/Makefile.am +++ b/src/tools/other/plot_data_plane/Makefile.am @@ -18,8 +18,8 @@ plot_data_plane_LDADD = -lvx_data2d_factory \ -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/tools/other/plot_data_plane/Makefile.in b/src/tools/other/plot_data_plane/Makefile.in index eb0af931e5..fcf2a525cf 100644 --- a/src/tools/other/plot_data_plane/Makefile.in +++ b/src/tools/other/plot_data_plane/Makefile.in @@ -337,8 +337,8 @@ plot_data_plane_LDADD = -lvx_data2d_factory \ -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/tools/other/plot_data_plane/plot_data_plane.cc b/src/tools/other/plot_data_plane/plot_data_plane.cc index 646e51066f..d5a46be2ee 100644 --- a/src/tools/other/plot_data_plane/plot_data_plane.cc +++ b/src/tools/other/plot_data_plane/plot_data_plane.cc @@ -49,7 +49,7 @@ using namespace std; #include "vx_data2d_factory.h" #include "vx_data2d_grib.h" #include "vx_data2d_nc_met.h" -#include "vx_data2d_nc_pinterp.h" +#include "vx_data2d_nc_wrf.h" #include "vx_util.h" #include "vx_cal.h" #include "vx_grid.h" diff --git a/src/tools/other/plot_point_obs/Makefile.am b/src/tools/other/plot_point_obs/Makefile.am index 17dbb404e0..b4255f71a5 100644 --- a/src/tools/other/plot_point_obs/Makefile.am +++ b/src/tools/other/plot_point_obs/Makefile.am @@ -20,8 +20,8 @@ plot_point_obs_LDADD = -lvx_statistics \ -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_data2d \ diff --git a/src/tools/other/plot_point_obs/Makefile.in b/src/tools/other/plot_point_obs/Makefile.in index c5e166b45c..18b81a273c 100644 --- a/src/tools/other/plot_point_obs/Makefile.in +++ b/src/tools/other/plot_point_obs/Makefile.in @@ -341,8 +341,8 @@ plot_point_obs_LDADD = -lvx_statistics \ -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_data2d \ diff --git a/src/tools/other/point2grid/Makefile.am b/src/tools/other/point2grid/Makefile.am index 17b0987b89..4eb9f6e374 100644 --- a/src/tools/other/point2grid/Makefile.am +++ b/src/tools/other/point2grid/Makefile.am @@ -20,8 +20,8 @@ point2grid_LDADD = -lvx_statistics \ -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_data2d \ diff --git a/src/tools/other/point2grid/Makefile.in b/src/tools/other/point2grid/Makefile.in index 35e9722171..17f72484ab 100644 --- a/src/tools/other/point2grid/Makefile.in +++ b/src/tools/other/point2grid/Makefile.in @@ -352,8 +352,8 @@ point2grid_LDADD = -lvx_statistics \ -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_data2d \ diff --git a/src/tools/other/regrid_data_plane/Makefile.am b/src/tools/other/regrid_data_plane/Makefile.am index e6ed355083..8d61f70608 100644 --- a/src/tools/other/regrid_data_plane/Makefile.am +++ b/src/tools/other/regrid_data_plane/Makefile.am @@ -19,8 +19,8 @@ regrid_data_plane_LDADD = -lvx_statistics \ -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/tools/other/regrid_data_plane/Makefile.in b/src/tools/other/regrid_data_plane/Makefile.in index 1cf17714f2..61c475b1ae 100644 --- a/src/tools/other/regrid_data_plane/Makefile.in +++ b/src/tools/other/regrid_data_plane/Makefile.in @@ -339,8 +339,8 @@ regrid_data_plane_LDADD = -lvx_statistics \ -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/tools/other/regrid_data_plane/regrid_data_plane.cc b/src/tools/other/regrid_data_plane/regrid_data_plane.cc index 6b3076b029..a37cda1803 100644 --- a/src/tools/other/regrid_data_plane/regrid_data_plane.cc +++ b/src/tools/other/regrid_data_plane/regrid_data_plane.cc @@ -329,10 +329,7 @@ void process_data_file() { if(VarNameSA.n() == 0) { vname << cs_erase << vinfo->name_attr(); if(vinfo->level().type() != LevelType_Accum && - ftype != FileType_NcMet && - ftype != FileType_General_Netcdf && - ftype != FileType_NcPinterp && - ftype != FileType_NcCF) { + !is_netcdf_grdfiletype(ftype)) { vname << "_" << vinfo->level_attr(); } } diff --git a/src/tools/other/shift_data_plane/Makefile.am b/src/tools/other/shift_data_plane/Makefile.am index d4854a1f75..badfdb6922 100644 --- a/src/tools/other/shift_data_plane/Makefile.am +++ b/src/tools/other/shift_data_plane/Makefile.am @@ -19,8 +19,8 @@ shift_data_plane_LDADD = -lvx_statistics \ -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/tools/other/shift_data_plane/Makefile.in b/src/tools/other/shift_data_plane/Makefile.in index 6c53dfcdc4..4eb7b7f50b 100644 --- a/src/tools/other/shift_data_plane/Makefile.in +++ b/src/tools/other/shift_data_plane/Makefile.in @@ -339,8 +339,8 @@ shift_data_plane_LDADD = -lvx_statistics \ -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/tools/other/shift_data_plane/shift_data_plane.cc b/src/tools/other/shift_data_plane/shift_data_plane.cc index 8402c0d2d8..4ceeaa6a41 100644 --- a/src/tools/other/shift_data_plane/shift_data_plane.cc +++ b/src/tools/other/shift_data_plane/shift_data_plane.cc @@ -313,10 +313,7 @@ void write_netcdf(const DataPlane &dp, const Grid &grid, // Define output variable and attributes cs << cs_erase << vinfo->name_attr(); if(vinfo->level().type() != LevelType_Accum && - ftype != FileType_NcMet && - ftype != FileType_General_Netcdf && - ftype != FileType_NcPinterp && - ftype != FileType_NcCF) { + !is_netcdf_grdfiletype(ftype)) { cs << "_" << vinfo->level_attr(); } diff --git a/src/tools/other/wwmca_tool/Makefile.am b/src/tools/other/wwmca_tool/Makefile.am index 73603061ad..6731f3af4c 100644 --- a/src/tools/other/wwmca_tool/Makefile.am +++ b/src/tools/other/wwmca_tool/Makefile.am @@ -42,8 +42,8 @@ wwmca_regrid_LDADD = -lvx_pxm \ -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 \ @@ -91,8 +91,8 @@ wwmca_plot_LDADD = -lvx_pxm \ -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_data2d \ diff --git a/src/tools/other/wwmca_tool/Makefile.in b/src/tools/other/wwmca_tool/Makefile.in index f11d548391..972b3f9255 100644 --- a/src/tools/other/wwmca_tool/Makefile.in +++ b/src/tools/other/wwmca_tool/Makefile.in @@ -421,8 +421,8 @@ wwmca_regrid_LDADD = -lvx_pxm \ -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 \ @@ -471,8 +471,8 @@ wwmca_plot_LDADD = -lvx_pxm \ -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_data2d \ diff --git a/src/tools/tc_utils/rmw_analysis/Makefile.am b/src/tools/tc_utils/rmw_analysis/Makefile.am index 46dfff3df2..2ebbe9a79e 100644 --- a/src/tools/tc_utils/rmw_analysis/Makefile.am +++ b/src/tools/tc_utils/rmw_analysis/Makefile.am @@ -24,8 +24,8 @@ rmw_analysis_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/src/tools/tc_utils/rmw_analysis/Makefile.in b/src/tools/tc_utils/rmw_analysis/Makefile.in index 96b646a99a..9a89e51057 100644 --- a/src/tools/tc_utils/rmw_analysis/Makefile.in +++ b/src/tools/tc_utils/rmw_analysis/Makefile.in @@ -345,8 +345,8 @@ rmw_analysis_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/src/tools/tc_utils/tc_diag/Makefile.am b/src/tools/tc_utils/tc_diag/Makefile.am index 111277e4e8..4553fc0c8c 100644 --- a/src/tools/tc_utils/tc_diag/Makefile.am +++ b/src/tools/tc_utils/tc_diag/Makefile.am @@ -25,8 +25,8 @@ tc_diag_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/src/tools/tc_utils/tc_diag/Makefile.in b/src/tools/tc_utils/tc_diag/Makefile.in index 89c097ddb9..b884c28f85 100644 --- a/src/tools/tc_utils/tc_diag/Makefile.in +++ b/src/tools/tc_utils/tc_diag/Makefile.in @@ -348,8 +348,8 @@ tc_diag_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/src/tools/tc_utils/tc_gen/Makefile.am b/src/tools/tc_utils/tc_gen/Makefile.am index 2cc13426ff..3d9bc7003e 100644 --- a/src/tools/tc_utils/tc_gen/Makefile.am +++ b/src/tools/tc_utils/tc_gen/Makefile.am @@ -25,8 +25,8 @@ tc_gen_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/src/tools/tc_utils/tc_gen/Makefile.in b/src/tools/tc_utils/tc_gen/Makefile.in index 263c36b038..97b0b5994f 100644 --- a/src/tools/tc_utils/tc_gen/Makefile.in +++ b/src/tools/tc_utils/tc_gen/Makefile.in @@ -346,8 +346,8 @@ tc_gen_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/src/tools/tc_utils/tc_pairs/Makefile.am b/src/tools/tc_utils/tc_pairs/Makefile.am index c44cd9b3ca..c4ccfa7d43 100644 --- a/src/tools/tc_utils/tc_pairs/Makefile.am +++ b/src/tools/tc_utils/tc_pairs/Makefile.am @@ -27,8 +27,8 @@ tc_pairs_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/src/tools/tc_utils/tc_pairs/Makefile.in b/src/tools/tc_utils/tc_pairs/Makefile.in index ef0f4a5583..736cb2afe3 100644 --- a/src/tools/tc_utils/tc_pairs/Makefile.in +++ b/src/tools/tc_utils/tc_pairs/Makefile.in @@ -372,8 +372,8 @@ tc_pairs_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/src/tools/tc_utils/tc_rmw/Makefile.am b/src/tools/tc_utils/tc_rmw/Makefile.am index 4bb5c11475..d1c8d9dbd1 100644 --- a/src/tools/tc_utils/tc_rmw/Makefile.am +++ b/src/tools/tc_utils/tc_rmw/Makefile.am @@ -25,8 +25,8 @@ tc_rmw_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/src/tools/tc_utils/tc_rmw/Makefile.in b/src/tools/tc_utils/tc_rmw/Makefile.in index 05d4f518e3..0c5220595a 100644 --- a/src/tools/tc_utils/tc_rmw/Makefile.in +++ b/src/tools/tc_utils/tc_rmw/Makefile.in @@ -348,8 +348,8 @@ tc_rmw_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/src/tools/tc_utils/tc_stat/Makefile.am b/src/tools/tc_utils/tc_stat/Makefile.am index 8a53668656..5f1661cf5c 100644 --- a/src/tools/tc_utils/tc_stat/Makefile.am +++ b/src/tools/tc_utils/tc_stat/Makefile.am @@ -27,8 +27,8 @@ tc_stat_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/src/tools/tc_utils/tc_stat/Makefile.in b/src/tools/tc_utils/tc_stat/Makefile.in index 91e9944932..24bba4f72e 100644 --- a/src/tools/tc_utils/tc_stat/Makefile.in +++ b/src/tools/tc_utils/tc_stat/Makefile.in @@ -350,8 +350,8 @@ tc_stat_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 \