[Git][debian-gis-team/nco][master] 5 commits: New upstream version 5.2.1

Bas Couwenberg (@sebastic) gitlab at salsa.debian.org
Mon Feb 19 04:53:32 GMT 2024



Bas Couwenberg pushed to branch master at Debian GIS Project / nco


Commits:
9f4d5c9d by Bas Couwenberg at 2024-02-19T05:44:41+01:00
New upstream version 5.2.1
- - - - -
f1d0a589 by Bas Couwenberg at 2024-02-19T05:45:01+01:00
Update upstream source from tag 'upstream/5.2.1'

Update to upstream version '5.2.1'
with Debian dir dea4eb7a9dafd6fe9cb427195d0827ff5b85ed29
- - - - -
277b3b9a by Bas Couwenberg at 2024-02-19T05:45:13+01:00
New upstream release.

- - - - -
97b150c3 by Bas Couwenberg at 2024-02-19T05:46:24+01:00
Drop shell-script-fails-syntax-check.patch, applied upstream.

- - - - -
102536a2 by Bas Couwenberg at 2024-02-19T05:46:35+01:00
Set distribution to unstable.

- - - - -


19 changed files:

- bld/nco.spec
- bld/nco_dst.pl
- configure
- configure.ac
- configure.eg
- data/ncclimo
- data/ncremap
- debian/changelog
- − debian/patches/series
- − debian/patches/shell-script-fails-syntax-check.patch
- doc/ANNOUNCE
- doc/ChangeLog
- doc/VERSION
- doc/debian.txt
- doc/index.shtml
- doc/nco.texi
- src/nco/nco.h
- src/nco/nco_flt.c
- src/nco/nco_scm.c


Changes:

=====================================
bld/nco.spec
=====================================
@@ -108,6 +108,9 @@ fi
 # %{_libdir}/libnco++.so
 
 %changelog
+* Sun Feb 18 2024 Charlie Zender <zender at uci.edu> - 5.2.1-1
+- new upstream 5.2.1
+
 * Fri Feb 16 2024 Charlie Zender <zender at uci.edu> - 5.2.0-1
 - new upstream 5.2.0
 


=====================================
bld/nco_dst.pl
=====================================
@@ -5,20 +5,20 @@
 
 # Usage:
 # Export tagged, public versions
-# /usr/bin/scp ${DATA}/nco-5.2.0.tar.gz zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
-
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln nco-5.2.0 # Build, do not release on SF
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --sf nco-5.2.0 # Build, release on SF
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --nst_all nco-5.2.0 # Install, do not build
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --nst_all nco-5.2.0 # Build and install
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_cnt nco-5.2.0
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_prs nco-5.2.0
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cgd_cnt nco-5.2.0
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cray_prs nco-5.2.0
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --bbl_cnt nco-5.2.0
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --blk_cnt nco-5.2.0
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --dat_cnt nco-5.2.0
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --ute_prs nco-5.2.0
+# /usr/bin/scp ${DATA}/nco-5.2.1.tar.gz zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
+
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln nco-5.2.1 # Build, do not release on SF
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --sf nco-5.2.1 # Build, release on SF
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --nst_all nco-5.2.1 # Install, do not build
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --nst_all nco-5.2.1 # Build and install
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_cnt nco-5.2.1
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_prs nco-5.2.1
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cgd_cnt nco-5.2.1
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cray_prs nco-5.2.1
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --bbl_cnt nco-5.2.1
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --blk_cnt nco-5.2.1
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --dat_cnt nco-5.2.1
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --ute_prs nco-5.2.1
 
 # 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-5.2.0/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-5.2.1/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


=====================================
configure
=====================================
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.72 for NCO netCDF Operators 5.2.0.
+# Generated by GNU Autoconf 2.72 for NCO netCDF Operators 5.2.1.
 #
 # Report bugs to <nco-bugs at lists.sourceforge.net>.
 #
@@ -616,8 +616,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='NCO netCDF Operators'
 PACKAGE_TARNAME='nco'
-PACKAGE_VERSION='5.2.0'
-PACKAGE_STRING='NCO netCDF Operators 5.2.0'
+PACKAGE_VERSION='5.2.1'
+PACKAGE_STRING='NCO netCDF Operators 5.2.1'
 PACKAGE_BUGREPORT='nco-bugs at lists.sourceforge.net'
 PACKAGE_URL=''
 
@@ -1424,7 +1424,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 5.2.0 to adapt to many kinds of systems.
+'configure' configures NCO netCDF Operators 5.2.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1496,7 +1496,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of NCO netCDF Operators 5.2.0:";;
+     short | recursive ) echo "Configuration of NCO netCDF Operators 5.2.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1668,7 +1668,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-NCO netCDF Operators configure 5.2.0
+NCO netCDF Operators configure 5.2.1
 generated by GNU Autoconf 2.72
 
 Copyright (C) 2023 Free Software Foundation, Inc.
@@ -2447,7 +2447,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 5.2.0, which was
+It was created by NCO netCDF Operators $as_me 5.2.1, which was
 generated by GNU Autoconf 2.72.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -4366,7 +4366,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='nco'
- VERSION='5.2.0'
+ VERSION='5.2.1'
 
 
 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -22890,7 +22890,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 5.2.0, which was
+This file was extended by NCO netCDF Operators $as_me 5.2.1, which was
 generated by GNU Autoconf 2.72.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -22958,7 +22958,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-NCO netCDF Operators config.status 5.2.0
+NCO netCDF Operators config.status 5.2.1
 configured by $0, generated by GNU Autoconf 2.72,
   with options \\"\$ac_cs_config\\"
 


=====================================
configure.ac
=====================================
@@ -56,7 +56,7 @@
 # 20170808: Choose between traditional version and Git-based version
 # If Git, consider that Linux dynamic libraries will have full messy name, MacOS will not
 # https://stackoverflow.com/questions/43526939/how-to-insert-git-based-version-in-autoconf-managed-project
-AC_INIT([NCO netCDF Operators],[5.2.0],[nco-bugs at lists.sourceforge.net],[nco])
+AC_INIT([NCO netCDF Operators],[5.2.1],[nco-bugs at lists.sourceforge.net],[nco])
 
 # Print GNU copyright in configure script
 AC_COPYRIGHT


=====================================
configure.eg
=====================================
@@ -333,15 +333,16 @@ scp nco.configure.foo nco.config.log.foo nco.libtool.foo nco.make.foo dust.ess.u
 # Latest sysadmin-compiled module usage: module load netcdf-c/4.7.4 nco/4.9.3 # 20201208
 # Personal recipe last modified: 20221019 (link -lantlr from MY_LIB_DIR not HOME/lib)
 # Personal recipe last borken: 20231129 /gpfs/alpine/cli115/proj-shared/e3sm-unified/base/envs/e3sm_unified_1.9.1_login/lib/libnetcdf.so: undefined reference to `H5Pset_dxpl_mpio'
+# ../src/nco/nco_flt.c: In function ‘nco_qnt_mtd’: error: too many decimal points in number in expansion of macro ‘NCO_VERSION’
 # Personal recipe last successful: 20230512
 export LINUX_CC='gcc -std=c99 -pedantic -D_DEFAULT_SOURCE'
 export LINUX_CXX='g++ -std=c++11'
 export LINUX_FC='gfortran'
