From a669cb7bc9ef98a3edc765d6d17b37fa9362e32a Mon Sep 17 00:00:00 2001 From: Dennis Heimbigner Date: Wed, 17 Apr 2024 13:37:05 -0600 Subject: [PATCH 01/15] debug1 --- .github/workflows/run_tests_ubuntu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run_tests_ubuntu.yml b/.github/workflows/run_tests_ubuntu.yml index 186f8da18..4b45ad0b0 100644 --- a/.github/workflows/run_tests_ubuntu.yml +++ b/.github/workflows/run_tests_ubuntu.yml @@ -4,7 +4,7 @@ name: Run Ubuntu/Linux netCDF Tests -on: [pull_request, workflow_dispatch] +on: [push, pull_request, workflow_dispatch] concurrency: group: ${{ github.workflow}}-${{ github.head_ref }} From 55d14d633e5c2ad9e2686de5c66849786689307c Mon Sep 17 00:00:00 2001 From: Dennis Heimbigner Date: Wed, 17 Apr 2024 14:01:05 -0600 Subject: [PATCH 02/15] test1 --- .github/workflows/run_tests_osx.yml | 2 +- .github/workflows/run_tests_win_cygwin.yml | 2 +- .github/workflows/run_tests_win_mingw.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/run_tests_osx.yml b/.github/workflows/run_tests_osx.yml index 04ea6740c..b0b68898c 100644 --- a/.github/workflows/run_tests_osx.yml +++ b/.github/workflows/run_tests_osx.yml @@ -6,7 +6,7 @@ name: Run macOS-based netCDF Tests -on: [pull_request,workflow_dispatch] +on: [push,pull_request,workflow_dispatch] concurrency: group: ${{ github.workflow}}-${{ github.head_ref }} diff --git a/.github/workflows/run_tests_win_cygwin.yml b/.github/workflows/run_tests_win_cygwin.yml index 6e124448e..27486bbc5 100644 --- a/.github/workflows/run_tests_win_cygwin.yml +++ b/.github/workflows/run_tests_win_cygwin.yml @@ -1,6 +1,6 @@ name: Run Cygwin-based tests -on: [pull_request,workflow_dispatch] +on: [push,pull_request,workflow_dispatch] concurrency: group: ${{ github.workflow}}-${{ github.head_ref }} diff --git a/.github/workflows/run_tests_win_mingw.yml b/.github/workflows/run_tests_win_mingw.yml index 978275cf6..75ac3174c 100644 --- a/.github/workflows/run_tests_win_mingw.yml +++ b/.github/workflows/run_tests_win_mingw.yml @@ -9,7 +9,7 @@ name: Run MSYS2, MinGW64-based Tests (Not Visual Studio) env: CPPFLAGS: "-D_BSD_SOURCE" -on: [pull_request,workflow_dispatch] +on: [push,pull_request,workflow_dispatch] concurrency: group: ${{ github.workflow}}-${{ github.head_ref }} From 042dc4a23674cc8e58e467429c859489c18d5047 Mon Sep 17 00:00:00 2001 From: Dennis Heimbigner Date: Wed, 17 Apr 2024 19:45:03 -0600 Subject: [PATCH 03/15] ckp --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index ee5e729ee..eb2427a85 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -769,7 +769,11 @@ if(NETCDF_ENABLE_TESTS) set(HOSTNAME_ARG "-s") endif() if(HOSTNAME_CMD) +if(FALSE) execute_process(COMMAND ${HOSTNAME_CMD} "${HOSTNAME_ARG}" OUTPUT_VARIABLE HOSTNAME OUTPUT_STRIP_TRAILING_WHITESPACE) +else() +set(HOSTNAME "blackbird") +endif() set(NC_CTEST_SITE "${HOSTNAME}" CACHE STRING "Hostname of test machine.") endif() From f8976ad7b9c01be5a52d134fdb75d7f6cffb9f27 Mon Sep 17 00:00:00 2001 From: Dennis Heimbigner Date: Sun, 28 Apr 2024 13:30:46 -0600 Subject: [PATCH 04/15] revert --- CMakeLists.txt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index eb2427a85..ee5e729ee 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -769,11 +769,7 @@ if(NETCDF_ENABLE_TESTS) set(HOSTNAME_ARG "-s") endif() if(HOSTNAME_CMD) -if(FALSE) execute_process(COMMAND ${HOSTNAME_CMD} "${HOSTNAME_ARG}" OUTPUT_VARIABLE HOSTNAME OUTPUT_STRIP_TRAILING_WHITESPACE) -else() -set(HOSTNAME "blackbird") -endif() set(NC_CTEST_SITE "${HOSTNAME}" CACHE STRING "Hostname of test machine.") endif() From 31b58c4cc5a0affaf3f2ffcb375e5829222ed8e0 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Mon, 29 Apr 2024 10:40:23 -0600 Subject: [PATCH 05/15] Reintroduce targets to allow for cmake-based netCDF-Fortran to find and linka gainst netCDF-C. Stop-gap measure until we can modify netCDF-Fortran to use a more modern approach. --- netCDFConfig.cmake.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/netCDFConfig.cmake.in b/netCDFConfig.cmake.in index 66638e7d2..0b0e31f01 100644 --- a/netCDFConfig.cmake.in +++ b/netCDFConfig.cmake.in @@ -5,7 +5,9 @@ @PACKAGE_INIT@ set(NetCDFVersion "@PACKAGE_VERSION@") - +set_and_check(netCDF_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@") +set_and_check(netCDF_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@") +set_and_check(netCDF_LIB_DIR "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@") set(netCDF_LIBRARIES netCDF::netcdf) # include target information From 8d6ba9ffcb237e3aaa5e0d48a2b6387bc2b7fd8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D9=85=D9=87=D8=AF=D9=8A=20=D8=B4=D9=8A=D9=86=D9=88=D9=86?= =?UTF-8?q?=20=28Mehdi=20Chinoune=29?= Date: Wed, 1 May 2024 11:02:04 +0100 Subject: [PATCH 06/15] CMake: Enable plugins on MinGW --- CMakeLists.txt | 12 ++++-------- libncpoco/CMakeLists.txt | 2 +- plugins/CMakeLists.txt | 4 ++-- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ee5e729ee..87781e0d7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -642,14 +642,10 @@ include(CMakeDependentOption) cmake_dependent_option(NETCDF_ENABLE_PLUGINS "Enable dynamically loaded plugins (default on)." ON "BUILD_SHARED_LIBS" OFF) MESSAGE(STATUS "NETCDF_ENABLE_PLUGINS: ${NETCDF_ENABLE_PLUGINS}") -if(MINGW) - message(STATUS "MINGW Detected, disabling plugins.") - set(NETCDF_ENABLE_PLUGINS OFF CACHE BOOL "Disable plugins" FORCE) -else() - if(NOT WIN32) - if(HAVE_DLFCN_H) - include_directories("dlfcn.h") - endif() + +if(NOT WIN32) + if(HAVE_DLFCN_H) + include_directories("dlfcn.h") endif() endif() diff --git a/libncpoco/CMakeLists.txt b/libncpoco/CMakeLists.txt index fb879fb5e..3669a711b 100644 --- a/libncpoco/CMakeLists.txt +++ b/libncpoco/CMakeLists.txt @@ -1,6 +1,6 @@ set(libncpoco_SOURCES ncpoco.c ncpoco.h) -if(MSVC) +if(WIN32) set(libncpoco_SOURCES ${libncpoco_SOURCES} cp_win32.c) else() set(libncpoco_SOURCES ${libncpoco_SOURCES} cp_unix.c) diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt index fb6ce198e..6d0b20a41 100644 --- a/plugins/CMakeLists.txt +++ b/plugins/CMakeLists.txt @@ -6,7 +6,7 @@ # See netcdf-c/COPYRIGHT file for more info. set(CMAKE_BUILD_TYPE "") -if(MSVC) +if(WIN32) set(PLUGINEXT "dll") set(PLUGINPRE "__nc") else() @@ -124,7 +124,7 @@ macro(installplugin PLUG) endmacro() install(DIRECTORY DESTINATION ${PLUGIN_INSTALL_DIR}) -if(Bzip2_FOUND) +if(Bzip2_FOUND OR Bz2_FOUND) installplugin(h5bzip2) endif() if(Zstd_FOUND) From 40fbe828d266bcad1b02042931ca79540a29219b Mon Sep 17 00:00:00 2001 From: Jennifer Oxelson Date: Wed, 1 May 2024 11:55:17 -0600 Subject: [PATCH 07/15] ftp--> resources for sample data location --- nc_perf/run_knmi_bm.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nc_perf/run_knmi_bm.sh b/nc_perf/run_knmi_bm.sh index 712ef177b..770ee8e1f 100755 --- a/nc_perf/run_knmi_bm.sh +++ b/nc_perf/run_knmi_bm.sh @@ -15,7 +15,7 @@ echo "Getting KNMI test files $file_list" for f1 in $file_list do if ! test -f $f1; then - wget ftp://ftp.unidata.ucar.edu/pub/netcdf/sample_data/$f1.gz + wget https://resources.unidata.ucar.edu/sample_data/$f1.gz gunzip $f1.gz fi done From 40ddaa84855801e43cc12ca8fba7b4b88f09e05b Mon Sep 17 00:00:00 2001 From: Jennifer Oxelson Date: Wed, 1 May 2024 11:59:48 -0600 Subject: [PATCH 08/15] ftp --> resources for sample data location --- hdf4_test/run_get_hdf4_files.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/hdf4_test/run_get_hdf4_files.sh b/hdf4_test/run_get_hdf4_files.sh index c0d0a74ac..faf1206a6 100755 --- a/hdf4_test/run_get_hdf4_files.sh +++ b/hdf4_test/run_get_hdf4_files.sh @@ -1,8 +1,8 @@ #!/bin/sh -# This shell gets some sample HDF4 files from the netCDF ftp site for -# testing. Then it runs program tst_interops3 on the test file to -# check that HDF4 reading works. +# This shell gets some sample HDF4 files for testing. +# Then it runs program tst_interops3 on the test file +# to check that HDF4 reading works. # Ed Hartnett @@ -12,14 +12,14 @@ if test "x$srcdir" = x ; then srcdir=`pwd`; fi # Uncomment for quiet wget operation. #Q=-q -# Get a file from the ftp site; retry several times +# Get a file from the resources site; retry several times getfile() { - FTPFILE="ftp://ftp.unidata.ucar.edu/pub/netcdf/sample_data/hdf4/$1.gz" + DATAFILE="https://resources.unidata.ucar.edu/sample_data/hdf4/$1.gz" for try in 1 2 3 4 ; do # try 4 times # signal success/failure - if wget -c $Q --passive-ftp $FTPFILE || curl -O $FTPFILE ; then + if wget -c $Q --passive-ftp $DATAFILE || curl -O $DATAFILE ; then return 0 # got it fi echo "wget failed: try $try" From c49418d2a122c6d1a61a37d2677ec4ef6b223f46 Mon Sep 17 00:00:00 2001 From: Jennifer Oxelson Date: Wed, 1 May 2024 12:00:33 -0600 Subject: [PATCH 09/15] comment --- nc_perf/run_knmi_bm.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nc_perf/run_knmi_bm.sh b/nc_perf/run_knmi_bm.sh index 770ee8e1f..36d4ad590 100755 --- a/nc_perf/run_knmi_bm.sh +++ b/nc_perf/run_knmi_bm.sh @@ -1,6 +1,6 @@ #!/bin/sh -# This shell gets some files from the netCDF ftp site for testing, +# This shell gets some sample data files for testing, # then runs the tst_knmi benchmarking program. # Ed Hartnett From 585837af73fb7543ad2301d4bd84532ce4480249 Mon Sep 17 00:00:00 2001 From: Jennifer Oxelson Date: Wed, 1 May 2024 12:18:19 -0600 Subject: [PATCH 10/15] removal of ftp and netcdf contrib site --- docs/FAQ.md | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/docs/FAQ.md b/docs/FAQ.md index 913591a11..1f442f07a 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -400,9 +400,6 @@ netCDF-4.1.3 with 32- and 64-bit versions, Fortran bindings, and OPeNDAP support. The announcement of the availability of that port is [here](https://www.unidata.ucar.edu/mailing_lists/archives/netcdfgroup/2011/msg00363.html). -User Veit Eitner has contributed a port of 4.1.1 to Visual Studio, -including an F90 port to Intel Fortran. Download [source (ftp://ftp.unidata.ucar.edu/pub/netcdf/contrib/win32/netcdf-4.1.1-win32-src.zip)](ftp://ftp.unidata.ucar.edu/pub/netcdf/contrib/win32/netcdf-4.1.1-win32-src.zip) or [binary](https://downloads.unidata.ucar.edu/netcdf-c) versions. This port was done before the code was refactored in 4.1.2. - How can I use netCDF-4 with Windows? {#How-can-I-use-netCDF-4-with-Windows} ----------------- @@ -418,18 +415,7 @@ utilities and just install them on your system. Unlike Unix builds, the Visual Studio build **always** requires HDF5, zlib, and szlib in all cases. All Windows DLL users must also have the -HDF5, zlib, and szlib DLLs. These are now available from the Unidata FTP -site: - -- [zlib DLLs for 32-bit Windows](ftp://ftp.unidata.ucar.edu/pub/netcdf/contrib/win32/zlib123-vs2005.zip) -- [szlib DLLs for 32-bit Windows](ftp://ftp.unidata.ucar.edu/pub/netcdf/contrib/win32/szip21-vs6-enc.zip) -- [HDF5 DLLs for 32-bit Windows](ftp://ftp.unidata.ucar.edu/pub/netcdf/contrib/win32/5-181-win-vs2005.zip) - -Two versions of the netCDF DLLs are available, for different Fortran -compilers: - -- [NetCDF for Intel and Portland Group Fortran compilers.](ftp://ftp.unidata.ucar.edu/pub/netcdf/contrib/win32/win32_vs_PGI_dll_4.0.1.zip) -- [NetCDF for other Fortran compilers.](ftp://ftp.unidata.ucar.edu/pub/netcdf/contrib/win32/win32_vs_f2c_dll_4.0.1.zip) +HDF5, zlib, and szlib DLLs. To use netCDF, install the DLLs in /system/win32 and the .h files in a directory known to your compiler, and define the DLL\_NETCDF @@ -470,9 +456,6 @@ of the oddities of Windows can be found here: - [cygwin mailing list explanation of Windows DL requirements.](http://cygwin.com/ml/cygwin/2000-06/msg00688.html) - [-mno-cygwin - Building Mingw executables using Cygwin](http://www.delorie.com/howto/cygwin/mno-cygwin-howto.html) -Once you have the netCDF DLL, you may wish to call it from Visual Basic. -The [netCDF VB wrapper](ftp://ftp.unidata.ucar.edu/pub/netcdf/contrib/win32/netcdf_vb_net_wrapper.zip) will help you do this. - The SDS ([Scientific DataSet](http://research.microsoft.com/en-us/projects/sds/)) library and tools provide .Net developers a way to read, write and share scalars, vectors, and multidimensional grids using CSV, netCDF, and other file formats. It currently uses netCDF version 4.0.1. In addition to .Net libraries, SDS provides a set of utilities and packages: an sds command line utility, a DataSet Viewer application and an add-in for Microsoft Excel 2007 (and later versions). ---------- From 7748315558570f03d5b29f8daaa5667b41c677a2 Mon Sep 17 00:00:00 2001 From: Jennifer Oxelson Date: Wed, 1 May 2024 12:22:03 -0600 Subject: [PATCH 11/15] removal of ftp and netcdf contrib site --- docs/known_problems.md | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/docs/known_problems.md b/docs/known_problems.md index a61474e58..7b6fe288a 100644 --- a/docs/known_problems.md +++ b/docs/known_problems.md @@ -207,8 +207,7 @@ Currently the workarounds are to either - Use netCDF-4.1.2-beta2 or later with HDF5 1.8.6 The HDF5 1.8.5-patch1 release is available from the HDF5 site at - or from the netCDF-4 -ftp site at . +. ### Make tries to regenerate documentation with texi2dvi command {#texi2dvi} @@ -511,8 +510,7 @@ that there is a workaround: John Storrs reported a bug using ncdump -v applied to netCDF-4 files, in which an erroneous 'group not found' message was displayed for valid group/var names. This is fixed in the next release, and the fix is also -in the [current snapshot -release](ftp://ftp.unidata.ucar.edu/pub/netcdf/snapshot/). +in the current snapshot release. Known Problems with netCDF 4.0 ------------------------------ @@ -594,8 +592,7 @@ the link flags in the generated Makefiles. Set LDFLAGS to include There is a bug in the 4.0 release related to the lengths of dimensions when more than one unlimited dimension is used in the same variable. -The bug is fixed in the latest [netCDF-4 snapshot -release](ftp://ftp.unidata.ucar.edu/pub/netcdf/snapshot/netcdf-4-daily.tar.gz). +The bug is fixed in the latest netCDF-4 snapshot release. ### Fortran90 interface Using Intel ifort under Cygwin {#ifort-f90-cygwin} @@ -1245,9 +1242,7 @@ serious bug in using the new large file support in netCDF 3.6.0. Users of the new large file facilities are cautioned to either apply [this one-line patch to netCDF 3.6.0](/software/netcdf/patches/patch-3.6.0-cdf2) or to upgrade from -version 3.6.0 to the current release version 3.6.0-p1, available from -[netcdf.tar.Z](ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf.tar.Z) or -[netcdf.tar.gz](ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf.tar.gz). +version 3.6.0 to the current release version 3.6.0-p1. Until you can upgrade, avoid rewriting in place any large (> 2 GiB) netCDF files that use the new 64-bit offset format under the conditions described below. @@ -1292,15 +1287,13 @@ format?](/software/netcdf/faq.html#Large%20File%20Support5). ### Cygwin Build Doesn't Work {#bad-cygwin} -To build on Cygwin, you must get the [latest 3.6.1 beta -release](ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-beta.tar.gz). +To build on Cygwin, you must get the latest 3.6.1 beta release. ### Windows DLL doesn't include F77 API {#dll-fortran} The netCDF windows DLL doesn't include the Fortran API. We are working on this problem for the next release. Meanwhile, if you need the fortran -API in your DLL, you'll have to use the [netCDF 3.5.1 -DLL](ftp://ftp.unidata.ucar.edu/pub/netcdf/contrib/win32/netcdf-3.5.1-win32dll.zip). +API in your DLL, you'll have to use the netCDF 3.5.1 DLL. ### F90 tests fail with Portland F90 compiler {#portland-f90} @@ -1367,8 +1360,8 @@ With some fortran compilers, such as Absoft, the configure script stupidly adds a -Df2cFortran to the C preprocessor flags, which causes the fortran tests in nf\_test to fail to link. -This problem is fixed in the 3.6.1 beta release. Get the [3.6.1 beta -release](ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-beta.tar.Z). +This problem is fixed in the 3.6.1 beta release. Get the 3.6.1 beta +release. ### Message: "ncgenyy.c is out-of-date with respect to ncgen.l" {#ncgen-timestamp} @@ -1421,8 +1414,8 @@ is present on the platform. As a result, the C++ interface is never built. This problem is fixed in the 3.6.1 beta release. Cygwin users interested -in the C++ interface should get the [3.6.1 beta -release](ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-3.6.1-beta1.tar.Z). +in the C++ interface should get the 3.6.1 beta +release. ### Large file problems in Visual C++ compile {#visualcpp_largefile} @@ -1431,8 +1424,8 @@ correctly in the 3.6.0 release of the code and project files needed to compile the netCDF library with Visual C++.NET. This problem is fixed in the 3.6.1 beta release. Users interested in -building their own DLL should get the [3.6.1 beta -release](ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-3.6.1-beta1.tar.Z). +building their own DLL should get the 3.6.1 beta +release. The DLL offered on the binary release page is 3.6.1 beta. ### When using TEMP\_LARGE, need a trailing slash {#temp_large} @@ -1443,8 +1436,8 @@ to work. For example, use 'setenv TEMP\_LARGE /tmp/' instead of 'setenv TEMP\_LARGE /tmp', as one would usually expect, and as the documentation describes. -This problem is fixed in the [3.6.1 beta -release](ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-3.6.1-beta1.tar.Z). +This problem is fixed in the 3.6.1 beta +release. Users of 3.6.0 should specify the trailing slash to use the TEMP\_LARGE environment variable in make extra\_test. From 7429ec36291cc9a958eb3280338628b69cf1d173 Mon Sep 17 00:00:00 2001 From: Jennifer Oxelson Date: Wed, 1 May 2024 12:23:31 -0600 Subject: [PATCH 12/15] removal of ftp site --- docs/attribute_conventions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/attribute_conventions.md b/docs/attribute_conventions.md index 5a3df819d..b13ec4d69 100644 --- a/docs/attribute_conventions.md +++ b/docs/attribute_conventions.md @@ -115,7 +115,7 @@ It is strongly recommended that applicable conventions be followed unless there `Conventions` -> If present, 'Conventions' is a global attribute that is a character array for the name of the conventions followed by the dataset. Originally, these conventions were named by a string that was interpreted as a directory name relative to the directory /pub/netcdf/Conventions/ on the host ftp.unidata.ucar.edu. The web page https://www.unidata.ucar.edu/netcdf/conventions.html is now the preferred and authoritative location for registering a URI reference to a set of conventions maintained elsewhere. The FTP site will be preserved for compatibility with existing references, but authors of new conventions should submit a request to support-netcdf@unidata.ucar.edu for listing on the Unidata conventions web page. +> If present, 'Conventions' is a global attribute that is a character array for the name of the conventions followed by the dataset. Originally, these conventions were named by a string that was interpreted as a directory name relative to the directory /pub/netcdf/Conventions/ on the now defunct host ftp.unidata.ucar.edu. The web page https://www.unidata.ucar.edu/netcdf/conventions.html is now the preferred and authoritative location for registering a URI reference to a set of conventions maintained elsewhere. Authors of new conventions should submit a request to support-netcdf@unidata.ucar.edu for listing on the Unidata conventions web page.

