Skip to content
Commits on Source (5)
......@@ -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.4-2) UNRELEASED; urgency=medium
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> Wed, 18 Apr 2018 20:26:31 +0200
-- Bas Couwenberg <sebastic@debian.org> Mon, 11 Jun 2018 07:38:34 +0200
nco (4.7.4-1) unstable; urgency=medium
......
Description: Fix spelling errors.
* statment -> statement
Author: Bas Couwenberg <sebastic@debian.org>
Forwarded: https://github.com/nco/nco/pull/87
Applied-Upstream: https://github.com/nco/nco/commit/a8166f06b7a3c1b44a286a1a44a6fdce69bd827b
--- 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 */
$Header$ -*-text-*-
The netCDF Operators NCO version 4.7.4 have hatched.
The netCDF Operators NCO version 4.7.5 have hatched.
http://nco.sf.net (Homepage, Mailing lists, Help)
http://github.com/nco (Source Code, Issues, Releases, Developers)
What's new?
Version 4.7.4 updates handling of the netCDF CDF5 bug, improves
filename sanitization, supports ESMF 7.1.0r regridding features,
handles non-atomic types more gracefully, and implements absolute
and relative paths for CF2-Group compliance.
Work on NCO 4.7.5 has commenced. Goals include printing some user
defined types, parallel weight generation by ncremap, and possibly
workarounds for using quotation marks with ncap2 in Windows.
Version 4.7.5 is primarily a bugfix release for a single issue with
ncremap. Version 4.7.4 inadvertently introduced a bug that mainly
affects regridding of ALM/CLM/CTSM/ELM land model data that contains
"hidden" (unused) dimensions. The other new feature is that ncclimo
automatically handles MPAS Seaice model output named with the new
names (mpassi) and new date convention, yyyy-mm-01-00000. If these
fixes/features do not affect you there may be no reason to upgrade,
yet see below for other minor new features you may want.
Work on NCO 4.8.0 has commenced "under the hood". Printing of netCDF4
user-defined types ENUM and VLEN is ready now (though unsupported)
with the --ntm flag. 4.8.0 will contain the finished version of that,
progress on parallel weight generation by ncremap, and possibly a
workaround for using quotation marks with ncap2 in Windows.
Enjoy,
Charlie
NEW FEATURES (full details always in ChangeLog):
A. netCDF 4.6.1 fixes the CDF5 bug. Yay!
A. ncclimo accepts mpassi in place of mpascice, mpasseaice, and
accepts new MPAS output filenames of form yyyy-mm-01-00000
ncclimo -s 2 -e 3 -m mpassi -i drc_in -o drc_out
http://nco.sf.net/nco.html#ncclimo
B. ncap2 allows optional scale_factor/add_offset arguments to its
pack() method for those who wish to specify their own packing
parameters. This override can ensure that multiple files use the
same packing parameters.
ncap2 -s 'var_pck=pack(var,-0.001,40.0)' in.nc out.nc
http://nco.sf.net/nco.html#ncap2_mth
C. NCO's security whitelist allows an extended character set when the
input file explicitly invokes the DAP4 protocol (e.g.,
dap4://foo.com/in.nc). This allows DAP4 input to utilize the full
set of constraint expressions.
http://nco.sf.net/nco.html#wht_lst
D. XML printing now includes the "ncml:" prefix on most tags.
This aligns NCO XML with XML produced by toolsUI version 4.6.11,
the latest (AFAICT) netCDF Java library. If this change bothers
you or breaks your XML workflow, let us know and we can make it
optional.
http://nco.sf.net/nco.html#xml
E. Repeated notice: netCDF 4.6.1 fixes the CDF5 bug. Yay!
We STRONGLY recommend that CDF5 users upgrade to netCDF 4.6.1.
NCO error messages and HINTs have been updated to better describe
the best practices to identify and avoid this nasty bug.
http://nco.sf.net#bug_cdf5
B. NCO supports absolute and relative paths to out-of-group (OOG)
variables in CF attributes as per CF2-Group draft specification:
https://docs.google.com/document/d/1KK6IZ2ZmpaUTVgrw-GlFd6almppjvGz6D7nxVTO3BtI/edit
This feature completes NCO support for the CF2-Group extension.
Sentinel-5P TROPOMI datasets, for example, require this feature.
ncks -O -v aerosol_index_340_380 ~/S5P.nc
Thanks to ESA, NILU, and KNMI folks, especially Maarten Schmidt,
for reporting this issue.
C. ncremap supports three new features of ESMF 7.1.0r: a second-order
conservative regridding algorithm, extrapolation methods for
unmapped gridcells, and degenerate source gridcells.
Each of these new features is documented in the manual.
Their invocation forms are as expected, e.g.:
ncremap -a conserve2nd -d dst.nc in.nc out.nc
ncremap --xtr_mth=idavg -d dst.nc in.nc out.nc
These two options _require_ ESMF 7.1.0r or later.
ncremap does not set the ESMF_RegridWeightGen --ignore_degenerate
option by default, since it is new and would break workflows on
installations that upgraded NCO but not ESMF (this is common).
However, ERWG 7.1.0r requires --ignore_degenerate to successfully
regrid some datasets (e.g., CICE) that previous ERWG versions
handle fine. Hence ncremap 4.7.4 may error on such datasets.
The workaround (with ESMF 7.1.0r) is to explicitly pass the base
ERWG options with ncremap's --esmf_opt option:
ncremap --esmf_opt='--ignore_unmapped --ignore_degenerate' ...
http://nco.sf.net/nco.html#ncremap
D. ncremap guesses the unstructured dimension is first dimension with
size n_a in input map file src_grid_dims[0]. Previously ncremap
required that the unstructured dimension, if any, be pre-stored in
an internal database of common dimension names, or be specified on
the command line. Now, if neither of these is done, ncremap tries
the first dimension in the input data file with the same size that
the supplied input mapping file, if any, expects.
ncremap -m map.nc unstructured.nc out.nc
http://nco.sf.net/nco.html#ncremap
Thanks to Philip Cameron-Smith for suggesting this feature.
E. Add "gridcell" to ncremap database of unstructured dimensions.
This can help when regridding some CMIP6 boundary datasets.
This is a less elegant solution than, though comlementary to,
PJCS's suggestion above.
F. ncap2 where() terminates if the LHS variable in the assignment
statement is a hyperslab. Previously where() ignored LHS
hyperslabs and the results confused users. The manual now clarifies
how to use where() with hyperslabs:
http://nco.sf.net/nco.html#where
G. Add "elm" and "ctsm" as prc_typ synonyms to "alm" and "clm" in
processing type options passed to ncremap -P.
H. Add "mpasseaice" as mdl_nm synonym to "mpascice" in model name
option passed to ncclimo -m.
BUG FIXES:
A. Skip-over rather than fail when printing user-defined types.
Sentinel-5P TROPOMI datasets, for example, require this feature.
A. ncremap fixes the algorithm that identifies unstructured dimensions
to now check that size of candidates matches the size expected by
the mapping file. Failures then fall-back to PJCS mechanism of
searching for dimension with expected size. This fixes a bug
introduced in 4.7.4 where "hidden" (unused) dimensions can
supercede "visible" dimensions and crash the regridder.
Thanks to Sterling Baldwin for reporting this issue.
Full release statement at http://nco.sf.net/ANNOUNCE
......@@ -93,9 +73,9 @@ KNOWN PROBLEMS DUE TO NCO:
This section of ANNOUNCE reports and reminds users of the
existence and severity of known, not yet fixed, problems.
These problems occur with NCO 4.7.4 built/tested under
MacOS 10.13.2 with netCDF 4.4.1.1 on HDF5 1.10.1 and with
Linux with netCDF 4.6.2-development (20180315) on HDF5 1.8.19.
These problems occur with NCO 4.7.5 built/tested under
MacOS 10.13.4 with netCDF 4.4.1.1 on HDF5 1.10.2 and with
Linux with netCDF 4.6.2-development (20180515) on HDF5 1.8.19.
A. NOT YET FIXED (NCO problem)
Correctly read arrays of NC_STRING with embedded delimiters in ncatted arguments
......