-export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/gpfs/alpine/proj-shared/cli115/e3sm-unified/base/envs/e3sm_unified_latest/lib
-export NETCDF_ROOT=/gpfs/alpine/proj-shared/cli115/e3sm-unified/base/envs/e3sm_unified_latest
-export PATH=${PATH}:/gpfs/alpine/proj-shared/cli115/e3sm-unified/base/envs/e3sm_unified_latest/bin
+export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lustre/orion/cli115/world-shared/e3sm-unified/base/envs/e3sm_unified_latest/lib
+export NETCDF_ROOT=/lustre/orion/cli115/world-shared/e3sm-unified/base/envs/e3sm_unified_latest
+export PATH=${PATH}:/lustre/orion/cli115/world-shared/e3sm-unified/base/envs/e3sm_unified_latest/bin
 cd ~/nco;git reset --hard origin/master
-cd ~/nco/bld;make ANTLR_ROOT=${HOME} ANTLR_LIB=${MY_LIB_DIR} NETCDF_ROOT='/gpfs/alpine/proj-shared/cli115/e3sm-unified/base/envs/e3sm_unified_latest' OPTS=D OMP=Y allinone;cd -
+cd ~/nco/bld;make ANTLR_ROOT=${HOME} ANTLR_LIB=${MY_LIB_DIR} NETCDF_ROOT='/lustre/orion/cli115/world-shared/e3sm-unified/base/envs/e3sm_unified_latest' OPTS=D OMP=Y allinone;cd -
 # !Andes
 
 # gcc/g++ Zender uses this to develop/install/update netCDF4-enabled NCO in personal directories on blues/anvil
@@ -473,7 +474,8 @@ cd ~/nco/bld;make ANTLR_ROOT=/glade/u/apps/derecho/23.06/opt GSL_ROOT='/glade/u/
 # Latest ticket to build NCO: 381695 on 20180413
 # Latest sysadmin-compiled module usage: module load netcdf-c/4.7.4 nco/5.0.1 # 20230831
 # Personal recipe last modified: 20230831 (original version)
-# Personal recipe last borken: N/A
+# Personal recipe last borken: 20240216
+# ../src/nco/nco_flt.c: In function ‘nco_qnt_mtd’: error: too many decimal points in number in expansion of macro ‘NCO_VERSION’
 # Personal recipe last successful: 20231129
 module purge
 export LINUX_CC='gcc -std=c99 -pedantic -D_DEFAULT_SOURCE'


=====================================
data/ncclimo
=====================================
@@ -1802,7 +1802,7 @@ if [ "${csn_flg}" = 'Yes' ]; then
 fi # !csn_flg
     
 if [ "${mpi_flg}" = 'Yes' ]; then
-    elif [ -n "${PBS_NODEFILE}" ]; then 
+    if [ -n "${PBS_NODEFILE}" ]; then 
 	nd_fl="${PBS_NODEFILE}"
     elif [ -n "${SLURM_NODELIST}" ]; then 
 	# SLURM returns compressed lists (e.g., "nid00[076-078,559-567]")


=====================================
data/ncremap
=====================================
@@ -2227,13 +2227,11 @@ if [ "${prc_typ}" = 'mpaso' ] || [ "${prc_typ}" = 'mpasocean' ]; then
 fi # !mpaso
 
 if [ "${mpi_flg}" = 'Yes' ]; then
-    if [ -n "${COBALT_NODEFILE}" ]; then 
-	nd_fl="${COBALT_NODEFILE}"
-    elif [ -n "${PBS_NODEFILE}" ]; then 
+    if [ -n "${PBS_NODEFILE}" ]; then 
 	nd_fl="${PBS_NODEFILE}"
     elif [ -n "${SLURM_NODELIST}" ]; then 
 	# SLURM returns compressed lists (e.g., "nid00[076-078,559-567]")
-	# Convert this to file with uncompressed list (like Cobalt, PBS)
+	# Convert this to file with uncompressed list (like PBS)
 	# http://www.ceci-hpc.be/slurm_faq.html#Q12
 	# Ensure file is in writable directory
 	nd_fl="${drc_out}/${spt_nm}.slurm_nodelist.pid${spt_pid}.tmp"
@@ -2241,7 +2239,7 @@ if [ "${mpi_flg}" = 'Yes' ]; then
 	echo ${nd_lst} > ${nd_fl}
     else
 	echo "${spt_nm}: ERROR MPI master process unable to find node-list for distributing jobs"
-	echo "${spt_nm}: ${spt_nm} uses first node-list found in \$COBALT_NODEFILE, \$PBS_NODEFILE, or \$SLURM_NODELIST"
+	echo "${spt_nm}: ${spt_nm} uses first node-list found in \$PBS_NODEFILE or \$SLURM_NODELIST"
 	echo "${spt_nm}: However, none of these environment variables are set so there is no node-list for distributing MPI jobs"
 	echo "${spt_nm}: HINT: Requesting MPI-parallelism (i.e., invoking ${spt_nm} with \"-p mpi\") in a non-MPI environment will trigger this error. Use \"-p mpi\" only when one of the preceding schedulers has allocated (for interactive use) or will allocate (for non-interactive use) the compute nodes. Otherwise use the default background parallelism (use \"-p bck\" or omit the option completely) or use serial mode (use \"-p serial\"). See http://nco.sf.net/nco.html#par_typ for more information on parallelism."
 	exit 1
@@ -2296,7 +2294,7 @@ if [ "${mpi_flg}" = 'Yes' ]; then
 #		    cmd_mpi[${fl_idx}]="mpiexec_mpt dplace ${nd_nm[$((${fl_idx} % ${nd_nbr}))]} -n 1" ; ;; # PBSPro
 		    cmd_mpi[${fl_idx}]="mpirun ${nd_nm[$((${fl_idx} % ${nd_nbr}))]} -n 1" ; ;; # PBSPro
 		* )
-		    cmd_mpi[${fl_idx}]="mpirun -H ${nd_nm[$((${fl_idx} % ${nd_nbr}))]} -n 1" ; ;; # Other (Cobalt, PBS)
+		    cmd_mpi[${fl_idx}]="mpirun -H ${nd_nm[$((${fl_idx} % ${nd_nbr}))]} -n 1" ; ;; # Other (PBS)
 #		    cmd_mpi[${fl_idx}]="mpirun -H ${nd_nm[$((${fl_idx} % ${nd_nbr}))]} -npernode 1 -n 1" ; ;; # Other
 	    esac # !HOSTNAME
 	    case "${HOSTNAME}" in 


