Skip to content
Commits on Source (10)
......@@ -201,7 +201,13 @@ else()
message("-- NetCDF diskless functionaliy not available, netcdf_mem.h or nc_open_mem not found")
endif()
#if nc_def_var_filter() is available, nc_inq_path(), nc_inq_format() and has_nc_open_mem() are too
if (has_nc_def_var_filter)
message("-- Defining HAVE_NC_INQ_PATH, HAVE_NC_INQ_FORMAT, HAVE_NETCDF_MEM_H")
add_definitions(-DHAVE_NC_INQ_PATH)
add_definitions(-DHAVE_NC_INQ_FORMAT)
add_definitions(-DHAVE_NETCDF_MEM_H)
endif()
#/////////////////////////////////////////////////////////////////////////////////////
#HDF5
......@@ -501,15 +507,11 @@ add_executable(ncatted src/nco/ncatted.c)
set(ncwa_SOURCES ${ncwa_SOURCES})
set(ncwa_SOURCES ${ncwa_SOURCES} src/nco/ncwa.c)
# find_package(BISON QUIET)
find_package(FLEX QUIET)
if(FLEX_FOUND)
add_definitions(-DHAVE_BISON_FLEX)
# message("-- Bison found at ${BISON_EXECUTABLE}")
message("-- Flex found at ${FLEX_EXECUTABLE}")
# BISON_TARGET(nco_parser src/nco/ncap_yacc.y ${CMAKE_CURRENT_BINARY_DIR}/ncap_yacc.c COMPILE_FLAGS "--name-prefix=nco_yy")
FLEX_TARGET(nco_scanner src/nco/ncap_lex.l ${CMAKE_CURRENT_BINARY_DIR}/ncap_lex.c COMPILE_FLAGS "-Pnco_yy")
# ADD_FLEX_BISON_DEPENDENCY(nco_scanner nco_parser)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
include_directories(src/nco)
message("-- Flex will generate ${FLEX_nco_scanner_OUTPUTS}")
......
......@@ -430,21 +430,6 @@ endif # endif ESMF_ROOT
endif # endif ESMF_LIB
endif # end if ESMF
ifeq (${GSL},Y)
# Build GSL-enabled NCO
# Place GSL block after DAP blocks for both to work together
ifdef GSL_INC
GSL_INC_FLG := -I${GSL_INC}
else
GSL_INC_FLG := $(shell gsl-config --cflags)
endif # endif GSL_INC
ifdef GSL_LIB
GSL_LIB_FLG := -L${GSL_LIB} -lgsl
else
GSL_LIB_FLG := $(shell gsl-config --libs)
endif # endif GSL_LIB
endif # end if GSL
ifeq (${SZ},Y)
# 20150515: -lsz needed (at least by icc) on rhea
ifdef SZ_LIB
......@@ -485,8 +470,8 @@ ifdef LIB_NCAR
NC_LDFLAGS := ${LIB_NCAR} ${NC_LDFLAGS}
endif
OTHER_CFLAGS := ${ESMF_INC_FLG} ${NC_CFLAGS} ${MPI_CFLAGS} ${GSL_INC_FLG} ${UDUNITS_INC_FLG}
OTHER_LDFLAGS := ${NCO_LDFLAGS} ${ESMF_LIB_FLG} ${NC_LDFLAGS} ${MPI_LDFLAGS} ${GSL_LIB_FLG} ${SZ_LIB_FLG} ${UDUNITS_LIB_FLG}
OTHER_CFLAGS := ${ESMF_INC_FLG} ${NC_CFLAGS} ${MPI_CFLAGS} ${UDUNITS_INC_FLG}
OTHER_LDFLAGS := ${NCO_LDFLAGS} ${ESMF_LIB_FLG} ${NC_LDFLAGS} ${MPI_LDFLAGS} ${SZ_LIB_FLG} ${UDUNITS_LIB_FLG}
# NB: Do NOT add comment lines, e.g., # This is a comma, to character definitions
null :=
......
......@@ -2,17 +2,17 @@
# http://cvs.fedoraproject.org/viewvc/devel/nco/nco.spec?view=co
Name: nco
Version: 4.7.4
Version: 4.7.5
Release: 1%{?dist}
Summary: Programs that manipulate netCDF files
Group: Applications/Engineering
License: GPL3
URL: http://nco.sf.net/
# Obtain NCO version 4.7.4-1 tar.gz from Sourceforge using CVS:
# Obtain NCO version 4.7.5-1 tar.gz from Sourceforge using CVS:
# cvs -d:pserver:anonymous@nco.cvs.sf.net:/cvsroot/nco login
# cvs -z3 -d:pserver:anonymous@nco.cvs.sf.net:/cvsroot/nco co -r nco-4.7.4-1 -d nco-%{version} nco
# tar czf nco-%{version}.tar.gz --exclude='nco-4.7.4/debian*' --exclude='.cvsignore' --exclude=ncap_lex.c --exclude='ncap_yacc.[ch]' ./nco-%{version}
# cvs -z3 -d:pserver:anonymous@nco.cvs.sf.net:/cvsroot/nco co -r nco-4.7.5-1 -d nco-%{version} nco
# tar czf nco-%{version}.tar.gz --exclude='nco-4.7.5/debian*' --exclude='.cvsignore' --exclude=ncap_lex.c --exclude='ncap_yacc.[ch]' ./nco-%{version}
Source0: nco-%{version}.tar.gz
#Patch0: nco_install_C_headers.patch
#Patch1: nco_find_udunits-dat.patch
......@@ -108,6 +108,9 @@ fi
# %{_libdir}/libnco++.so
%changelog
* Sun Jun 10 2018 Charlie Zender <zender@uci.edu> - 4.7.5-1
- new upstream 4.7.5
* Fri Apr 06 2018 Charlie Zender <zender@uci.edu> - 4.7.4-1
- new upstream 4.7.4
......
......@@ -5,20 +5,20 @@
# Usage:
# Export tagged, public versions
# /usr/bin/scp ${DATA}/nco-4.7.4.tar.gz zender,nco@web.sf.net:/home/project-web/nco/htdocs/src
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln nco-4.7.4 # Build, do not release on SF
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --sf nco-4.7.4 # Build, release on SF
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --nst_all nco-4.7.4 # Install, do not build
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --nst_all nco-4.7.4 # Build and install
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_cnt nco-4.7.4
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_prs nco-4.7.4
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cgd_cnt nco-4.7.4
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cray_prs nco-4.7.4
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --bbl_cnt nco-4.7.4
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --blk_cnt nco-4.7.4
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --dat_cnt nco-4.7.4
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --ute_prs nco-4.7.4
# /usr/bin/scp ${DATA}/nco-4.7.5.tar.gz zender,nco@web.sf.net:/home/project-web/nco/htdocs/src
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln nco-4.7.5 # Build, do not release on SF
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --sf nco-4.7.5 # Build, release on SF
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --nst_all nco-4.7.5 # Install, do not build
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --nst_all nco-4.7.5 # Build and install
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_cnt nco-4.7.5
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_prs nco-4.7.5
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cgd_cnt nco-4.7.5
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cray_prs nco-4.7.5
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --bbl_cnt nco-4.7.5
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --blk_cnt nco-4.7.5
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --dat_cnt nco-4.7.5
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --ute_prs nco-4.7.5
# Export daily snapshot
# ${HOME}/nco/bld/nco_dst.pl --dbg=2
......@@ -256,7 +256,7 @@ if($bld){
# Set up FTP server
chdir $dst_pth_pfx or die "$prg_nm: ERROR unable to chdir to $dst_pth_pfx: $!\n"; # $! is system error string
cmd_prc("$cp_cmd $doc_fl ./$dst_vrs/doc"); # Copy derived documentation to source directory
cmd_prc("$tar_cmd cvzf $dst_fl --exclude='nco-4.7.4/debian*' --exclude='.cvsignore' --exclude=ncap_lex.c --exclude=ncap_yacc.[ch] ./$dst_vrs"); # Create gzipped tarfile
cmd_prc("$tar_cmd cvzf $dst_fl --exclude='nco-4.7.5/debian*' --exclude='.cvsignore' --exclude=ncap_lex.c --exclude=ncap_yacc.[ch] ./$dst_vrs"); # Create gzipped tarfile
cmd_prc("$rsh_cmd $www_mch $rm_cmd $www_drc/src/$dst_fl"); # Remove any distribution with same name
if($dly_snp){cmd_prc("$rsh_cmd $www_mch $rm_cmd -r $www_drc/src/nco-????????.tar.gz");} # Remove previous daily snapshots from WWW server
cmd_prc("$rcp_cmd $dst_fl $www_mch:$www_drc/src"); # Copy local tarfile to WWW server
......
......@@ -443,7 +443,7 @@ if($USER eq 'zender'){
$#tst_cmd=0; # Reset array
# ncap2 #12
$dsc_sng="Run script to to test gsl functions -FAILS IF NOT linked to gsl lib";
$dsc_sng="Run script to to test GSL functions -FAILS IF NOT linked to GSL lib";
$tst_cmd[0]="ncap2 -h -O $fl_fmt $nco_D_flg -v -S '../data/gsl_sf.in' $in_pth_arg in.nc %tmp_fl_00%";
$tst_cmd[1]="ncks -C -H --trd -v nbr_err_ttl -s '%d' %tmp_fl_00%";
$tst_cmd[2]="0";
......
......@@ -31,25 +31,6 @@ Use static linking of the C Run-time Library (CRT)
bld crt
```
# Changes needed
## hdf5
edit CMakeLists.txt at root and add for case when static linking of the C Run-time Library (CRT)
```
INCLUDE(config/cmake/UserMacros/WINDOWS_MT.cmake)
```
## netcdf
edit CMakeLists.txt and add an option to detect the HDF5 HL library
```
INCLUDE_DIRECTORIES(${HDF5_HL_INCLUDE_DIR})
```
# NCO CMake build
NCO should detect the ZLIB dependency in HDF5 as
......@@ -96,6 +77,14 @@ if (MSVC)
endif()
```
## hdf5
edit CMakeLists.txt at root and add for case when static linking of the C Run-time Library (CRT)
```
INCLUDE(config/cmake/UserMacros/WINDOWS_MT.cmake)
```
## zlib
git clone https://github.com/madler/zlib
......@@ -138,6 +127,13 @@ edit netcdf.vcxproj and add full path of HDF5 and curl libraries as dependencies
</Lib>
```
add as "Additional Dependencies" the libraries
```
Ws2_32.lib;CRYPT32.LIB;Wldap32.lib;Normaliz.lib
```
and set "Link Library Dependencies" to Yes
# List of dependencies
......
......@@ -194,7 +194,7 @@ if exist %build%\hdf5\build\bin\Debug\h5dump.exe (
:build_curl
if exist %build%\curl\builds\libcurl-vc14-x64-debug-static-ipv6-sspi-winssl\lib\libcurl_a_debug.lib (
echo skipping curl build
goto build_netcdf
goto build_expat
) else (
echo building curl
pushd curl
......@@ -212,51 +212,6 @@ if exist %build%\curl\builds\libcurl-vc14-x64-debug-static-ipv6-sspi-winssl\lib\
if errorlevel 1 goto :eof
)
:: //////////////////////////////////////////////////////////
:: netcdf
:: //////////////////////////////////////////////////////////
:build_netcdf
if exist %build%\netcdf-c\build\ncdump\ncdump.exe (
echo skipping netcdf build
goto test_netcdf
) else (
echo building netcdf
pushd netcdf-c
mkdir build
pushd build
cmake .. -G %MSVC_VERSION% ^
-DNC_USE_STATIC_CRT=%STATIC_CRT% ^
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ^
-DENABLE_TESTS=OFF ^
-DBUILD_SHARED_LIBS=OFF ^
-DHDF5_HL_LIBRARY=%root%/hdf5/build/bin/Debug/libhdf5_hl_D.lib ^
-DHDF5_C_LIBRARY=%root%/hdf5/build/bin/Debug/libhdf5_D.lib ^
-DHDF5_INCLUDE_DIR=%root%/hdf5/src ^
-DZLIB_LIBRARY:FILE=%root%/zlib/build/Debug/zlibstaticd.lib ^
-DSZIP_LIBRARY:FILE=%root%/szip/build/bin/Debug/libszip_D.lib ^
-DZLIB_INCLUDE_DIR:PATH=%root%/zlib ^
-DHAVE_HDF5_H=%root%/hdf5/build ^
-DHDF5_HL_INCLUDE_DIR=%root%/hdf5/hl/src ^
-DCURL_LIBRARY=%root%/curl/builds/libcurl-vc14-x64-debug-static-ipv6-sspi-winssl/lib/libcurl_a_debug.lib ^
-DCURL_INCLUDE_DIR=%root%/curl/include
msbuild netcdf.sln /target:build /property:configuration=debug /nologo /verbosity:minimal
popd
popd
if errorlevel 1 goto :eof
)
:test_netcdf
if exist %build%\netcdf-c\build\ncdump\ncdump.exe (
echo testing netcdf build
@echo on
%build%\netcdf-c\build\ncdump\ncdump.exe -h http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/cmap/enh/precip.mon.mean.nc
@echo off
@echo.
goto build_expat
)
:: //////////////////////////////////////////////////////////
:: expat
:: //////////////////////////////////////////////////////////
......@@ -345,7 +300,7 @@ if exist %build%\GSL\build\GSL.sln (
:build_antlr
if exist %build%\antlr2\lib\cpp\build\antlr.sln (
echo skipping antlr build
goto build_nco
goto build_netcdf
) else (
echo building antlr
pushd antlr2
......@@ -365,6 +320,50 @@ if exist %build%\antlr2\lib\cpp\build\antlr.sln (
if errorlevel 1 goto :eof
)
:: //////////////////////////////////////////////////////////
:: netcdf
:: //////////////////////////////////////////////////////////
:build_netcdf
if exist %build%\netcdf-c\build\ncdump\ncdump.exe (
echo skipping netcdf build
goto test_netcdf
) else (
echo building netcdf
pushd netcdf-c
mkdir build
pushd build
cmake .. -G %MSVC_VERSION% ^
-DNC_USE_STATIC_CRT=%STATIC_CRT% ^
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ^
-DENABLE_TESTS=OFF ^
-DBUILD_SHARED_LIBS=OFF ^
-DHDF5_HL_LIBRARY=%root%/hdf5/build/bin/Debug/libhdf5_hl_D.lib ^
-DHDF5_C_LIBRARY=%root%/hdf5/build/bin/Debug/libhdf5_D.lib ^
-DHDF5_INCLUDE_DIR=%root%/hdf5/src ^
-DZLIB_LIBRARY:FILE=%root%/zlib/build/Debug/zlibstaticd.lib ^
-DSZIP_LIBRARY:FILE=%root%/szip/build/bin/Debug/libszip_D.lib ^
-DZLIB_INCLUDE_DIR:PATH=%root%/zlib ^
-DHAVE_HDF5_H=%root%/hdf5/build ^
-DHDF5_HL_INCLUDE_DIR=%root%/hdf5/hl/src ^
-DCURL_LIBRARY=%root%/curl/builds/libcurl-vc14-x64-debug-static-ipv6-sspi-winssl/lib/libcurl_a_debug.lib ^
-DCURL_INCLUDE_DIR=%root%/curl/include
msbuild netcdf.sln /target:build /property:configuration=debug /nologo /verbosity:minimal
popd
popd
if errorlevel 1 goto :eof
)
:test_netcdf
if exist %build%\netcdf-c\build\ncdump\ncdump.exe (
echo testing netcdf build
@echo on
%build%\netcdf-c\build\ncdump\ncdump.exe -h http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/cmap/enh/precip.mon.mean.nc
@echo off
@echo.
goto build_nco
)
:: //////////////////////////////////////////////////////////
:: NCO
:: use undocumented option -H (location of CMakeLists.txt)
......
......@@ -1675,7 +1675,7 @@ netcdf in {
RDM = 1, 9, 36, 84, 126, 126, 84, 36, 9, 1 ;
SALT = _, 0.032, 0.033, 0.034, 0.035, 0.036, 0.037, 0.038, _, _ ;
SALT = -9.96921e+33, 0.032, 0.033, 0.034, 0.035, 0.036, 0.037, 0.038, -9.96921e+33, -9.96921e+33 ;
albers_conical_equal_area = "" ;
......@@ -1841,9 +1841,9 @@ netcdf in {
"/data/zender/dstccm04/dstccm04_8589_09.nc",
"/data/zender/dstccm04/dstccm04_8589_10.nc" ;
fll_val = 73, _, 73, _ ;
fll_val = 73, -999, 73, -999 ;
fll_val_mss_val = 73, _, 73, _ ;
fll_val_mss_val = 73, -999, 73, -999 ;
float_var = 10 ;
......@@ -2044,21 +2044,21 @@ netcdf in {
mmr_CO2 = 0.000611 ;
msk_prt_mss_prt = 0.5, _, 1.5, _ ;
msk_prt_mss_prt = 0.5, 1e+36, 1.5, 1e+36 ;
mss_val = 73, _, 73, _ ;
mss_val = 73, 1e+36, 73, 1e+36 ;
mss_val_all = _, _, _, _ ;
mss_val_all = 1e+36, 1e+36, 1e+36, 1e+36 ;
mss_val_fst = _, 73, _, 73 ;
mss_val_fst = -999, 73, -999, 73 ;
mss_val_scl = _ ;
mss_val_scl = 1e+36 ;
mss_val_scl_sml = _ ;
mss_val_scl_sml = 10000 ;
nan_arr = 0, 73 ;
nan_scl = _ ;
nan_scl = 1 ;
nbdate = 640224 ;
......@@ -2089,33 +2089,33 @@ netcdf in {
one_dmn_rec_var = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ;
one_dmn_rec_var__FillValue = 1, 2, 3, 4, 5, 6, 7, 8, 9, _ ;
one_dmn_rec_var__FillValue = 1, 2, 3, 4, 5, 6, 7, 8, 9, 1e+36 ;
one_dmn_rec_var_dbl = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ;
one_dmn_rec_var_flt = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ;
one_dmn_rec_var_flt_mss = _, 2, 3, 4, 5, 6, 7, 8, 9, _ ;
one_dmn_rec_var_flt_mss = 1e+36, 2, 3, 4, 5, 6, 7, 8, 9, 1e+36 ;
one_dmn_rec_var_flt_mss_scl = _, 2, 3, 4, 5, 6, 7, 8, 9, _ ;
one_dmn_rec_var_flt_mss_scl = 1e+36, 2, 3, 4, 5, 6, 7, 8, 9, 1e+36 ;
one_dmn_rec_var_flt_scl = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ;
one_dmn_rec_var_mdn = 1, 1, 2, 2, 2, 2, 10, 10, 10, 10 ;
one_dmn_rec_var_mdn__FillValue = 1, _, 2, 2, _, _, 10, 10, 10, _ ;
one_dmn_rec_var_mdn__FillValue = 1, -999, 2, 2, -999, -999, 10, 10, 10, -999 ;
one_dmn_rec_var_missing_value = 1, 2, 3, 4, 5, 6, 7, 8, 9, 1e+36 ;
one_dmn_rec_var_mss_val = _, _, _, _, _, _, _, _, _, _ ;
one_dmn_rec_var_mss_val = 1e+36, 1e+36, 1e+36, 1e+36, 1e+36, 1e+36, 1e+36, 1e+36, 1e+36, 1e+36 ;
one_dmn_rec_var_mss_val_arr = _, 2, 3, 4, 5, 6, 7, 8, 9, 10 ;
one_dmn_rec_var_mss_val_arr = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ;
one_dmn_rec_var_sng = "Hello Worl" ;
one_dmn_rec_var_unsorted = 10, 4, 6, 2, 8, 1, 9, 7, 3, 5 ;
one_dmn_rec_var_unsorted__FillValue = _, 4, 6, 2, 8, 1, 9, 7, 3, 5 ;
one_dmn_rec_var_unsorted__FillValue = 1e+36, 4, 6, 2, 8, 1, 9, 7, 3, 5 ;
one_dmn_rec_wgt = 2, 1, 0, 0, 0, 0, 0, 0, 0, 0 ;
......@@ -2197,43 +2197,43 @@ netcdf in {
rec_var_dbl = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ;
rec_var_dbl_mss_val_dbl_pck = _, 32767, 21845, 10922, 0, -10922, -21845, -32767, _, _ ;
rec_var_dbl_mss_val_dbl_pck = -999, 32767, 21845, 10922, 0, -10922, -21845, -32767, -999, -999 ;
rec_var_dbl_mss_val_dbl_pck_lng = _, 32767, 21845, 10922, 0, -10922, -21845, -32767, _, _ ;
rec_var_dbl_mss_val_dbl_pck_lng = -999, 32767, 21845, 10922, 0, -10922, -21845, -32767, -999, -999 ;
rec_var_dbl_mss_val_dbl_upk = _, 2, 3, 4, 5, 6, 7, 8, _, _ ;
rec_var_dbl_mss_val_dbl_upk = -999, 2, 3, 4, 5, 6, 7, 8, -999, -999 ;
rec_var_dbl_mss_val_sht_pck = _, 32767, 21845, 10922, 0, -10922, -21845, -32767, _, _ ;
rec_var_dbl_mss_val_sht_pck = -999, 32767, 21845, 10922, 0, -10922, -21845, -32767, -999, -999 ;
rec_var_dbl_mss_val_sht_pck_sht = _, 32767, 21845, 10922, 0, -10922, -21845, -32767, _, _ ;
rec_var_dbl_mss_val_sht_pck_sht = -999, 32767, 21845, 10922, 0, -10922, -21845, -32767, -999, -999 ;
rec_var_dbl_mss_val_sht_upk = _, 2, 3, 4, 5, 6, 7, 8, _, _ ;
rec_var_dbl_mss_val_sht_upk = -999, 2, 3, 4, 5, 6, 7, 8, -999, -999 ;
rec_var_dbl_pck = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ;
rec_var_flt = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ;
rec_var_flt_mss_val_dbl = _, 2, 3, 4, 5, 6, 7, 8, _, _ ;
rec_var_flt_mss_val_dbl = 1e+36, 2, 3, 4, 5, 6, 7, 8, 1e+36, 1e+36 ;
rec_var_flt_mss_val_flt = _, 2, 3, 4, 5, 6, 7, 8, _, _ ;
rec_var_flt_mss_val_flt = 1e+36, 2, 3, 4, 5, 6, 7, 8, 1e+36, 1e+36 ;
rec_var_flt_mss_val_flt_all = _, _, _, _, _, _, _, _, _, _ ;
rec_var_flt_mss_val_flt_all = 1e+36, 1e+36, 1e+36, 1e+36, 1e+36, 1e+36, 1e+36, 1e+36, 1e+36, 1e+36 ;
rec_var_flt_mss_val_flt_all_but_one = _, _, _, _, 5, _, _, _, _, _ ;
rec_var_flt_mss_val_flt_all_but_one = 1e+36, 1e+36, 1e+36, 1e+36, 5, 1e+36, 1e+36, 1e+36, 1e+36, 1e+36 ;
rec_var_flt_mss_val_flt_all_but_two = _, _, _, _, 5, _, _, _, _, 10 ;
rec_var_flt_mss_val_flt_all_but_two = 1e+36, 1e+36, 1e+36, 1e+36, 5, 1e+36, 1e+36, 1e+36, 1e+36, 10 ;
rec_var_flt_mss_val_flt_pck_flt = _, 0.032, 0.033, 0.034, 0.035, 0.036, 0.037, 0.038, _, _ ;
rec_var_flt_mss_val_flt_pck_flt = -9.96921e+33, 0.032, 0.033, 0.034, 0.035, 0.036, 0.037, 0.038, -9.96921e+33, -9.96921e+33 ;
rec_var_flt_mss_val_int = _, 2, 3, 4, 5, 6, 7, 8, _, _ ;
rec_var_flt_mss_val_int = -999, 2, 3, 4, 5, 6, 7, 8, -999, -999 ;
rec_var_flt_pck = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ;
rec_var_int_mss_val_dbl = _, 2, 3, 4, 5, 6, 7, 8, _, _ ;
rec_var_int_mss_val_dbl = -999, 2, 3, 4, 5, 6, 7, 8, -999, -999 ;
rec_var_int_mss_val_flt = _, 2, 3, 4, 5, 6, 7, 8, _, _ ;
rec_var_int_mss_val_flt = -999, 2, 3, 4, 5, 6, 7, 8, -999, -999 ;
rec_var_int_mss_val_int = _, 2, 3, 4, 5, 6, 7, 8, _, _ ;
rec_var_int_mss_val_int = -999, 2, 3, 4, 5, 6, 7, 8, -999, -999 ;
rec_var_pck_scale_factor_only = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ;
......@@ -2266,20 +2266,20 @@ netcdf in {
13, 14, 15, 16,
17, 18, 19, 20,
21, 22, 23, 24,
_, _, _, _,
_, _, _, _,
-99, -99, -99, -99,
-99, -99, -99, -99,
33, 34, 35, 36,
37, 38, 39, 40,
41, 42, 43, 44,
45, 46, 47, 48,
49, 50, 51, 52,
53, 54, 55, 56,
_, 58, 59, 60,
-99, 58, 59, 60,
61, 62, 63, 64,
65, 66, 67, 68,
69, 70, 71, 72,
_, 74, 75, 76,
77, 78, 79, _ ;
-99, 74, 75, 76,
77, 78, 79, -99 ;
three = 3 ;
......@@ -2350,64 +2350,64 @@ netcdf in {
13, 14, 15, 16,
17, 18, 19, 20,
21, 22, 23, 24,
_, _, _, _,
_, _, _, _,
-99, -99, -99, -99,
-99, -99, -99, -99,
33, 34, 35, 36,
37, 38, 39, 40,
41, 42, 43, 44,
45, 46, 47, 48,
49, 50, 51, 52,
53, 54, 55, 56,
_, 58, 59, 60,
-99, 58, 59, 60,
61, 62, 63, 64,
65, 66, 67, 68,
69, 70, 71, 72,
_, 74, 75, 76,
77, 78, 79, _ ;
-99, 74, 75, 76,
77, 78, 79, -99 ;
three_dmn_var_int =
1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12,
13, 14, 15, 16,
_, _, _, _,
_, _, _, _,
-99, -99, -99, -99,
-99, -99, -99, -99,
25, 26, 27, 28,
29, 30, 31, 32,
33, 34, 35, 36,
37, 38, 39, 40,
41, _, 43, 44,
41, -99, 43, 44,
45, 46, 47, 48,
49, 50, 51, 52,
53, 54, 55, 56,
_, 58, 59, 60,
_, 62, 63, 64,
65, _, 67, 68,
-99, 58, 59, 60,
-99, 62, 63, 64,
65, -99, 67, 68,
69, 70, 71, 72,
_, 74, 75, _,
-99, 74, 75, -99,
77, 78, 79, 80 ;
three_dmn_var_sht =
1, 2, 3, 4,
5, 6, 7, 8,
_, 10, 11, 12,
-99, 10, 11, 12,
13, 14, 15, 16,
17, 18, 19, 20,
21, 22, 23, 24,
25, 26, 27, 28,
29, 30, 31, 32,
_, 34, 35, _,
-99, 34, 35, -99,
37, 38, 39, 40,
41, 42, 43, 44,
_, 46, 47, 48,
-99, 46, 47, 48,
49, 50, 51, 52,
53, 54, 55, 56,
57, 58, 59, _,
57, 58, 59, -99,
61, 62, 63, 64,
65, 66, 67, 68,
69, 70, 71, 72,
_, _, _, _,
_, _, _, _ ;
-99, -99, -99, -99,
-99, -99, -99, -99 ;
time = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ;
......@@ -2645,9 +2645,9 @@ netcdf in {
val_one_int = 1 ;
val_one_mss = 1, _ ;
val_one_mss = 1, 1e+36 ;
val_one_mss_int = 1, _ ;
val_one_mss_int = 1, -99 ;
val_one_one_int = 1, 1 ;
......@@ -2667,19 +2667,19 @@ netcdf in {
0, 1, 0, 0,
1, 1, 0, 2 ;
var_mss_0 = _, 1, 2, 3 ;
var_mss_0 = 1e+36, 1, 2, 3 ;
var_mss_1 = 0, _, 2, 3 ;
var_mss_1 = 0, 1e+36, 2, 3 ;
var_mss_2 = 0, 1, _, 3 ;
var_mss_2 = 0, 1, 1e+36, 3 ;
var_mss_3 = 0, 1, 2, _ ;
var_mss_3 = 0, 1, 2, 1e+36 ;
var_mss_nil = 0, 1, 2, 3 ;
var_nm-dash = 1 ;
vld_rng = 273, _, 180, 179, 273, 360, 361, 1e+36, -1e+36, 273 ;
vld_rng = 273, -999, 180, 179, 273, 360, 361, 1e+36, -1e+36, 273 ;
vmr_CO2 = 0.0004 ;
......@@ -2688,22 +2688,22 @@ netcdf in {
wgt_one = 1, 1 ;
wnd_spd =
_, 0.5, 1.5, 0.5,
-999, 0.5, 1.5, 0.5,
1.5, 0.5, 1.5, 0.5,
0.5, _, 0.5, 0.5,
0.5, -999, 0.5, 0.5,
0.5, 0.5, 0.5, 0.5,
0.5, 1.5, _, 1.5,
0.5, 1.5, -999, 1.5,
0.5, 1.5, 0.5, 1.5,
0.5, 0.5, 0.5, _,
0.5, 0.5, 0.5, -999,
0.5, 0.5, 0.5, 0.5,
1.5, 1.5, 1.5, 1.5,
_, 1.5, 1.5, 1.5,
-999, 1.5, 1.5, 1.5,
0.5, 0.5, 0.5, 0.5,
0.5, _, 0.5, 0.5,
0.5, -999, 0.5, 0.5,
2.5, 2.5, 2.5, 2.5,
2.5, 2.5, _, 2.5,
2.5, 2.5, -999, 2.5,
0.5, 0.5, 0.5, 0.5,
0.5, 0.5, 0.5, _,
0.5, 0.5, 0.5, -999,
0.5, 0.5, 0.5, 0.5,
0.5, 0.5, 0.5, 0.5,
0.5, 0.5, 2.5, 0.5,
......
......@@ -141,7 +141,7 @@ netcdf in_grp {
unique = 73 ;
val_one_mss = 1, _ ;
val_one_mss = 1, 1e+36 ;
group: g1 {
......
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for NCO netCDF Operators 4.7.4.
# Generated by GNU Autoconf 2.69 for NCO netCDF Operators 4.7.5.
#
# Report bugs to <nco-bugs@lists.sourceforge.net>.
#
......@@ -592,8 +592,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='NCO netCDF Operators'
PACKAGE_TARNAME='nco'
PACKAGE_VERSION='4.7.4'
PACKAGE_STRING='NCO netCDF Operators 4.7.4'
PACKAGE_VERSION='4.7.5'
PACKAGE_STRING='NCO netCDF Operators 4.7.5'
PACKAGE_BUGREPORT='nco-bugs@lists.sourceforge.net'
PACKAGE_URL=''
 
......@@ -1388,7 +1388,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures NCO netCDF Operators 4.7.4 to adapt to many kinds of systems.
\`configure' configures NCO netCDF Operators 4.7.5 to adapt to many kinds of systems.
 
Usage: $0 [OPTION]... [VAR=VALUE]...
 
......@@ -1459,7 +1459,7 @@ fi
 
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of NCO netCDF Operators 4.7.4:";;
short | recursive ) echo "Configuration of NCO netCDF Operators 4.7.5:";;
esac
cat <<\_ACEOF
 
......@@ -1621,7 +1621,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
NCO netCDF Operators configure 4.7.4
NCO netCDF Operators configure 4.7.5
generated by GNU Autoconf 2.69
 
Copyright (C) 2012 Free Software Foundation, Inc.
......@@ -2487,7 +2487,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
 
It was created by NCO netCDF Operators $as_me 4.7.4, which was
It was created by NCO netCDF Operators $as_me 4.7.5, which was
generated by GNU Autoconf 2.69. Invocation command line was
 
$ $0 $@
......@@ -3742,7 +3742,7 @@ fi
 
# Define the identity of the package.
PACKAGE='nco'
VERSION='4.7.4'
VERSION='4.7.5'
 
 
cat >>confdefs.h <<_ACEOF
......@@ -21496,7 +21496,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by NCO netCDF Operators $as_me 4.7.4, which was
This file was extended by NCO netCDF Operators $as_me 4.7.5, which was
generated by GNU Autoconf 2.69. Invocation command line was
 
CONFIG_FILES = $CONFIG_FILES
......@@ -21562,7 +21562,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
NCO netCDF Operators config.status 4.7.4
NCO netCDF Operators config.status 4.7.5
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
 
......
......@@ -54,7 +54,7 @@
# 20170808: Choose between traditional version and Git-based version
# If Git, consider that Linux dynamic libraries will have full messy name, MacOSX will not
# https://stackoverflow.com/questions/43526939/how-to-insert-git-based-version-in-autoconf-managed-project
AC_INIT([NCO netCDF Operators],[4.7.4],[nco-bugs@lists.sourceforge.net],[nco])
AC_INIT([NCO netCDF Operators],[4.7.5],[nco-bugs@lists.sourceforge.net],[nco])
# Print GNU copyright in configure script
AC_COPYRIGHT
......
......@@ -239,8 +239,8 @@ Commands for LINUX are the only ones "regularly" used after ~2010
# Yan Liu <yanliu@illinois.edu> # NCSA Maintainer = Yan Liu (github: yanliu-chn)
# https://nersc.service-now.com/navpage.do # NERSC Maintainer = Yun (Helen) He
# https://www.olcf.ornl.gov/support/submit-ticket # OLCF
# Subject: Please upgrade NCO module to 4.7.4
# Request: NCO 4.7.4 was released 9/18 and contains many features of interest to your ACME users. Please upgrade the system NCO module to 4.7.4 and make that the default NCO module. Thanks!
# Subject: Please upgrade to netCDF 4.6.1 and to NCO 4.7.4
# Request: NCO 4.7.4 was released 4/6 and contains many features of interest to your ACME users. Please upgrade the system NCO module to 4.7.4 and make that the default NCO module. Thanks!
zender@dust:~/nco$ pvmgetarch;uname -a;~/nco/autobld/config.guess
LINUX
......@@ -310,7 +310,7 @@ make install
# Sysadmin upgrade request:
# Latest sysadmin-compiled module usage:
# Personal recipe last modified: 20180405
# Personal recipe last used successfully: 20180405
# Personal recipe last used successfully: 20180406
export GNU_TRP=`~/nco/autobld/config.guess`
cd ~/nco;/bin/rm -f *.${GNU_TRP}.foo;make distclean
export PATH=/usr/local/uvcdat/2016-01-21/Externals/bin:${PATH}
......@@ -327,7 +327,7 @@ scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU
# Sysadmin upgrade request:
# Latest sysadmin-compiled module usage:
# Personal recipe last modified: 2016??
# Personal recipe last used successfully: 20171221
# Personal recipe last used successfully: 20180406
export GNU_TRP=`~/nco/autobld/config.guess`
cd ~/nco;/bin/rm -f *.${GNU_TRP}.foo;make distclean
ANTLR_ROOT=${HOME} CC='gcc' CXX='g++' NETCDF_ROOT='/usr/local/uvcdat/2016-01-21/Externals' UDUNITS2_PATH='/usr/local/uvcdat/2016-01-21/Externals' ./configure --prefix=${HOME} --bindir=${MY_BIN_DIR} --datadir=${HOME}/nco/data --libdir=${MY_LIB_DIR} --mandir=${HOME}/nco/man > nco.configure.${GNU_TRP}.foo 2>&1
......@@ -342,10 +342,10 @@ scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU
# LCRC uses Spack module written and tested by Adam Stewart: https://github.com/LLNL/spack/pull/4370/files
# spack install --run-tests nco%gcc ^netcdf@4.4.0
# Sysadmin upgrade request: support@lcrc.anl.gov
# Latest ticket: AREQ0159277 on 20170526
# Latest sysadmin-compiled module usage: soft add +nco-4.6.7 # 20170526
# Latest ticket: AREQ0215917 on 20180413
# Latest sysadmin-compiled module usage: soft add +netcdf-4.6.1 soft add +nco-4.7.4 # 20180417
# Personal recipe last modified: 20161223
# Personal recipe last used successfully: 20180302
# Personal recipe last used successfully: 20180406
# fails to link to udunits...why?
# nm -a /soft/udunits/2.1.21/lib/libudunits2.a | grep ut_read_xml
# First use: 20161223 Latest use: 20161223
......@@ -364,26 +364,26 @@ make install >> nco.make.${GNU_TRP}.foo 2>&1
scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU_TRP}.foo nco.make.${GNU_TRP}.foo dust.ess.uci.edu:Sites/nco/rgr
# icc/icpc 20171013 Zender uses this to develop/install/update netCDF4-enabled NCO in personal directories on cheyenne:
# Sysadmin upgrade request: cislhelp@ucar.edu
# Latest ticket: fxm on fxm
# Latest sysadmin-compiled module usage: module load nco/4.6.9 # 20171002
# Personal recipe last modified: 20180112
# Personal recipe last used successfully: 20180302 (except ncap2, which would require backporting to intel 16.0.3 to get gsl)
# Sysadmin upgrade request: cislhelp@ucar.edu # NCAR Maintainer = Pat Nichols
# Latest ticket: 216373 on 20180413
# Latest sysadmin-compiled module usage: module load netcdf/4.6.1 module load nco/4.7.4 # 20180417
# Personal recipe last modified: 20180427
# Personal recipe last used successfully: 20180427 (getopt errors were eliminated by removing ~/include/getopt*.h)
module purge
module load ncarenv intel ncarcompilers mpt netcdf
module add intel
module add netcdf
module add netcdf/4.6.1
module add mpt
export PATH=${PATH}:/opt/pbs/bin # needed for qsub
export PATH=${PATH}:/glade/u/apps/ch/opt/netcdf/4.4.1.1/intel/17.0.1/bin # needed for ncgen
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/glade/u/apps/ch/opt/netcdf/4.4.1.1/intel/17.0.1/lib:/glade/u/apps/ch/opt/udunits/2.2.20/gnu/4.8.2/lib # needed to run NCO
export PATH=${PATH}:/glade/u/apps/ch/opt/netcdf/4.6.1/intel/17.0.1/bin # needed for ncgen
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/glade/u/apps/ch/opt/netcdf/4.6.1/intel/17.0.1/lib:/glade/u/apps/ch/opt/udunits/2.2.20/gnu/4.8.2/lib # needed to run NCO
cd ~/nco;/bin/rm -f *.${GNU_TRP}.foo;make distclean
cd ~/nco;git reset --hard origin/master
cd ~/nco/bld;make NETCDF_ROOT='/glade/u/apps/ch/opt/netcdf/4.4.1.1/intel/17.0.1' UDUNITS_INC='/glade/u/apps/ch/opt/udunits/2.2.20/gnu/4.8.2/include' UDUNITS_LIB='/glade/u/apps/ch/opt/udunits/2.2.20/gnu/4.8.2/lib' OPTS=D allinone;cd -
cd ~/nco/bld;make ANTLR_ROOT=${HOME} GSL_ROOT='/glade/u/apps/ch/opt/gsl/2.4/gnu/6.3.0' GSL_INC='/glade/u/apps/ch/opt/gsl/2.4/gnu/6.3.0/include' SL_LIB='/glade/u/apps/ch/opt/gsl/2.4/gnu/6.3.0/lib' NETCDF_ROOT='/glade/u/apps/ch/opt/netcdf/4.6.1/intel/17.0.1' UDUNITS_INC='/glade/u/apps/ch/opt/udunits/2.2.20/gnu/4.8.2/include' UDUNITS_LIB='/glade/u/apps/ch/opt/udunits/2.2.20/gnu/4.8.2/lib' OPTS=D allinone;cd -
# 20150901: gcc/g++ Zender uses this to develop/install/update netCDF4-enabled NCO in personal directories on cooley:
# Sysadmin upgrade request: 20170825
# Latest ticket: alcf-support #345910
# Sysadmin upgrade request: support@alcf.anl.gov # ALCF Maintainer =
# Latest ticket: alcf-support #367012 on 20180413
# Latest sysadmin-compiled module usage: soft add +nco-4.6.8, soft add +netcdf-4.4.1.1
# Personal recipe last modified: 20170825
# Personal recipe last used successfully: 20171221
......@@ -399,10 +399,11 @@ make install >> nco.make.${GNU_TRP}.foo 2>&1
scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU_TRP}.foo nco.make.${GNU_TRP}.foo dust.ess.uci.edu:Sites/nco/rgr
# gcc/g++ Zender uses this to develop/install/update netCDF4-enabled NCO in personal directories on cori:
# Sysadmin upgrade request: https://nersc.service-now.com/navpage.do
# Latest sysadmin-compiled module usage: module load nco/4.6.7 # 20170612 (without ncap2)
# Sysadmin upgrade request: https://nersc.service-now.com/navpage.do # NERSC Maintainer = Yun (Helen) He
# Latest ticket: INC0118469 on 20180413
# Latest sysadmin-compiled module usage: module load nco/4.7.4 # 20180430 (without ncap2)
# Personal recipe last modified: 20180125
# Personal recipe last used successfully: 20180302
# Personal recipe last used successfully: 20180406
module load szip
module load gsl
module load udunits
......@@ -420,10 +421,10 @@ scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU
# acme: http://www.gnu.org/software/automake/manual/automake.html search for "shared by two hosts" use
# gcc/g++ Zender uses this to develop/install/update netCDF4-enabled NCO in personal directories on edison:
# Sysadmin upgrade request: https://nersc.service-now.com/navpage.do
# Latest ticket: INC0106410 on 20170804
# Latest sysadmin-compiled module usage: module load nco/4.6.7 # 20170809 (with ncap2)
# Latest ticket: INC0118469 on 20180413
# Latest sysadmin-compiled module usage: module load nco/4.7.4 # 20180430 (without ncap2)
# Personal recipe last modified: 20170807
# Personal recipe last used successfully: 20180302
# Personal recipe last used successfully: 20180302 (20180406 but can't find antlr)
module load szip
module load gsl
module load udunits2
......@@ -455,10 +456,10 @@ scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU
# gcc/g++ 20160107 Zender uses this to develop/install/update netCDF4-enabled NCO in personal directories on rhea:
# Sysadmin upgrade request: https://www.olcf.ornl.gov/support/submit-ticket
# Latest ticket: 358890 on 20170526
# Latest sysadmin-compiled module usage: module load nco/4.6.6 # 20170515
# Latest ticket: 381695 on 20180413
# Latest sysadmin-compiled module usage: module load netcdf/4.6.1 nco/4.7.4 # 20180423
# Personal recipe last modified: 20170814
# Personal recipe last used successfully: 20180302
# Personal recipe last used successfully: 20180406
export LINUX_CC='gcc -std=c99 -pedantic -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_SOURCE'
export LINUX_CXX='g++ -std=c++11'
export LINUX_FC='gfortran'
......@@ -495,8 +496,9 @@ scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU
# Personal recipe last modified: 20180124
# Problem is that .bashrc resets PATH so cannot find icc/gcc ...
# Personal recipe last used successfully: fxm
# module unload python
# module use /projects/ClimateEnergy_2/software/modulefiles/all
# module load e3sm-unified/1.1.2-py2-x
# module load e3sm-unified/1.1.2
export GNU_TRP=`~/nco/autobld/config.guess`
cd ~/nco;/bin/rm -f *.${GNU_TRP}.foo;make distclean
module load cray-netcdf
......@@ -513,10 +515,10 @@ scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU
# gcc/g++ 20160420 Zender uses this to develop/install/update netCDF4-enabled NCO in personal directories on titan:
# Sysadmin upgrade request: https://www.olcf.ornl.gov/support/submit-ticket
# Latest ticket: 347675 on 20170316
# Latest ticket: 347675 on 20170316, 381695 on 20180413
# Latest sysadmin-compiled module usage: module load nco/4.6.6 # 20170411
# Personal recipe last modified: 20170814
# Personal recipe last used successfully: 20180302
# Personal recipe last used successfully: 20180406
export LINUX_CC='gcc -std=c99 -pedantic -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_SOURCE'
module add gcc # change GCC from v 4.3.4 to 4.9.0
#module add gsl # not used yet
......
// -*-C++-*-
// Purpose: CDL file to generate netCDF4 test file for enum types
// Created: 20180413 based on buggy.cdl
// Usage:
// NB: ncgen arguments depend on version:
// "-k netCDF-4" for netCDF >= 3.6.3, "-k hdf5" for netCDF < 3.6.3
// "-k netCDF-4 classic model" for netCDF >= 3.6.3, "-k hdf5-nc3" for netCDF < 3.6.3
// ncgen -k netCDF-4 -b -o ~/nco/data/enum.nc ~/nco/data/enum.cdl
// scp ~/nco/data/enum.cdl givre.ess.uci.edu:nco/data
// scp ~/nco/data/enum.nc dust.ess.uci.edu:/var/www/html/nco
// scp dust.ess.uci.edu:/var/www/html/nco/enum.nc ~/nco/data
// Round-trip test:
// ncgen -k netCDF-4 -b -o ~/nco/data/enum.nc ~/nco/data/enum.cdl;ncks --ntm ~/nco/data/enum.nc > ~/foo.cdl;ncgen -k netCDF-4 -b -o ~/foo.nc ~/foo.cdl
netcdf enum {
// 20180413: types declarations must be first element in group, and appear before everything else. Where is this documented?
types:
ubyte enum enum_ubyte_t {Clear=0,Cumulonimbus=1,Stratus=2,Missing=128};
short enum enum_sht_t {Small=-32000,Medium=0,Large=32767,missing_value=-32768};
uint enum enum_uint_t {Greek_Καλημέρα=0,Japanese_キャク=1,Chinese_龥=3};
// 20180522: Until today the base type of cargo was uint64. Changed it to uint because toolsUI 4.6.11 XML barfs on int64/uint64 enum because NcML lacks enum8 type. Once this changes can revert to uint64 (which works fine with C-library, NCO, and ncdump).
uint enum cargo {bags\ of\ the\ best\ Sligo\ rags = 1000000,
barrels\ of\ bones = 2000000,
bails\ of\ old\ nanny\ goats\'\ tails = 3000000,
barrels\ of\ stones = 4000000, dogs = 5000000, hogs = 6000000,
barrels\ of\ porter = 7000000,
sides\ of\ old\ blind\ horses\ hides = 8000000};
int enum daysofWeekType { Monday = 1, Tuesday = 2, Wednesday = 3, Thursday= 4, Friday = 5, Saturday = 6, Sunday = 7 } ;
ubyte enum special_characters_type {name\ with\ spaces=0,
name1_\,_with_comma=1,
name2\ \,\ with_comma=2,
lost_value=128};
dimensions:
lat=2;
lon=4;
rec=8;
variables:
enum_ubyte_t cld_flg(lon);
enum_ubyte_t cld_flg:_FillValue=Missing;
enum_sht_t size(lon);
enum_sht_t size:_FillValue=missing_value;
enum_uint_t language(lon);
cargo in_the_hold_of_the_Irish_Rover(lon);
cargo in_the_hold_of_the_Irish_Rover:_FillValue=hogs;
daysofWeekType days(lat,lon,rec);
// 20180515: netCDF bug _FillValue must be a member otherwise default does not work see https://github.com/Unidata/netcdf-c/issues/982
special_characters_type character_test(lon);
special_characters_type character_test:_FillValue=lost_value;
data:
cld_flg=Stratus,_,Cumulonimbus,Clear;
size=_,Small,Medium,Large;
language=Chinese_龥,Japanese_キャク,Greek_Καλημέρα,Greek_Καλημέρα;
in_the_hold_of_the_Irish_Rover=bags\ of\ the\ best\ Sligo\ rags,_,_,_;
days= Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, Monday,
Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, Monday,
Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, Monday,
Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, Monday,
Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, Monday,
Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, Monday,
Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, Monday,
Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, Monday,
Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, Monday,
Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, Monday;
character_test=name\ with\ spaces,name1_\,_with_comma,name2\ \,\ with_comma,_;
} //end root group
......@@ -126,7 +126,7 @@ if [ "${hrd_pth}" != 'No' ] && [ "${NCO_PATH_OVERRIDE}" != 'No' ]; then
export PATH="${PATH}:/glade/u/apps/ch/opt/ncl/6.4.0/intel/17.0.1/bin"
fi # !NCARG_ROOT
export PATH='/glade/u/home/zender/bin'\:${PATH}
export LD_LIBRARY_PATH='/glade/u/apps/ch/opt/netcdf/4.4.1.1/intel/17.0.1/lib:/glade/u/home/zender/lib'\:${LD_LIBRARY_PATH} ; ;;
export LD_LIBRARY_PATH='/glade/u/apps/ch/opt/netcdf/4.6.1/intel/17.0.1/lib:/glade/u/home/zender/lib'\:${LD_LIBRARY_PATH} ; ;;
cori* )
# 20160407: Separate cori from edison binary locations to allow for different system libraries
# 20160420: module load gsl, udunits required for non-interactive batch submissions by Wuyin Lin
......@@ -367,9 +367,9 @@ fi # !hrd_pth && !NCO_PATH_OVERRIDE
# fml_nm_XX_YYYYMM_YYYYMM.nc (examples include '' (default), 'control', 'experiment')
# By default, fml_nm=$caseid. Use fml_nm instead of $caseid to simplify long names, avoid overlap, etc.
# hst_nm: History volume name referring to the $hst_nm character sequence used in history tape names:
# caseid.mdl_nm.hst_nm.YYYY-MM.nc (examples include 'h0' (default, works for cam, clm), 'h1', 'h' (for cism), 'hist' (for mpascice, mpasseaice, mpaso)
# caseid.mdl_nm.hst_nm.YYYY-MM.nc (examples include 'h0' (default, works for cam, clm), 'h1', 'h' (for cism), 'hist' (for mpascice, mpasseaice, mpassi, mpaso)
# mdl_nm: Model name referring to the character sequence $mdl_nm used in history tape names:
# caseid.mdl_nm.h0.YYYY-MM.nc (examples include 'cam' (default), 'clm2', 'cam2', 'cism', 'mpascice', 'mpasseaice', 'mpaso', 'pop')
# caseid.mdl_nm.h0.YYYY-MM.nc (examples include 'cam' (default), 'clm2', 'cam2', 'cism', 'mpascice', 'mpasseaice', 'mpassi', 'mpaso', 'pop')
# nco_opt: String of options to pass-through to NCO, e.g.,
# '-D 2 -7 -L 1' for NCO debugging level 2, netCDF4-classic output, compression level 1
# '--no_tmp_fl -x' to skip temporary files, turn extraction into exclusion list
......@@ -457,13 +457,13 @@ inp_psn='No' # [sng] Input file list from positional arguments
inp_std='No' # [sng] Input file list from stdin
job_nbr=2 # [nbr] Job simultaneity for parallelism
lnk_flg='Yes' # [sng] Link E3SM/ACME-climo to AMWG-climo filenames
mdl_nm='cam' # [sng] Model name (e.g., 'cam', 'cam2', 'cice', 'cism', 'clm', 'clm2', 'ice', 'mpascice', 'mpasseaice', 'mpaso', 'ocn')
mdl_nm='cam' # [sng] Model name (e.g., 'cam', 'cam2', 'cice', 'cism', 'clm', 'clm2', 'ice', 'mpascice', 'mpasseaice', 'mpassi', 'mpaso', 'ocn')
mdl_typ='cesm' # [sng] Model type ('cesm', 'mpas') (for regridding)
mpi_flg='No' # [sng] Parallelize over nodes
nco_opt='--no_tmp_fl' # [sng] NCO options (e.g., '-7 -D 1 -L 1')
ncr_flg='No' # [sng] Incremental method
nd_nbr=1 # [nbr] Number of nodes
nm_typ='cesm' # [sng] Name type ('cesm', 'mpas', 'yyyymm', 'yyyy-mm', 'yyyy-mm-01') (for filenames)
nm_typ='cesm' # [sng] Name type ('cesm', 'mpas', 'yyyymm', 'yyyy-mm', 'yyyy-mm-01', 'yyyy-mm-01-00000') (for filenames)
no_ntv_tms='No' # [flg] Omit native-grid split timeseries
par_opt='' # [sng] Parallel options to shell
par_typ='bck' # [sng] Parallelism type
......@@ -862,7 +862,7 @@ let yr_nbr=${yr_end_rth}-${yr_srt_rth}+1
# Derived variables
out_nm=${caseid}
if [ "${caseid}" = 'hist' ] || [ "${mdl_nm}" = 'mpaso' ] || [ "${mdl_nm}" = 'mpascice' ] || [ "${mdl_nm}" = 'mpasseaice' ]; then
if [ "${caseid}" = 'hist' ] || [ "${mdl_nm}" = 'mpaso' ] || [ "${mdl_nm}" = 'mpascice' ] || [ "${mdl_nm}" = 'mpasseaice' ] || [ "${mdl_nm}" = 'mpassi' ]; then
mdl_typ='mpas'
nm_typ='mpas'
fi # !caseid
......@@ -872,15 +872,17 @@ if [ "${mdl_typ}" = 'mpas' ]; then
fi # !mdl_typ
# http://stackoverflow.com/questions/965053/extract-filename-and-extension-in-bash
# http://stackoverflow.com/questions/17420994/bash-regex-match-string
# Order and 'elif' ensures name matches only fullest rx
# NB: Order and 'elif' ensures name matches only fullest rx
if [[ "${caseid}" =~ ^(.*)([0-9][0-9][0-9][0-9][01][0-9].nc.?)$ ]]; then
nm_typ='yyyymm'
elif [[ "${caseid}" =~ ^(.*)([0-9][0-9][0-9][0-9]-[01][0-9]-01.nc.?)$ ]]; then
nm_typ='yyyy-mm-01'
elif [[ "${caseid}" =~ ^(.*)([0-9][0-9][0-9][0-9]-[01][0-9]-01-00000.nc.?)$ ]]; then
nm_typ='yyyy-mm-01-00000'
elif [[ "${caseid}" =~ ^(.*)([0-9][0-9][0-9][0-9]-[01][0-9].nc.?)$ ]]; then
nm_typ='yyyy-mm'
fi # !caseid
if [ "${nm_typ}" = 'yyyymm' ] || [ "${nm_typ}" = 'yyyy-mm-01' ] || [ "${nm_typ}" = 'yyyy-mm' ]; then
if [ "${nm_typ}" = 'yyyymm' ] || [ "${nm_typ}" = 'yyyy-mm' ] || [ "${nm_typ}" = 'yyyy-mm-01' ] || [ "${nm_typ}" = 'yyyy-mm-01-00000' ]; then
bs_nm="${BASH_REMATCH[1]}"
bs_nm="$(basename ${bs_nm})"
bs_nm="${bs_nm%.*}"
......@@ -1543,6 +1545,8 @@ if [ "${clm_flg}" = 'Yes' ]; then
printf "Filenames will be constructed with generic conventions as ${bs_nm}.YYYY-MM.${bs_sfx}\n"
elif [ "${nm_typ}" = 'yyyy-mm-01' ]; then
printf "Filenames will be constructed with generic conventions as ${bs_nm}.YYYY-MM-01.${bs_sfx}\n"
elif [ "${nm_typ}" = 'yyyy-mm-01-00000' ]; then
printf "Filenames will be constructed with generic conventions as ${bs_nm}.YYYY-MM-01-00000.${bs_sfx}\n"
elif [ ${inp_aut} = 'Yes' ]; then
printf "Input filenames will be constructed with CESM'ish or E3SM/ACME'ish conventions\n"
else # !nm_typ
......@@ -1600,6 +1604,8 @@ if [ "${clm_flg}" = 'Yes' ] && [ "${clm_md}" = 'mth' ]; then
fl_all="${fl_all} ${bs_nm}.${YYYY}-${MM}.${bs_sfx}"
elif [ ${nm_typ} = 'yyyy-mm-01' ]; then # Generate from caseid + YYYY-MM-01
fl_all="${fl_all} ${bs_nm}.${YYYY}-${MM}-01.${bs_sfx}"
elif [ ${nm_typ} = 'yyyy-mm-01-00000' ]; then # Generate from caseid + YYYY-MM-01-00000
fl_all="${fl_all} ${bs_nm}.${YYYY}-${MM}-01-00000.${bs_sfx}"
fi # !cesm
done # !yr
if [ ${dec_md} = 'scd' ] && [ ${MM} = '12' ]; then
......@@ -1616,6 +1622,8 @@ if [ "${clm_flg}" = 'Yes' ] && [ "${clm_md}" = 'mth' ]; then
fl_all="${fl_all} ${bs_nm}.${YYYY}-${MM}.${bs_sfx}"
elif [ ${nm_typ} = 'yyyy-mm-01' ]; then # Generate from caseid + YYYY-MM-01
fl_all="${fl_all} ${bs_nm}.${YYYY}-${MM}-01.${bs_sfx}"
elif [ ${nm_typ} = 'yyyy-mm-01-00000' ]; then # Generate from caseid + YYYY-MM-01-00000
fl_all="${fl_all} ${bs_nm}.${YYYY}-${MM}-01-00000.${bs_sfx}"
fi # !cesm
done # !yr
yyyy_clm_srt=${yyyy_clm_srt_dec}
......
......@@ -134,7 +134,7 @@ if [ "${hrd_pth}" != 'No' ] && [ "${NCO_PATH_OVERRIDE}" != 'No' ]; then
export PATH="${PATH}:/glade/u/apps/ch/opt/ncl/6.4.0/intel/17.0.1/bin"
fi # !NCARG_ROOT
export PATH='/glade/u/home/zender/bin'\:${PATH}
export LD_LIBRARY_PATH='/glade/u/apps/ch/opt/netcdf/4.4.1.1/intel/17.0.1/lib:/glade/u/home/zender/lib'\:${LD_LIBRARY_PATH} ; ;;
export LD_LIBRARY_PATH='/glade/u/apps/ch/opt/netcdf/4.6.1/intel/17.0.1/lib:/glade/u/home/zender/lib'\:${LD_LIBRARY_PATH} ; ;;
cori* )
# 20160407: Separate cori from edison binary locations to allow for different system libraries
# 20160420: module load gsl, udunits required for non-interactive batch submissions by Wuyin Lin
......@@ -216,7 +216,7 @@ fi # !hrd_pth && !NCO_PATH_OVERRIDE
# ncremap -a conserve -v FSNT -I ${DATA}/ne30/raw -s ${DATA}/grids/ne30np4_pentagons.091226.nc -d ${DATA}/dstmch90/dstmch90_clm.nc -O ~/rgr
# ls ${DATA}/essgcm14/essgcm14*cam*0007*.nc | ncremap -a conserve -M -d ${DATA}/dstmch90/dstmch90_clm.nc -O ~/rgr
# ncremap -a conserve -v FSNT -I ${DATA}/ne30/raw -s ${DATA}/grids/ne30np4_pentagons.091226.nc -d ${DATA}/dstmch90/dstmch90_clm.nc -O ~/rgr
# ncremap -v TSurfAir -g ${DATA}/grids/180x360_SCRIP.20150901.nc ${DATA}/hdf/AIRS.2014.10.01.202.L2.RetStd.v6.0.11.0.G14275134307.hdf ~/foo.nc
# ncremap -P airs -v TSurfAir -g ${DATA}/grids/180x360_SCRIP.20150901.nc ${DATA}/hdf/AIRS.2014.10.01.202.L2.RetStd.v6.0.11.0.G14275134307.hdf ~/airs_out.nc
# ncremap -v CloudFrc_A -i ${DATA}/hdf/AIRS.2002.08.01.L3.RetStd_H031.v4.0.21.0.G06104133732.hdf -g ${DATA}/grids/180x360_SCRIP.20150901.nc -o ~/foo.nc
# ncremap -i ${DATA}/hdf/MOD04_L2.A2000055.0005.006.2014307165927.hdf -g ${DATA}/grids/180x360_SCRIP.20150901.nc -o ~/foo.nc
# ncremap -i ${DATA}/hdf/OMI-Aura_L2-OMIAuraSO2_2012m1222-o44888_v01-00-2014m0107t114720.h5 -g ${DATA}/grids/180x360_SCRIP.20150901.nc -o ~/foo.nc
......
// -*-C++-*-
// Purpose: CDL file to generate netCDF4 test file for vlen types
// Created: 20180413 based on buggy.cdl
// Usage:
// NB: ncgen arguments depend on version:
// "-k netCDF-4" for netCDF >= 3.6.3, "-k hdf5" for netCDF < 3.6.3
// "-k netCDF-4 classic model" for netCDF >= 3.6.3, "-k hdf5-nc3" for netCDF < 3.6.3
// ncgen -k netCDF-4 -b -o ~/nco/data/vlen.nc ~/nco/data/vlen.cdl
// scp ~/nco/data/vlen.cdl givre.ess.uci.edu:nco/data
// scp ~/nco/data/vlen.nc dust.ess.uci.edu:/var/www/html/nco
// scp dust.ess.uci.edu:/var/www/html/nco/vlen.nc ~/nco/data
netcdf vlen {
types:
// Declare all base-types of vlen's stored in file
float(*) vlen_flt_t;
int(*) vlen_int_t;
short(*) vlen_sht_t;
char(*) vlen_chr_t;
uint64(*) vlen_uint64_t;
string(*) vlen_sng_t;
dimensions:
lat=2;
lon=4;
tm=10;
time=unlimited;
variables:
int one;
one:long_name="char attribute for one";
float two;
two:long_name="char attribute for two";
vlen_flt_t vlen_flt_2D(lat,time);
vlen_int_t vlen_int_scl;
vlen_int_scl:long_name="vlen with base type integer";
vlen_int_scl:number73=73;
vlen_int_scl:_FillValue={-999}; // vlen data MUST BE enclosed in braces
vlen_int_scl:number74=74;
vlen_flt_t vlen_int_scl:vlen_att_flt_1D={1,2,3,4,5,6,7},{8,nanf,10};
vlen_int_scl:flt_att_1D=1.0f,2.0f,3.0f,4.0f,5.0f,6.0f,7.0f,8.0f,nanf,10.0f;
vlen_int_t vlen_int_scl:vlen_att_int_scl={1,2,3,4,5,6,7};
vlen_int_t vlen_int_scl:vlen_att_int_1D={1,2,3,4,5,6,7},{8,9,10};
vlen_sht_t vlen_int_scl:vlen_att_sht_1D={1,2,3,4,5,6,7},{8,9,10};
vlen_int_scl:sht_att_1D=1s,2s,3s,4s,5s,6s,7s,8s,9s,10s;
vlen_uint64_t vlen_int_scl:vlen_att_uint64_1D={1,2,3,4,5,6,7},{8,9,10};
vlen_int_scl:uint64_att_1D=1ull,2ull,3ull,4ull,5ull,6ull,7ull,8ull,9ull,10ull;
char vlen_int_scl:char_att="character attribute";
float vlen_int_scl:flt_att=1.0;
string vlen_int_scl:sng_att="string attribute";
vlen_int_scl:_FillValue={-999};
vlen_int_t vlen_int_1D(lat);
vlen_int_1D:_FillValue={-999};
vlen_int_t vlen_int_scl_mss_val_1D;
vlen_int_scl_mss_val_1D:_FillValue={-999,-999}; // vlen data MUST BE enclosed in braces
vlen_flt_t vlen_flt_scl;
// 20180603: Investigate three _FillValue cases:
// A. If _FillValue is not manually assigned, ncgen translates CDL underscores to default _FillValue of base type = 9.96921e+36 for floats, which is expected and seems correct
// B. If _FillValue is manually assigned, and CDL data section explicitly uses numeric value(s) (rather than an underscore) then ncgen correctly identifies that numeric values as the _FillValue.
// C. For an underscore used in place of a single element within a VLEN, ncgen correctly uses default _FillValue of base type for the value of that element
vlen_flt_scl:_FillValue={-999};
vlen_flt_t vlen_flt_1D(lat);
vlen_flt_1D:long_name="vlen with base type float";
vlen_sng_t vlen_sng(lat);
vlen_int_t three_dmn_var_vlen(tm,lat,lon);
three_dmn_var_vlen:long_name="three dimensional record variable of type int";
three_dmn_var_vlen:units="watt meter-2";
three_dmn_var_vlen:_FillValue={-999};
data:
one=1;
two=2;
// vlen_flt_scl={-999,17,18,19};
// vlen_flt_scl={17,18,19};
vlen_flt_scl=_;
vlen_flt_2D={{1,2},{3,4}},{{5,6},{7,8}};
vlen_flt_1D={17,18,19},{1,2,3,4,5,6,7,8,9,10};
//vlen_int_scl={17,18,19};
vlen_int_scl=_;
vlen_int_1D=_,{1,2,3,4,5,6,7,8,9,10};
vlen_int_scl_mss_val_1D=_;
vlen_sng={"one","two","three"},{"four,five"};
three_dmn_var_vlen= _, {2}, {3}, {4}, {5}, {6}, {7}, {8},
{9,9}, {10}, {11}, {12}, {13}, {14}, {15}, {16},
{17}, {18,18}, {19}, {20}, {21}, {22}, {23}, {24},
{25}, {26}, {27,27}, {28}, {29}, {30}, {31}, {32},
{33}, {34}, {35}, {36,36}, {37}, {38}, {39}, {40},
{41}, {42}, {43}, {44}, {45,45}, {46}, {47}, {48},
{49}, {50}, {51}, {52}, {53}, {54,54,54,54}, {55}, {56},
{57}, {58}, {59}, {60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75}, {61}, {62}, {63},
{65}, {66}, {67}, {68}, {69}, {70}, {71,62,73,74}, {72},
_, {74}, {75}, {76}, {77}, {78}, {79}, {80,81,82,83,84,85};
} // end root group
nco (4.7.5-1~bpo9+1) stretch-backports; urgency=medium
* Rebuild for stretch-backports.
-- Bas Couwenberg <sebastic@debian.org> Thu, 19 Jul 2018 16:28:26 +0200
nco (4.7.5-1) unstable; urgency=medium
* New upstream release.
* Bump Standards-Version to 4.1.4, no changes.
* Strip trailing whitespace from control & rules files.
* Drop spelling-errors.patch, applied upstream.
-- Bas Couwenberg <sebastic@debian.org> Mon, 11 Jun 2018 07:38:34 +0200
nco (4.7.4-1~bpo9+1) stretch-backports; urgency=medium
* Rebuild for stretch-backports.
......
......@@ -18,7 +18,7 @@ Build-Depends: debhelper (>= 9),
libudunits2-dev,
libdap-dev,
texinfo
Standards-Version: 4.1.3
Standards-Version: 4.1.4
Vcs-Browser: https://salsa.debian.org/debian-gis-team/nco
Vcs-Git: https://salsa.debian.org/debian-gis-team/nco.gi -b stretch-backportst
Homepage: http://nco.sourceforge.net/
......@@ -33,4 +33,3 @@ Description: Command-line operators to analyze netCDF files
netCDF files as input, perform operations (e.g., averaging, hyperslabbing),
and produce a netCDF output file. NCO was originally designed to manipulate and
analyze climate data, though it works on any netCDF format datasets.
Description: Fix spelling errors.
* statment -> statement
Author: Bas Couwenberg <sebastic@debian.org>
Forwarded: https://github.com/nco/nco/pull/87
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1421,7 +1421,7 @@
2017-03-09 Henry Butowsky <henryb@hush.com>
- * Fix plain var NC_CHAR assign statment so if var exists in Input then shape is obtained from Input
+ * Fix plain var NC_CHAR assign statement so if var exists in Input then shape is obtained from Input
2017-03-08 Charlie Zender <zender@uci.edu>
@@ -2929,7 +2929,7 @@
2015-12-04 Henry Butowsky <henryb@hush.com>
- * Modify where statment such that the assign statment in where body is NOT missing value aware
+ * Modify where statement such that the assign statement in where body is NOT missing value aware
2015-12-04 Henry Butowsky <henryb@hush.com>
--- a/src/nco++/ncoGrammer.g
+++ b/src/nco++/ncoGrammer.g
@@ -103,7 +103,7 @@ statement:
#statement = #(#[EXPR,"EXPR"],#statement);
}
- // Define DEFDIM statment
+ // Define DEFDIM statement
// DEFDIMA (regular call - limited or unlimited ) DEFDIM(1)
// DEFDIMU (explicitly unlimited) DEFDIM(0)
| (def1:DEFDIMA^ |def2:DEFDIMU^ ) LPAREN! NSTRING COMMA! expr (COMMA! expr)? RPAREN! SEMI! {
@@ -1415,7 +1415,7 @@ static std::vector<std::string> lpp_vtr;
bunlimited =true;
} else
if(dCall==1 && var2){
- // nb var2 is in upper scope - defined at statment action start
+ // nb var2 is in upper scope - defined at statement action start
var2=nco_var_cnf_typ(NC_INT,var2);
(void)cast_void_nctype(NC_INT,&var2->val);
ityp=var2->val.ip[0];
@@ -3384,7 +3384,7 @@ var_sct *var_rhs;
bret=false;
if(vid->getType()==VAR_ID && vid->getFirstChild() && vid->getFirstChild()->getType()==LMT_LIST )
- err_prn(fnc_nm, "the \"where statement\" cannot handle a variable with limits on the Left-Hand-Side of an assign statment. Please remove the limts and try again\nThe variable involved is \""+ vid->getText()+"\"");
+ err_prn(fnc_nm, "the \"where statement\" cannot handle a variable with limits on the Left-Hand-Side of an assign statement. Please remove the limts and try again\nThe variable involved is \""+ vid->getText()+"\"");
//var_lhs=prs_arg->ncap_var_init(var_nm,true);
var_lhs=out(vid);
--- a/src/nco++/ncoTree.cpp
+++ b/src/nco++/ncoTree.cpp
@@ -576,7 +576,7 @@ int ncoTree::statements(ANTLR_USE_NAMES
bunlimited =true;
} else
if(dCall==1 && var2){
- // nb var2 is in upper scope - defined at statment action start
+ // nb var2 is in upper scope - defined at statement action start
var2=nco_var_cnf_typ(NC_INT,var2);
(void)cast_void_nctype(NC_INT,&var2->val);
ityp=var2->val.ip[0];
@@ -5120,7 +5120,7 @@ bool ncoTree::where_assign(ANTLR_USE_NA
bret=false;
if(vid->getType()==VAR_ID && vid->getFirstChild() && vid->getFirstChild()->getType()==LMT_LIST )
- err_prn(fnc_nm, "the \"where statement\" cannot handle a variable with limits on the Left-Hand-Side of an assign statment. Please remove the limts and try again\nThe variable involved is \""+ vid->getText()+"\"");
+ err_prn(fnc_nm, "the \"where statement\" cannot handle a variable with limits on the Left-Hand-Side of an assign statement. Please remove the limts and try again\nThe variable involved is \""+ vid->getText()+"\"");
//var_lhs=prs_arg->ncap_var_init(var_nm,true);
var_lhs=out(vid);
--- a/src/nco/nco_sld.c
+++ b/src/nco/nco_sld.c
@@ -896,7 +896,7 @@ nco_rgr_esmf /* [fnc] Regrid using ESMF
All of the following "abort()" statements could be replace "goto rgr_cln:" statements
gcc is fine with this, but it triggers clang "sometimes uninitialized" warnings
g++ (without -fpermissive) emits "jump to label" "crosses initialization" warnings
- when pointers are declared between the goto statment and the label statement
+ when pointers are declared between the goto statement and the label statement
Hence we abandon the false premise of recovery after ESMC errors, and just abort() */
abort();
} /* endif */
@@ -1304,7 +1304,7 @@ nco_rgr_esmf2 /* [fnc] Regrid using ESMF
All of the following "abort()" statements could be replace "goto rgr_cln:" statements
gcc is fine with this, but it triggers clang "sometimes uninitialized" warnings
g++ (without -fpermissive) emits "jump to label" "crosses initialization" warnings
- when pointers are declared between the goto statment and the label statement
+ when pointers are declared between the goto statement and the label statement
Hence we abandon the false premise of recovery after ESMC errors, and just abort() */
abort();
} /* endif */