From e2e128f2defa0c156512a48260aeaa8140b4bd47 Mon Sep 17 00:00:00 2001 From: Jennifer Oxelson Date: Wed, 1 May 2024 12:29:58 -0600 Subject: [PATCH 13/15] removal of ftp and contrib site --- docs/static-pages/software.html | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/docs/static-pages/software.html b/docs/static-pages/software.html index 2a507811c..9e65dcaf4 100644 --- a/docs/static-pages/software.html +++ b/docs/static-pages/software.html @@ -783,8 +783,7 @@ or using ECMWF reanalysis on a reduced grid for printing selected data from netCDF arrays, copying ASCII data into netCDF arrays, and performing various operations (sum, mean, max, min, product, ...) on netCDF arrays. A library (fanlib) is also included that supports the use of - FAN from C programs. The package is available via anonymous FTP from ftp://ftp.unidata.ucar.edu/pub/netcdf/contrib/fan.tar.Z. + FAN from C programs. Questions and comments may be sent to Harvey Davies, harvey.davies@csiro.au.

FERRET

@@ -1613,11 +1612,9 @@ or using ECMWF reanalysis on a reduced grid

MexEPS

PMEL has developed a MATLAB interface, MexEPS, which supports - several netCDF file conventions, including those adopted - by PMEL. Many styles of time axes are supported and time manipulation routines - ease the use of the time axis in MATLAB. The MexEPS package supports the following - data formats: + several netCDF file conventions, including those adopted by PMEL. Many styles of + time axes are supported and time manipulation routines ease the use of the time axis + in MATLAB. The MexEPS package supports the following data formats:
  • reading, writing and editing netCDF files; @@ -3023,13 +3020,9 @@ or using ECMWF reanalysis on a reduced grid

    User-Contributed Software

    - Unidata makes available a separate - catalog - to a - directory - of freely available, user-contributed software and documentation related to the - netCDF library. This software may be retrieved by anonymous FTP. We haven't - necessarily used or tested this software; we make it available "as is". + Unidata had an archive of user-contributed software and documentation related to the + netCDF library. This software is available by request to support-netcdf@unidata.ucar.edu. + We haven't necessarily used or tested this software; we make it available "as is".

    The criteria for inclusion in the netcdf/contrib/ directory of user-contributed From 211538cf2532d5dd97bb3b546d9500c4256ba81e Mon Sep 17 00:00:00 2001 From: Dennis Heimbigner Date: Tue, 7 May 2024 10:36:14 -0600 Subject: [PATCH 14/15] Modify ncdump to print char-valued variables as utf8. re: Issue https://github.com/Unidata/netcdf-c/issues/2916 Currently, ncdump prints char-valued variables as a mix of ascii and octal characters. The octal format is used for non-printable ascii character values. This PR changes this to print the char variable values as raw binary. This means in practice that utf-8 tags are properly interpreted and printed as utf-8. --- .github/workflows/run_tests_osx.yml | 2 +- .github/workflows/run_tests_s3.yml | 157 --------------------- .github/workflows/run_tests_ubuntu.yml | 2 +- .github/workflows/run_tests_win_cygwin.yml | 2 +- .github/workflows/run_tests_win_mingw.yml | 2 +- ncdump/vardata.c | 15 +- 6 files changed, 16 insertions(+), 164 deletions(-) delete mode 100644 .github/workflows/run_tests_s3.yml diff --git a/.github/workflows/run_tests_osx.yml b/.github/workflows/run_tests_osx.yml index edcc80c94..ba64c777c 100644 --- a/.github/workflows/run_tests_osx.yml +++ b/.github/workflows/run_tests_osx.yml @@ -6,7 +6,7 @@ name: Run macOS-based netCDF Tests -on: [push,pull_request,workflow_dispatch] +on: [pull_request,workflow_dispatch] concurrency: group: ${{ github.workflow}}-${{ github.head_ref }} diff --git a/.github/workflows/run_tests_s3.yml b/.github/workflows/run_tests_s3.yml deleted file mode 100644 index b7f9d3fe6..000000000 --- a/.github/workflows/run_tests_s3.yml +++ /dev/null @@ -1,157 +0,0 @@ -### -# Test S3 Support -# -- derived from run_tests_ubuntu.yml -### - -### -# Build hdf5 dependencies and cache them in a combined directory. -### - -name: Run S3 netCDF Tests (under Ubuntu Linux) - -on: [workflow_dispatch] - -concurrency: - group: ${{ github.workflow}}-${{ github.head_ref }} - cancel-in-progress: true - -jobs: - - build-deps-serial: - - runs-on: ubuntu-latest - - strategy: - matrix: - hdf5: [ 1.10.8, 1.12.2, 1.14.3 ] - - steps: - - uses: actions/checkout@v4 - - - name: Install System dependencies - shell: bash -l {0} - run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev - - ### - # Installing libhdf5 - ### - - name: Cache libhdf5-${{ matrix.hdf5 }} - id: cache-hdf5 - uses: actions/cache@v4 - with: - path: ~/environments/${{ matrix.hdf5 }} - key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }} - - - - name: Build libhdf5-${{ matrix.hdf5 }} - if: steps.cache-hdf5.outputs.cache-hit != 'true' - run: | - set -x - - wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-$(echo ${{ matrix.hdf5 }} | cut -d. -f 1,2)/hdf5-${{ matrix.hdf5 }}/src/hdf5-${{ matrix.hdf5 }}.tar.bz2 - tar -jxf hdf5-${{ matrix.hdf5 }}.tar.bz2 - pushd hdf5-${{ matrix.hdf5 }} - ./configure --disable-static --enable-shared --prefix=${HOME}/environments/${{ matrix.hdf5 }} --enable-hl --with-szlib - make -j - make install -j - popd - - - ##### - # S3 Autotools-based tests. - ##### - ## - # Serial - ## - nc-ac-tests-s3-serial: - - needs: build-deps-serial - runs-on: ubuntu-latest - - strategy: - matrix: - hdf5: [ 1.14.3 ] - steps: - - - uses: actions/checkout@v4 - - - name: Install System dependencies - shell: bash -l {0} - run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev openssl libssl-dev - - ### - # Set Environmental Variables - ### - - - run: echo "CFLAGS=-I${HOME}/environments/${{ matrix.hdf5 }}/include" >> $GITHUB_ENV - - run: echo "LDFLAGS=-L${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV - - run: echo "LD_LIBRARY_PATH=${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV - - - ### - # Fetch Cache - ### - - - name: Fetch HDF Cache - id: cache-hdf - uses: actions/cache@v4 - with: - path: ~/environments/${{ matrix.hdf5 }} - key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }} - - - name: Check Cache - shell: bash -l {0} - run: ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.hdf5 }} && ls ${HOME}/environments/${{ matrix.hdf5}}/lib - - ### - # Configure and build - ### - - - name: Run autoconf - shell: bash -l {0} - run: autoreconf -if - - - name: Configure - shell: bash -l {0} - run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ./configure --enable-hdf5 --disable-dap --enable-external-server-tests --enable-s3 --enable-s3-internal --with-s3-testing=public - if: ${{ success() }} - - - name: Look at config.log if error - shell: bash -l {0} - run: cat config.log - if: ${{ failure() }} - - - name: Print Summary - shell: bash -l {0} - run: cat libnetcdf.settings - - - name: Build Library and Utilities - shell: bash -l {0} - run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make -j - if: ${{ success() }} - - - name: Build Tests - shell: bash -l {0} - run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check TESTS="" -j - if: ${{ success() }} - - - name: Run Tests - shell: bash -l {0} - env: - AWS_PROFILE: ${{ secrets.DEFAULT_PROFILE }} - run: | - mkdir -p ~/.aws - echo "" > ~/.aws/config - chmod go-x ~/.aws/config - echo "${AWS_PROFILE}" >> ~/.aws/config - LD_LIBRARY_PATH="/home/runner/work/netcdf-c/netcdf-c/liblib/.libs:${LD_LIBRARY_PATH}" - CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check -j - if: ${{ success() }} - - ##### - # S3 CMake-based tests. - ##### - ## - # Serial - ## - # T.B.D. nc-cmake-tests-s3-serial: diff --git a/.github/workflows/run_tests_ubuntu.yml b/.github/workflows/run_tests_ubuntu.yml index a0c407374..19a22965d 100644 --- a/.github/workflows/run_tests_ubuntu.yml +++ b/.github/workflows/run_tests_ubuntu.yml @@ -4,7 +4,7 @@ name: Run Ubuntu/Linux netCDF Tests -on: [push, pull_request, workflow_dispatch] +on: [ pull_request, workflow_dispatch] concurrency: group: ${{ github.workflow}}-${{ github.head_ref }} diff --git a/.github/workflows/run_tests_win_cygwin.yml b/.github/workflows/run_tests_win_cygwin.yml index f6f8a5231..e7a4d8002 100644 --- a/.github/workflows/run_tests_win_cygwin.yml +++ b/.github/workflows/run_tests_win_cygwin.yml @@ -1,6 +1,6 @@ name: Run Cygwin-based tests -on: [push,pull_request,workflow_dispatch] +on: [pull_request,workflow_dispatch] concurrency: group: ${{ github.workflow}}-${{ github.head_ref }} diff --git a/.github/workflows/run_tests_win_mingw.yml b/.github/workflows/run_tests_win_mingw.yml index 34cb0b9e9..db0be3748 100644 --- a/.github/workflows/run_tests_win_mingw.yml +++ b/.github/workflows/run_tests_win_mingw.yml @@ -9,7 +9,7 @@ name: Run MSYS2, MinGW64-based Tests (Not Visual Studio) env: CPPFLAGS: "-D_BSD_SOURCE" -on: [push,pull_request,workflow_dispatch] +on: [pull_request,workflow_dispatch] concurrency: group: ${{ github.workflow}}-${{ github.head_ref }} diff --git a/ncdump/vardata.c b/ncdump/vardata.c index 8e9a524f7..62e512500 100644 --- a/ncdump/vardata.c +++ b/ncdump/vardata.c @@ -20,6 +20,12 @@ #include "vardata.h" #include "netcdf_aux.h" +/* If set, then print char variables as utf-8. + If not set, then print non-printable characters as octal. + The latter was the default before this change. +*/ +#define UTF8CHARS + /* maximum len of string needed for one value of a primitive type */ #define MAX_OUTPUT_LEN 100 @@ -340,6 +346,7 @@ pr_tvals( sp = vals + len; while (len != 0 && *--sp == '\0') len--; + /* Walk the sequence of characters and write control characters in escape form. */ for (iel = 0; iel < len; iel++) { unsigned char uc; switch (uc = (unsigned char)(*vals++ & 0377)) { @@ -371,10 +378,12 @@ pr_tvals( printf("\\\""); break; default: - if (isprint(uc)) - printf("%c",uc); - else +#ifdef UTF8CHARS + if (!isprint(uc)) printf("\\%.3o",uc); + else +#endif /*UTF8CHARS*/ + printf("%c",uc); break; } } From ebd3f36a9a642161c759c263923d1193172af608 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 7 May 2024 16:46:43 -0600 Subject: [PATCH 15/15] Modify CMakeLists.txt to honor CMAKE_INSTALL_MANDIR in support of https://github.com/Unidata/netcdf-c/issues/2920. --- CMakeLists.txt | 3 +++ libsrc/CMakeLists.txt | 4 ++-- ncdump/CMakeLists.txt | 2 +- ncgen/CMakeLists.txt | 2 +- ncgen3/CMakeLists.txt | 2 +- 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 87781e0d7..81a7345a1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1520,6 +1520,9 @@ configure_file( ### # Create pkgconfig files. ### +if(NOT DEFINED CMAKE_INSTALL_MANDIR) + set(CMAKE_INSTALL_MANDIR "${CMAKE_INSTALL_PREFIX}/share/man/") +endif() if(NOT DEFINED CMAKE_INSTALL_LIBDIR) set(CMAKE_INSTALL_LIBDIR lib) diff --git a/libsrc/CMakeLists.txt b/libsrc/CMakeLists.txt index 022c6f42c..29a4d2b73 100644 --- a/libsrc/CMakeLists.txt +++ b/libsrc/CMakeLists.txt @@ -96,8 +96,8 @@ if(HAVE_M4) COMMAND ${NC_M4} ${ARGS_MANPAGE} "${CMAKE_CURRENT_BINARY_DIR}/netcdf.m4" > "${CMAKE_CURRENT_BINARY_DIR}/netcdf.3" WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" ) - - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/netcdf.3" DESTINATION "share/man/man3" COMPONENT documentation) + + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/netcdf.3" DESTINATION "${CMAKE_INSTALL_MANDIR}/man3" COMPONENT documentation) endif(NOT MSVC) endif() \ No newline at end of file diff --git a/ncdump/CMakeLists.txt b/ncdump/CMakeLists.txt index 64fdfe9c7..9866c4436 100644 --- a/ncdump/CMakeLists.txt +++ b/ncdump/CMakeLists.txt @@ -355,5 +355,5 @@ add_subdirectory(expected) set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${CLEANFILES}") if(NOT MSVC) - install(FILES ${MAN_FILES} DESTINATION "share/man/man1" COMPONENT documentation) + install(FILES ${MAN_FILES} DESTINATION "${CMAKE_INSTALL_MANDIR}/man1" COMPONENT documentation) endif() diff --git a/ncgen/CMakeLists.txt b/ncgen/CMakeLists.txt index 806c52b76..ab7fad349 100644 --- a/ncgen/CMakeLists.txt +++ b/ncgen/CMakeLists.txt @@ -86,7 +86,7 @@ ENDIF() SET(MAN_FILES ncgen.1) IF(NOT MSVC) - INSTALL(FILES ${MAN_FILES} DESTINATION "share/man/man1" + INSTALL(FILES ${MAN_FILES} DESTINATION "${CMAKE_INSTALL_MANDIR}/man1" COMPONENT documentation) ENDIF() SET(CLEANFILES c0.nc c0_64.nc c0_4.nc c0_4c.nc ref_camrun.c) diff --git a/ncgen3/CMakeLists.txt b/ncgen3/CMakeLists.txt index a1ca6abf2..ee70e724f 100644 --- a/ncgen3/CMakeLists.txt +++ b/ncgen3/CMakeLists.txt @@ -75,7 +75,7 @@ INSTALL(TARGETS ncgen3 DESTINATION bin COMPONENT utilities) SET(MAN_FILES ncgen3.1) IF(NOT MSVC) - INSTALL(FILES ${MAN_FILES} DESTINATION "share/man/man1" COMPONENT documentation) + INSTALL(FILES ${MAN_FILES} DESTINATION "${CMAKE_INSTALL_MANDIR}/man1" COMPONENT documentation) ENDIF() ## Specify files to be distributed by 'make dist'