=====================================
debian/changelog
=====================================
@@ -1,3 +1,10 @@
+nco (5.2.1-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Drop shell-script-fails-syntax-check.patch, applied upstream.
+
+ -- Bas Couwenberg <sebastic at debian.org>  Mon, 19 Feb 2024 05:46:26 +0100
+
 nco (5.2.0-1) unstable; urgency=medium
 
   * New upstream release.


=====================================
debian/patches/series deleted
=====================================
@@ -1 +0,0 @@
-shell-script-fails-syntax-check.patch


=====================================
debian/patches/shell-script-fails-syntax-check.patch deleted
=====================================
@@ -1,19 +0,0 @@
-Description: Fix shell syntax.
- $ bash -n /usr/bin/ncclimo
- /usr/bin/ncclimo: line 1805: syntax error near unexpected token `elif'
- /usr/bin/ncclimo: line 1805: `    elif [ -n "${PBS_NODEFILE}" ]; then '
-Author: Bas Couwenberg <sebastic at debian.org>
-Forwarded: https://github.com/nco/nco/pull/279
-Applied-Upstream: https://github.com/nco/nco/commit/d643031961386e27155ac5590faa5bbb5ac8c626
-
---- a/data/ncclimo
-+++ b/data/ncclimo
-@@ -1802,7 +1802,7 @@ if [ "${csn_flg}" = 'Yes' ]; then
- fi # !csn_flg
-     
- if [ "${mpi_flg}" = 'Yes' ]; then
--    elif [ -n "${PBS_NODEFILE}" ]; then 
-+    if [ -n "${PBS_NODEFILE}" ]; then 
- 	nd_fl="${PBS_NODEFILE}"
-     elif [ -n "${SLURM_NODELIST}" ]; then 
- 	# SLURM returns compressed lists (e.g., "nid00[076-078,559-567]")


=====================================
doc/ANNOUNCE
=====================================
@@ -1,22 +1,17 @@
 $Header$ -*-text-*-
 
-netCDF Operators NCO version 5.2.0 puffs its feathers
+netCDF Operators NCO version 5.2.1 sheepishly steps forward
 
 http://nco.sf.net (Homepage, Mailing lists, Help)
 http://github.com/nco/nco (Source Code, Issues, Releases)
 
 What's new?
-Version 5.2.0 includes four major new features and various fixes.
-The features: 1) All operators append draft CF Convention behavior
-for metadata to encode lossy compression. 2) ncclimo timeseries mode
-now supports all input methods (including automatic filename
-generation) long-supported by climo mode. 3) ncremap Make-Weight-File
-(MWF) mode has been revamped and now support specifiable lists of
-algorithms. Last but not least, 4) ncks --s1d now converts CLM/ELM
-restart files from their native, inscrutable sparse 1-D (S1D) format
-to normal-looking files, without loss of information.
-
-Work on NCO 5.2.1 has commenced and aims to add support for Zarr S3 
+Version 5.2.1 fixes an issue with ncremap and ncclimo in MPI mode.
+Another small fix to enables GCC compilation in pedantic mode.
+No new features are implemented, but it was too late to recall 5.2.0.
+My apologies and thanks to the package maintainers.
+
+Work on NCO 5.2.2 has commenced and aims to add support for Zarr S3 
 stores, and to polish support for new codecs..
 
 Enjoy,
@@ -24,6 +19,8 @@ Charlie
 
 NEW FEATURES (full details always in ChangeLog):
 
+[These just repeat the changes in 5.2.0 since most peopld never used it]
+
 A. ncks can now help analyze initial condition and restart datasets
 produced by the E3SM ELM and CESM CLM/CTSM land-surface models.
 Whereas gridded history datasets from these ESMs use a standard


=====================================
doc/ChangeLog
=====================================
@@ -1,8 +1,25 @@
+2024-02-18  Charlie Zender  <zender at uci.edu>
+
+	* NCO 5.2.1 release procedure:
+	cd ~/nco;git commit -a -m 'Version 5.2.1: Shabu Shabu';git push
+	git tag -a 5.2.1 -m 'Functionally identical to 5.2.0 (except compiles with bld/Makefile, fixes ncclimo/ncremap syntax)';git push --tags
+
+2024-02-17  Charlie Zender  <zender at uci.edu>
+
+	* NCO 5.2.1-alpha01 release procedure:
+	cd ~/nco;git commit -a -m 'Version 5.2.1-alpha01: Engoron';git push
+	git tag -a 5.2.1-alpha01 -m 'Functionally identical to 5.2.0 (except compiles with bld/Makefile, fixes ncclimo/ncremap syntax)';git push --tags
+
+	* ncclimo/ncremap: fix script errors caused during deprecation of COBALT batch scheduler
+
 2024-02-16  Charlie Zender  <zender at uci.edu>
 
+	* nco_qnt_mtd() implement workaround to compiler-dependent behavior at tokenization
+	Prevents error on too many decimal points in number in expansion of macro ‘NCO_VERSION’	when version is purely numeric, e.g., 5.2.0
+
 	* NCO 5.2.0 release procedure:
 	cd ~/nco;git commit -a -m 'Version 5.2.0: Fast Car';git push
-	git tag -a 5.2.0-beta01 -m 'all: cf lsy mtd; ncclimo: tms inp_aut, fix inp_glb, fix djf-mode clm_bnd; ncclimo/ncremap: dpr cheyenne+ALCF mch, spp derecho, upd perlmutter; ncks: --chk_bnd, S1D works; ncremap: TR --mono*, ncoidw, MWF alg_lst, trfv2';git push --tags
+	git tag -a 5.2.0 -m 'all: cf lsy mtd; ncclimo: tms inp_aut, fix inp_glb, fix djf-mode clm_bnd; ncclimo/ncremap: dpr cheyenne+ALCF mch, spp derecho, upd perlmutter; ncks: --chk_bnd, S1D works; ncremap: TR --mono*, ncoidw, MWF alg_lst, trfv2';git push --tags
 
 	* Add lossy_compression to list of attributes that cause variable to be treated as associated coordinate
 


=====================================
doc/VERSION
=====================================
@@ -1 +1 @@
-5.2.0
+5.2.1


=====================================
doc/debian.txt
=====================================
@@ -29,18 +29,18 @@ apt-get install dh-make debhelper devscripts fakeroot gnupg debian-policy develo
 
 2. Debian build procedure recommends placing entire package source in
    subdirectory of main package. 
-   For starters, we wish to create .debs of tagged releases, e.g., nco-5.2.0
-   First we create a clean source distribution of nco and place it in nco-5.2.0
+   For starters, we wish to create .debs of tagged releases, e.g., nco-5.2.1
+   First we create a clean source distribution of nco and place it in nco-5.2.1
    Until we know what is necessary, however, we just copy a snapshot
    
    2.1 Clean all build files from development directory
 
 cd ~/nco;make distclean;cd bld;make clean;cd ~
 tar cvzf ./nco/nco.tar.gz ./nco/*
-cd ~/nco;tar xvzf nco.tar.gz;mv nco nco-5.2.0
-/bin/rm nco.tar.gz;tar cvzf nco-5.2.0.tar.gz ./nco-5.2.0/*
-cd ~/nco/nco-5.2.0
-dh_make -e zender at uci.edu -f ../nco-5.2.0.tar.gz
+cd ~/nco;tar xvzf nco.tar.gz;mv nco nco-5.2.1
+/bin/rm nco.tar.gz;tar cvzf nco-5.2.1.tar.gz ./nco-5.2.1/*
+cd ~/nco/nco-5.2.1
+dh_make -e zender at uci.edu -f ../nco-5.2.1.tar.gz
 
     2.2 The preceding steps created template debian files for a .deb,
     Those files now reside in ~/nco/debian.
@@ -55,7 +55,7 @@ dh_make -e zender at uci.edu -f ../nco-5.2.0.tar.gz
    from previous build
 
    cd ~/nco;/bin/rm *.gz
-   cd ~/nco/nco-5.2.0
+   cd ~/nco/nco-5.2.1
    dpkg-buildpackage -rfakeroot > foo 2>&1
    dpkg-buildpackage -rsudo > foo 2>&1
 
@@ -84,33 +84,33 @@ patch -p0 < nco_X.Y.Z-3.diff   # Patch destination with Debian diff
    make tags
 # Put cute version-specific string in nco_ctl.c:nco_nmn_get()
 # Install correct version numbers before updating Debian
-# tags-query replace 5.2.0 with X.Y.Z+1
+# tags-query replace 5.2.1 with X.Y.Z+1
 # If tags-query replace does not work, be sure to manually change
 # versions in configure.ac, debian/files, doc/ANNOUNCE, doc/debian.txt,
 # doc/index.shtml, doc/nco.texi, bld/nco_dst.pl, doc/VERSION
 # 20141201: Change NCO_VERSION_PATCH in src/nco.h!!!!!!!!!!!!!!!!!!!!!!
-   cd ~/nco/debian;dch -b --force-distribution --distribution=unstable -v 5.2.0-1 # Update changelog (-b forces this version number)
+   cd ~/nco/debian;dch -b --force-distribution --distribution=unstable -v 5.2.1-1 # Update changelog (-b forces this version number)
    emacs ~/nco/bld/nco.spec # Update changelog
 # For unknown reason rules file may lose its executable bit
    chmod a+x ~/nco/debian/rules
 # Rebuild autotools so new version # propagates
    cd ~/nco;aclocal;autoheader;automake --foreign;autoconf
 # Save all files in emacs before tagging
-   ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln nco-5.2.0
+   ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln nco-5.2.1
 # Upload tarball to SF https://sourceforge.net/projects/nco/files 
-   cd;scp dust.ess.uci.edu:/var/www/html/nco/src/nco-5.2.0.tar.gz .
+   cd;scp dust.ess.uci.edu:/var/www/html/nco/src/nco-5.2.1.tar.gz .
 
 7. Ubuntu PPA
 https://help.launchpad.net/Packaging/PPA
-dput NCO nco_5.2.0-2~ppa1_source.changes
+dput NCO nco_5.2.1-2~ppa1_source.changes
 sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com
 
 # Location of build diagnostics for mentors to help 
-http://dust.ess.uci.edu/nco/src/nco_5.2.0-1.dpkg-buildpackage.txt
-http://dust.ess.uci.edu/nco/src/nco_5.2.0-1.dsc
-http://dust.ess.uci.edu/nco/src/nco_5.2.0-1_i386.changes
-http://dust.ess.uci.edu/nco/src/nco_5.2.0-1_i386.deb
-http://dust.ess.uci.edu/nco/src/nco_5.2.0.orig.tar.gz
+http://dust.ess.uci.edu/nco/src/nco_5.2.1-1.dpkg-buildpackage.txt
+http://dust.ess.uci.edu/nco/src/nco_5.2.1-1.dsc
+http://dust.ess.uci.edu/nco/src/nco_5.2.1-1_i386.changes
+http://dust.ess.uci.edu/nco/src/nco_5.2.1-1_i386.deb
+http://dust.ess.uci.edu/nco/src/nco_5.2.1.orig.tar.gz
 
 # Becoming a Debian developer
 http://www.debian.org/devel/join/newmaint
@@ -164,31 +164,31 @@ Matej Vela <vela at debian.org>, Daniel Baumann <daniel at debian.org>, Warren Turkal
 # export LD_LIBRARY_PATH=/usr/lib:/lib:/usr/X11R6/lib
 # sudo aptitude install antlr bison flex gsl-bin libgsl0-dev libantlr-dev netcdf-bin libnetcdfc7 libnetcdf-dev texinfo libcurl4-gnutls-dev libexpat1-dev libxml2-dev udunits-bin libudunits2-0 libudunits2-dev
 cd ~/nco;cvc
-sudo /bin/rm -rf ${DATA}/nco-5.2.0 ${DATA}/nco_5.2.0* ${DATA}/debian # Cleanup last build. sudo necessary for removal because dpkg-buildpackage uses sudo?
-# cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-5.2.0-1 -d nco-5.2.0 nco # Export based on tag
-cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -D "1 second ago" -d nco-5.2.0 nco # Export most recent
-tar cvzf ./nco_5.2.0.orig.tar.gz --exclude='nco-5.2.0/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-5.2.0 
-/bin/rm -rf ${DATA}/nco-5.2.0 # Remove cvs-exported directory
-tar xvzf ./nco_5.2.0.orig.tar.gz # Untar to get directory without excluded files
-mkdir -p ${DATA}/nco-5.2.0/debian/source;cd ~/nco/debian;/bin/cp changelog compat control convert copyright doc-base files info rules ${DATA}/nco-5.2.0/debian;cd ~/nco/debian/source;/bin/cp format ${DATA}/nco-5.2.0/debian/source # Replace debian directory with _CURRENT_ (main trunk) settings
+sudo /bin/rm -rf ${DATA}/nco-5.2.1 ${DATA}/nco_5.2.1* ${DATA}/debian # Cleanup last build. sudo necessary for removal because dpkg-buildpackage uses sudo?
+# cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-5.2.1-1 -d nco-5.2.1 nco # Export based on tag
+cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -D "1 second ago" -d nco-5.2.1 nco # Export most recent
+tar cvzf ./nco_5.2.1.orig.tar.gz --exclude='nco-5.2.1/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-5.2.1 
+/bin/rm -rf ${DATA}/nco-5.2.1 # Remove cvs-exported directory
+tar xvzf ./nco_5.2.1.orig.tar.gz # Untar to get directory without excluded files
+mkdir -p ${DATA}/nco-5.2.1/debian/source;cd ~/nco/debian;/bin/cp changelog compat control convert copyright doc-base files info rules ${DATA}/nco-5.2.1/debian;cd ~/nco/debian/source;/bin/cp format ${DATA}/nco-5.2.1/debian/source # Replace debian directory with _CURRENT_ (main trunk) settings
 #export DEB_BUILD_OPTIONS='disable-dap-netcdf disable-netcdf4 disable-udunits2'; # Disable optional packages based on available Debian support
-#cd ${DATA}/nco-5.2.0;dpkg-buildpackage -rsudo -uc -us > ~/foo.nco 2>&1 # -uc -us: Do not sign changes or source files
-#cd ${DATA}/nco-5.2.0;dpkg-buildpackage -rsudo -sa > ~/foo.nco 2>&1 # -sa: Include _orig.tar.gz in .changes 
-cd ${DATA}/nco-5.2.0;dpkg-buildpackage -rsudo > ~/foo.nco 2>&1
+#cd ${DATA}/nco-5.2.1;dpkg-buildpackage -rsudo -uc -us > ~/foo.nco 2>&1 # -uc -us: Do not sign changes or source files
+#cd ${DATA}/nco-5.2.1;dpkg-buildpackage -rsudo -sa > ~/foo.nco 2>&1 # -sa: Include _orig.tar.gz in .changes 
+cd ${DATA}/nco-5.2.1;dpkg-buildpackage -rsudo > ~/foo.nco 2>&1
 sudo dpkg --remove nco
-sudo dpkg --install ${DATA}/nco_5.2.0-1_*.deb
+sudo dpkg --install ${DATA}/nco_5.2.1-1_*.deb
 cd ~/nco/bld;MY_BIN_DIR=/usr/bin ../bm/nco_bm.pl --regress
 # http://lintian.debian.org/full/zender@uci.edu.html
-lintian ${DATA}/nco_5.2.0-1_*.deb
-ls -l ${DATA}/nco_5.2.0*
+lintian ${DATA}/nco_5.2.1-1_*.deb
+ls -l ${DATA}/nco_5.2.1*
 m ~/foo.nco
 # Upload Ubuntu (rather than Debian) packages to websites
-scp ${DATA}/nco_5.2.0* dust.ess.uci.edu:/var/www/html/nco/src
-scp ${DATA}/nco_5.2.0* zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
+scp ${DATA}/nco_5.2.1* dust.ess.uci.edu:/var/www/html/nco/src
+scp ${DATA}/nco_5.2.1* zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
 # NB: Make sure RPMs build before uploading to debian, since changing
 # Debian versions is a PITA
 # NB: Only upload pbuilder Debian Sid (not personal Ubuntu) .deb builds to Debian mentors
-# cd ${DATA};dupload -t mentors nco_5.2.0-1_*.changes
+# cd ${DATA};dupload -t mentors nco_5.2.1-1_*.changes
 bsrc # Reset shell environment for regular development
 
 # New build system #2
@@ -202,52 +202,52 @@ DIST=sid sudo pbuilder update # Update chroot before building package in it
 # dget http://ftp.debian.org/debian/pool/main/n/nco/nco_3.9.0-1.dsc
 # dget http://ftp.debian.org/debian/pool/main/n/netcdf/netcdf_3.6.1-1.dsc
 # apt-get source nco # Get package source
-sudo /bin/rm /var/cache/pbuilder/result/nco_5.2.0* # Cleanup prior build
+sudo /bin/rm /var/cache/pbuilder/result/nco_5.2.1* # Cleanup prior build
 # To pass DEB_BUILD_OPTIONS to pbuilder while using sudo, one must first
 # modify sudoers with visudo to prevent sudo from resetting environment
 #export DEB_BUILD_OPTIONS='disable-dap-netcdf disable-netcdf4 disable-udunits2'; # Disable optional packages based on available Debian support
-cd ${DATA};DIST=sid sudo pbuilder build nco_5.2.0-1.dsc > ~/foo.nco.pbuilder 2>&1
-cd /var/cache/pbuilder/result;debsign -k6F635D10 nco_5.2.0-1_*.changes
-lintian /var/cache/pbuilder/result/nco_5.2.0-1_*.deb
+cd ${DATA};DIST=sid sudo pbuilder build nco_5.2.1-1.dsc > ~/foo.nco.pbuilder 2>&1
+cd /var/cache/pbuilder/result;debsign -k6F635D10 nco_5.2.1-1_*.changes
+lintian /var/cache/pbuilder/result/nco_5.2.1-1_*.deb
 sudo dpkg --remove nco
-sudo dpkg --install /var/cache/pbuilder/result/nco_5.2.0-1_*.deb
+sudo dpkg --install /var/cache/pbuilder/result/nco_5.2.1-1_*.deb
 cd ~/nco/bld;MY_BIN_DIR=/usr/bin ../bm/nco_bm.pl --regress
 # NB: Upload pbuilder Debian Sid packages to Debian mentors, but not
 # to personal or NCO websites since most people use Ubuntu not Debian
 # NB: Debian versions are a PITA, ensure RPMs build before uploading to Debian
-cd /var/cache/pbuilder/result;dupload -t mentors nco_5.2.0-1_*.changes
+cd /var/cache/pbuilder/result;dupload -t mentors nco_5.2.1-1_*.changes
 
 # RPM builds as root
 export rpm_root='/usr/src/redhat'
 # export sudo_sng='' # sudo not-necessary when builing in user directories
 export sudo_sng='sudo' # sudo necessary when building in system directories
 cd ~/nco;cvc;cvu
-/bin/rm -rf ${DATA}/nco-5.2.0 ${DATA}/nco-5.2.0* # Cleanup last build
+/bin/rm -rf ${DATA}/nco-5.2.1 ${DATA}/nco-5.2.1* # Cleanup last build
 ${sudo_sng} /bin/rm -r -f \
-${rpm_root}/BUILD/nco-5.2.0 \
-${rpm_root}/RPMS/i386/nco-5.2.0-?.i386.rpm \
-${rpm_root}/RPMS/i386/nco-debuginfo-5.2.0-?.i386.rpm \
-${rpm_root}/RPMS/i386/nco-devel-5.2.0-?.i386.rpm \
-${rpm_root}/SOURCES/nco-5.2.0.tar.gz \
-${rpm_root}/SPECS/nco-5.2.0.spec \
-${rpm_root}/SRPMS/nco-5.2.0-?.src.rpm
-cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-5.2.0-1 -d nco-5.2.0 nco # Export based on tag
-${sudo_sng} ln -s ${HOME}/nco/bld/nco.spec ${rpm_root}/SPECS/nco-5.2.0.spec
-tar cvzf ./nco-5.2.0.tar.gz --exclude='nco-5.2.0/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-5.2.0 
-${sudo_sng} /bin/cp ${DATA}/nco-5.2.0.tar.gz ${rpm_root}/SOURCES
+${rpm_root}/BUILD/nco-5.2.1 \
+${rpm_root}/RPMS/i386/nco-5.2.1-?.i386.rpm \
+${rpm_root}/RPMS/i386/nco-debuginfo-5.2.1-?.i386.rpm \
+${rpm_root}/RPMS/i386/nco-devel-5.2.1-?.i386.rpm \
+${rpm_root}/SOURCES/nco-5.2.1.tar.gz \
+${rpm_root}/SPECS/nco-5.2.1.spec \
+${rpm_root}/SRPMS/nco-5.2.1-?.src.rpm
+cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-5.2.1-1 -d nco-5.2.1 nco # Export based on tag
+${sudo_sng} ln -s ${HOME}/nco/bld/nco.spec ${rpm_root}/SPECS/nco-5.2.1.spec
+tar cvzf ./nco-5.2.1.tar.gz --exclude='nco-5.2.1/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-5.2.1 
+${sudo_sng} /bin/cp ${DATA}/nco-5.2.1.tar.gz ${rpm_root}/SOURCES
 cd ${rpm_root}/SPECS
-${sudo_sng} rpmbuild -ba --sign nco-5.2.0.spec > ~/foo.nco 2>&1
+${sudo_sng} rpmbuild -ba --sign nco-5.2.1.spec > ~/foo.nco 2>&1
 scp \
-${rpm_root}/RPMS/i386/nco-5.2.0-?.i386.rpm \
-${rpm_root}/RPMS/i386/nco-debuginfo-5.2.0-?.i386.rpm \
-${rpm_root}/RPMS/i386/nco-devel-5.2.0-?.i386.rpm \
-${rpm_root}/SRPMS/nco-5.2.0-?.src.rpm \
+${rpm_root}/RPMS/i386/nco-5.2.1-?.i386.rpm \
+${rpm_root}/RPMS/i386/nco-debuginfo-5.2.1-?.i386.rpm \
+${rpm_root}/RPMS/i386/nco-devel-5.2.1-?.i386.rpm \
+${rpm_root}/SRPMS/nco-5.2.1-?.src.rpm \
 dust.ess.uci.edu:/var/www/html/nco/src
 scp \
-${rpm_root}/RPMS/i386/nco-5.2.0-?.i386.rpm \
-${rpm_root}/RPMS/i386/nco-debuginfo-5.2.0-?.i386.rpm \
-${rpm_root}/RPMS/i386/nco-devel-5.2.0-?.i386.rpm \
-${rpm_root}/SRPMS/nco-5.2.0-?.src.rpm \
+${rpm_root}/RPMS/i386/nco-5.2.1-?.i386.rpm \
+${rpm_root}/RPMS/i386/nco-debuginfo-5.2.1-?.i386.rpm \
+${rpm_root}/RPMS/i386/nco-devel-5.2.1-?.i386.rpm \
+${rpm_root}/SRPMS/nco-5.2.1-?.src.rpm \
 zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
 
 # RPM builds as user
@@ -256,33 +256,33 @@ zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
 export rpm_root="${DATA}/rpm/nco"
 #cd ~/nco;cvc;cvu # This risks committing unwanted *.[ch]pp files
 mkdir -p ${DATA}/rpm/nco/TMP ${DATA}/rpm/nco/BUILD
-/bin/rm -rf ${DATA}/nco-5.2.0 ${DATA}/nco-5.2.0* # Cleanup last build
+/bin/rm -rf ${DATA}/nco-5.2.1 ${DATA}/nco-5.2.1* # Cleanup last build
 /bin/rm -r -f \
-${rpm_root}/nco-5.2.0-?.src.rpm \
-${rpm_root}/nco-5.2.0.spec \
-${rpm_root}/nco-5.2.0.tar.gz \
-${rpm_root}/*/nco-5.2.0-?.*.rpm \
-${rpm_root}/*/nco-debuginfo-5.2.0-?.*.rpm \
-${rpm_root}/*/nco-devel-5.2.0-?.*.rpm
-# cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-5.2.0-1 -d nco-5.2.0 nco # Export based on tag
-cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -D "1 second ago" -dnco-5.2.0 nco # Export most recent and build as 5.2.0-1
-tar cvzf ./nco-5.2.0.tar.gz --exclude='nco-5.2.0/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-5.2.0 
-/bin/cp ${DATA}/nco-5.2.0.tar.gz ${rpm_root}
+${rpm_root}/nco-5.2.1-?.src.rpm \
+${rpm_root}/nco-5.2.1.spec \
+${rpm_root}/nco-5.2.1.tar.gz \
+${rpm_root}/*/nco-5.2.1-?.*.rpm \
+${rpm_root}/*/nco-debuginfo-5.2.1-?.*.rpm \
+${rpm_root}/*/nco-devel-5.2.1-?.*.rpm
+# cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-5.2.1-1 -d nco-5.2.1 nco # Export based on tag
+cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -D "1 second ago" -dnco-5.2.1 nco # Export most recent and build as 5.2.1-1
+tar cvzf ./nco-5.2.1.tar.gz --exclude='nco-5.2.1/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-5.2.1 
+/bin/cp ${DATA}/nco-5.2.1.tar.gz ${rpm_root}
 ln -s ${HOME}/nco/bld/nco.spec ${rpm_root}/nco.spec
 cd ${rpm_root}
 rpmbuild -ba --sign nco.spec > ~/foo.nco 2>&1
-rpmlint ${rpm_root}/*/nco-5.2.0-?.*.rpm
+rpmlint ${rpm_root}/*/nco-5.2.1-?.*.rpm
 sudo yum remove nco
-sudo yum install ${rpm_root}/*/nco-5.2.0-?.*.rpm
+sudo yum install ${rpm_root}/*/nco-5.2.1-?.*.rpm
 scp \
-${rpm_root}/*/nco-5.2.0-?.*.rpm \
-${rpm_root}/*/nco-debuginfo-5.2.0-?.*.rpm \
-${rpm_root}/*/nco-devel-5.2.0-?.*.rpm \
-${rpm_root}/nco-5.2.0-?.*.src.rpm \
+${rpm_root}/*/nco-5.2.1-?.*.rpm \
+${rpm_root}/*/nco-debuginfo-5.2.1-?.*.rpm \
+${rpm_root}/*/nco-devel-5.2.1-?.*.rpm \
+${rpm_root}/nco-5.2.1-?.*.src.rpm \
 dust.ess.uci.edu:/var/www/html/nco/src
 scp \
-${rpm_root}/*/nco-5.2.0-?.*.rpm \
-${rpm_root}/*/nco-debuginfo-5.2.0-?.*.rpm \
-${rpm_root}/*/nco-devel-5.2.0-?.*.rpm \
-${rpm_root}/nco-5.2.0-?.*.src.rpm \
+${rpm_root}/*/nco-5.2.1-?.*.rpm \
+${rpm_root}/*/nco-debuginfo-5.2.1-?.*.rpm \
+${rpm_root}/*/nco-devel-5.2.1-?.*.rpm \
+${rpm_root}/nco-5.2.1-?.*.src.rpm \
 zender,nco at web.sf.net:/home/project-web/nco/htdocs/src


=====================================
doc/index.shtml
=====================================
@@ -71,7 +71,7 @@ Try to disable Spammers' machines:
 <p><h1 align="center">Bienvenue sur le netCDF Operator (NCO) site</h1>
 
 <p><h2>
-Current stable NCO version is 5.2.0 released <!--#flastmod file="src/nco-5.2.0.tar.gz"-->
+Current stable NCO version is 5.2.1 released <!--#flastmod file="src/nco-5.2.1.tar.gz"-->
 </h2>
 
 <table border=0 width=100%>
@@ -155,7 +155,8 @@ and
 <h2>Recent Releases & Milestones</h2>
 
 <ul>
-<li>2024 Apr ??: 5.2.1 <i>In Progress...</i>
+<li>2024 Apr ??: 5.2.2 <i>In Progress...</i>
+<li>2024 Feb 18: 5.2.1 Quick fix to 5.2.0
 <li>2024 Feb 16: 5.2.0 S1D ELM restart unpacking
 <li>2023 Nov 07: 5.1.9 ncremap updates
 <li>2023 Sep 17: 5.1.8 NC_STRING support
@@ -650,16 +651,18 @@ Identical copies of those tarballs are also stored
 <a href="http://nco.sf.net/src">here</a> on SourceForge for historical
 continuity.
 You may retrieve the source of tagged versions directly with, e.g.,
-<tt>git clone -b 5.2.0 http://github.com/nco/nco.git nco-5.2.0</tt></a>.
+<tt>git clone -b 5.2.1 http://github.com/nco/nco.git nco-5.2.1</tt></a>.
 <ul>
-<li><b>NCO 5.2.2</b>: (<i>Future</i>)
+<li><b>NCO 5.2.3</b>: (<i>Future</i>)
 netCDF4 user-defined types support;
 <tt>ncks --xtn</tt> better extensive variable treatment?;
 <tt>ncks --bsa</tt> Byte-swap algoritm;
 <tt>ncremap</tt> small-circle weights;</li>
-<li><b>NCO 5.2.1</b>: (<i>In Progress, features in-progress or complete include</i>)
+<li><b>NCO 5.2.2</b>: (<i>In Progress, features in-progress or complete include</i>)
 <tt>ncremap</tt> CF Convention for longitude vertices in map-files</li>
-<li><b>NCO 5.2.0</b>: (<i>Current Stable Release</i>)
+<li><b>NCO 5.2.1</b>: (<i>Current Stable Release</i>)
+<tt>ncclimo/ncremap</tt> MPI fix</li>
+<li><b>NCO 5.2.0</b>: 
 <tt>all</tt> CF Convention for lossy compression metadata;
 <tt>ncclimo</tt> automatically generate monthly filenames for timeseries;
 <tt>ncclimo</tt> fix globbing, fix Dec. <tt>climatology_bounds</tt> in DJF-mode;
@@ -805,7 +808,7 @@ Or, alternatively, permanently add conda-forge (which teems with goodies besides
 ‘<tt>conda config --add channels conda-forge</tt>’, then
 install NCO with ‘<tt>conda install nco</tt>’.
 The default NCO installed by <tt>conda</tt> is generally within a month of the latest release. 
-<li><a href="https://github.com/conda-forge/nco-feedstock">nco-5.2.0</a> Executables Anaconda-compatible. Maintained by Filipe Fernandes.</li>
+<li><a href="https://github.com/conda-forge/nco-feedstock">nco-5.2.1</a> Executables Anaconda-compatible. Maintained by Filipe Fernandes.</li>
 Thanks to Rich Signell, Filipe Fernandes, Pedro Vicente, Xylar Asay-Davis and others for developing and maintaining the NCO package for conda.
 </ul>
 
@@ -814,7 +817,7 @@ Thanks to Rich Signell, Filipe Fernandes, Pedro Vicente, Xylar Asay-Davis and ot
 <h3><a href="http://www.debian.org">Debian</a> and <a href="http://www.ubuntu.com">Ubuntu</a> GNU/Linux</a></h3>
 <ul>
 <!--
-<li><a href="http://www.debian.org">Debian</a> and <a href="http://www.ubuntu.com">Ubuntu</a> GNU/Linux-compatible Intel systems, prebuilt binary executable <a href="http://www.debian.org">deb</a>: <a href="http://packages.debian.org/testing/math/nco.html">nco-5.2.0</a></li>
+<li><a href="http://www.debian.org">Debian</a> and <a href="http://www.ubuntu.com">Ubuntu</a> GNU/Linux-compatible Intel systems, prebuilt binary executable <a href="http://www.debian.org">deb</a>: <a href="http://packages.debian.org/testing/math/nco.html">nco-5.2.1</a></li>
 -->
 <a href="http://packages.debian.org/unstable/science/nco">Debian NCO</a> and 
 <a href="https://launchpad.net/ubuntu/+source/nco">Ubuntu NCO</a> homepages.
@@ -822,8 +825,8 @@ Thanks to Rich Signell, Filipe Fernandes, Pedro Vicente, Xylar Asay-Davis and ot
 NCO packages in the Debian/Ubuntu repositories (e.g., Sid and Raring) generally lag the packages distributed here by 6–12 months.
 <a name="beta"></a><a name="prerelease"> <!-- http://nco.sf.net#beta -->
 Newer (beta- or pre-release) packages are often available for intrepid Debian/Ubuntu users as described <a href="https://github.com/nco/nco/tree/master/doc/beta.txt">here</a>.
-<dt>Debian package for most recent NCO release (install with, e.g., ‘<tt>dpkg --install nco_5.2.0-1_i386.deb</tt>’):</dt>
-<li><a href="https://launchpad.net/ubuntu/+source/nco/5.2.0-1">nco_5.2.0-1_amd64.deb</a> : Executables AMD64-compatible</li>
+<dt>Debian package for most recent NCO release (install with, e.g., ‘<tt>dpkg --install nco_5.2.1-1_i386.deb</tt>’):</dt>
+<li><a href="https://launchpad.net/ubuntu/+source/nco/5.2.1-1">nco_5.2.1-1_amd64.deb</a> : Executables AMD64-compatible</li>
 Thanks to Daniel Baumann, Sebastian Couwenberg, Barry deFreese, Francesco Lovergine, 
 Brian Mays, Rorik Peterson, and Matej Vela for their help packaging
 NCO for Debian over the years. 
@@ -867,10 +870,10 @@ Thanks to Gavin Burris and Kyle Wilcox for documenting build procedures for RHEL
 <!-- 
 # MacOS 14.2.1 (Ventura) systems (firn, sastrugi, spectral):
 /usr/bin/scp ~/nco/doc/index.shtml zender,nco at web.sf.net:/home/project-web/nco/htdocs
-cd ~/bin;tar cvzf ${DATA}/nco-5.2.0.macos.14.2.tar.gz nc*;scp ${DATA}/nco-5.2.0.macos.14.2.tar.gz zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
+cd ~/bin;tar cvzf ${DATA}/nco-5.2.1.macos.14.2.tar.gz nc*;scp ${DATA}/nco-5.2.1.macos.14.2.tar.gz zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
 -->
 The most up-to-date executables are probably those in the tarball below. Those unfamiliar with installing executables from tarballs may try the (older) <a href="http://en.wikipedia.org/wiki/Apple_Disk_Image">DMG</a> files (you may need to add <tt>/opt/local/bin</tt> to your executable path to access those operators).
-<li><a href="src/nco-5.2.0.macos.14.2.tar.gz">nco-5.2.0.macos.14.2.tar.gz</a> (<!--#fsize file="src/nco-5.2.0.macos.14.2.tar.gz"-->): Executables MacOS 14.2-compatible (last updated <!--#flastmod file="src/nco-5.2.0.macos.14.2.tar.gz"-->). Maintained by NCO Project.</li>
+<li><a href="src/nco-5.2.1.macos.14.2.tar.gz">nco-5.2.1.macos.14.2.tar.gz</a> (<!--#fsize file="src/nco-5.2.1.macos.14.2.tar.gz"-->): Executables MacOS 14.2-compatible (last updated <!--#flastmod file="src/nco-5.2.1.macos.14.2.tar.gz"-->). Maintained by NCO Project.</li>
 <li><a href="http://fink.sf.net">Fink</a> packages for <a href="http://fink.sf.net/pdb/package.php/nco">NCO</a>: Currently NCO 4.9.5. Maintained by Alexander Hansen.</li> 
 <li><a href="http://brew.sh">Homebrew</a> packages for <a href="https://formulae.brew.sh/formula/nco">NCO</a>: Currently NCO 5.1.5. Install with ‘<tt>brew install nco</tt>’. Maintained by Carlo Cabrera, Ian Lancaster, Alejandro Soto, and others over the years.</li> 
 <li><a href="http://trac.macosforge.org/projects/macports/wiki">MacPorts</a> infrastructure for <a href="https://ports.macports.org/port/nco">NCO</a>: <a href="https://ports.macports.org/port/nco">Portfile</a>: Currently NCO 5.1.1. Install with ‘<tt>sudo port install nco</tt>’. Maintained by Takeshi Enomoto.</li>
@@ -1073,12 +1076,12 @@ On the <a href="https://sourceforge.net/p/nco/bugs">Bug Tickets</a> site.</li>
 The simplest way to acquire the source is to download the compressed tarball:
 <ul>
 <li>
-<!-- scp ${DATA}/nco-5.2.0.tar.gz zender,nco at web.sf.net:/home/project-web/nco/htdocs/src -->
-<a href="https://github.com/nco/nco/archive/5.2.0.tar.gz">nco-5.2.0.tar.gz</a> 
-(<!--#fsize file="src/nco-5.2.0.tar.gz"--> compressed tar-file)<br>
-<!--#exec cmd="openssl dgst -md5 src/nco-5.2.0.tar.gz"--><br>
-<!--#exec cmd="openssl dgst -sha1 src/nco-5.2.0.tar.gz"--><br>
-<!--#exec cmd="openssl dgst -sha256 src/nco-5.2.0.tar.gz"--> 
+<!-- scp ${DATA}/nco-5.2.1.tar.gz zender,nco at web.sf.net:/home/project-web/nco/htdocs/src -->
+<a href="https://github.com/nco/nco/archive/5.2.1.tar.gz">nco-5.2.1.tar.gz</a> 
+(<!--#fsize file="src/nco-5.2.1.tar.gz"--> compressed tar-file)<br>
+<!--#exec cmd="openssl dgst -md5 src/nco-5.2.1.tar.gz"--><br>
+<!--#exec cmd="openssl dgst -sha1 src/nco-5.2.1.tar.gz"--><br>
+<!--#exec cmd="openssl dgst -sha256 src/nco-5.2.1.tar.gz"--> 
 </li>
 </ul>
 
@@ -1099,8 +1102,8 @@ To avoid the churn that comes with using the latest snapshot,
 potential contributors may wish to retrieve a recent tagged (i.e.,
 stable and released) version, 
 This command retrieves the entire NCO repository (< 20 MB) and
-then checks out NCO version <tt>5.2.0</tt>:
-<p><tt>git clone https://github.com/nco/nco.git;cd nco;git checkout 5.2.0</tt></p>
+then checks out NCO version <tt>5.2.1</tt>:
+<p><tt>git clone https://github.com/nco/nco.git;cd nco;git checkout 5.2.1</tt></p>
 However, the most efficient way to actively track and develop NCO is to
 retrieve the current (“bleeding edge”) NCO snapshot.
 This command retrieves the latest NCO master branch into a local
@@ -1110,12 +1113,12 @@ directory named <tt>nco</tt>:
 Track changes to the development version using
 <p><tt>cd nco;git pull</tt></p>
 One difference between running a "tagged" release 
-(e.g., <tt>5.2.0</tt>) and the development version is that the
+(e.g., <tt>5.2.1</tt>) and the development version is that the
 tagged release operators will print a valid version number (e.g.,
-<tt>5.2.0</tt>) when asked to do so with the <tt>-r</tt> flag
+<tt>5.2.1</tt>) when asked to do so with the <tt>-r</tt> flag
 (e.g., <tt>ncks -r</tt>).
 Snapshots will include the sub-version and patch-level in the version
-information (e.g., <tt>5.2.0-alpha06</tt>). 
+information (e.g., <tt>5.2.1-alpha06</tt>). 
 
 <!--
 <a name="doxy"></a>
@@ -1298,9 +1301,9 @@ As of 20131101 there is no Cygwin package for ANTLR, and the Cygwin netCDF packa
 
 <li>Once you have installed the pre-requisites as shown above, you may then build the latest stable NCO and install it in, e.g., <tt>/usr/local</tt> with: 
 <tt>
-<dt>wget https://github.com/nco/nco/archive/5.2.0.tar.gz</dt>
-<dt>tar xvzf 5.2.0.tar.gz</dt>
-<dt>cd nco-5.2.0</dt>
+<dt>wget https://github.com/nco/nco/archive/5.2.1.tar.gz</dt>
+<dt>tar xvzf 5.2.1.tar.gz</dt>
+<dt>cd nco-5.2.1</dt>
 <dt>./configure --prefix=/usr/local</dt>
 <dt>make</dt>
 <dt>sudo make install</dt>


=====================================
doc/nco.texi
=====================================
@@ -128,11 +128,11 @@ Octave TeXInfo manual shows clean TeXInfo structure
 @setfilename nco.info
 
 @c Define edition, date, ...
- at set nco-edition 5.2.0
- at set doc-edition 5.2.0
+ at set nco-edition 5.2.1
+ at set doc-edition 5.2.1
 @set copyright-years 1995--2024
 @set update-year 2024
- at set update-date 16 February 2024
+ at set update-date 18 February 2024
 @set update-month February 2024
 
 @settitle @acronym{NCO} @value{nco-edition} User Guide


=====================================
src/nco/nco.h
=====================================
@@ -373,7 +373,7 @@ extern "C" {
 # define NCO_VERSION_MINOR 2
 #endif /* !NCO_VERSION_MINOR */
 #ifndef NCO_VERSION_PATCH
-# define NCO_VERSION_PATCH 0
+# define NCO_VERSION_PATCH 1
 #endif /* !NCO_VERSION_PATCH */
 #ifndef NCO_VERSION_NOTE
 # define NCO_VERSION_NOTE "" /* Blank for final versions, non-blank (e.g., "-beta37") for pre-release versions */
@@ -383,7 +383,7 @@ extern "C" {
 # define NCO_LIB_VERSION ( NCO_VERSION_MAJOR * 100 + NCO_VERSION_MINOR * 10 + NCO_VERSION_PATCH )
 #endif /* !NCO_LIB_VERSION */
 #ifndef NCO_VERSION
-# define NCO_VERSION "5.2.0"
+# define NCO_VERSION "5.2.1"
 #endif /* !NCO_VERSION */
 
 /* Compatibility tokens new to netCDF4 netcdf.h: */


=====================================
src/nco/nco_flt.c
=====================================
@@ -1560,8 +1560,32 @@ nco_qnt_mtd /* [fnc] Define output filters based on input filters */
 
 #define NCO_MAX_LEN_MPL_SNG 100
   char mpl_val_sng[NCO_MAX_LEN_MPL_SNG];
-  if(flg_baa) (void)snprintf(mpl_val_sng,NCO_MAX_LEN_MPL_SNG,"%s version %s",mpl_val_nco,NCO_VERSION);
-  if(flg_hdf) (void)snprintf(mpl_val_sng,NCO_MAX_LEN_MPL_SNG,"%s version %s",mpl_val_libnetcdf,NC_VERSION);
+  /* NB: Logic to eliminate quotes copied from and explained in nco_vrs_prn */
+  char vrs_nco_cpp[]=TKN2SNG(NCO_VERSION); /* [sng] NCO version (with quotes) */
+  char vrs_nc_cpp[]=TKN2SNG(NC_VERSION); /* [sng] netCDF version (with quotes) */
+  char *vrs_nco_sng; /* [sng] NCO version */
+  char *vrs_nc_sng; /* [sng] netCDF version */
+  vrs_nco_sng=vrs_nco_cpp;
+  vrs_nc_sng=vrs_nc_cpp;
+  if(vrs_nco_cpp[0L] == '"'){
+    vrs_nco_cpp[strlen(vrs_nco_cpp)-1L]='\0';
+    vrs_nco_sng=vrs_nco_cpp+1L;
+  } /* !vrs_nco_cpp */
+  if(vrs_nc_cpp[0L] == '"'){
+    vrs_nc_cpp[strlen(vrs_nc_cpp)-1L]='\0';
+    vrs_nc_sng=vrs_nc_cpp+1L;
+  } /* !vrs_nc_cpp */
+  
+  /* 20240216: Naked tokens for exact versions, e.g., 5.2.0, cause issues with some compilers
+     Apparently these compilers attempt to convert numeric-looking versions into numbers not strings
+     This leads to errors like:
+     error: too many decimal points in number
+     ../src/nco/nco_flt.c:1563:90: note: in expansion of macro ‘NCO_VERSION’
+     One alternative is to replace NCO_VERSION by TKN2SNG(NCO_VERSION) 
+     However, this adds an undesirable extra pair of quotes to the output, e.g.,
+     compression_info:implementation = "libnetcdf version \"4.9.3-development\"" ; */
+  if(flg_baa) (void)snprintf(mpl_val_sng,NCO_MAX_LEN_MPL_SNG,"%s version %s",mpl_val_nco,vrs_nco_sng);
+  if(flg_hdf) (void)snprintf(mpl_val_sng,NCO_MAX_LEN_MPL_SNG,"%s version %s",mpl_val_libnetcdf,vrs_nc_sng);
 
   qnt_lvl_dpl=qnt_lvl;
   aed_ppc_lvl.val.ip=&qnt_lvl_dpl;


=====================================
src/nco/nco_scm.c
=====================================
@@ -210,7 +210,7 @@ nco_nmn_get(void) /* [fnc] Return mnemonic that describes current NCO version */
   /* Purpose: Return mnemonic describing current NCO version
      20191221: ncremap/ncclimo print left quote and first word of this string, so one-word strings look best
      20200117: fixed this limitation, multi-word versions work fine */
-  return "Fast Car";
+  return "Shabu Shabu";
 } /* !nco_nmn_get() */
 
 void
@@ -242,7 +242,7 @@ nco_vrs_prn /* [fnc] Print NCO version */
   if(vrs_cpp[0L] == '"'){
     vrs_cpp[strlen(vrs_cpp)-1L]='\0';
     vrs_sng=vrs_cpp+1L;
-  } /* endif */
+  } /* !vrs_cpp */
 
   if(strlen(CVS_Id) > strlen("*Id*")){
     /* CVS_Id is defined */
@@ -283,5 +283,5 @@ nco_vrs_prn /* [fnc] Print NCO version */
   if(date_cvs) date_cvs=(char *)nco_free(date_cvs);
   if(vrs_rcs) vrs_rcs=(char *)nco_free(vrs_rcs);
   if(vrs_cvs) vrs_cvs=(char *)nco_free(vrs_cvs);
-} /* end nco_vrs_prn() */
+} /* !nco_vrs_prn() */
 



View it on GitLab: https://salsa.debian.org/debian-gis-team/nco/-/compare/3dab5188b140b0aee9ccb0c57a881748d67d5e60...102536a20a0dcdf8028567fd0a1e248dd29ee036

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/nco/-/compare/3dab5188b140b0aee9ccb0c57a881748d67d5e60...102536a20a0dcdf8028567fd0a1e248dd29ee036
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20240219/5ad85112/attachment-0001.htm>


More information about the Pkg-grass-devel mailing list