Go to file
Greg Sjaardema d67b8c47ea
Fix so setting of NC_FORMATX_NC3 in parallel is kept
If the user is opening a existing file for appending (NC_WRITE) in parallel and the file is in CDF5 format, the `NC_interpret_magic_number()` routine clears the `model->impl` setting of `NC_FORMATX_PNETCDF` which was set in `NC_omodeinfer` (See lines following the `done:` label in that routine which specifically set the `impl` if `useparallel` is true.)

This setting then gets overwritten when `NC_interpret_magic_number` is called which sets the `model->impl` back to `NC_FORMATX_NC3`.  This can (did) cause problems with parallel output as the `NC3` format does not correctly handle parallel writing but the `PNETCDF` does.

Not sure if this is the best place for the test, but it did fix the parallel write issues I was seeing...

If you need more details on what is happening, let me know.  But a restatement at a higher level is that I was calling `nc_open_par` with `NC_WRITE` and `NC_64BIT_DATA` mode and the existing file has `CDF5` for the magic number.  However, the dispatcher was being set to `NC3_dispatch_table` instead of `NCP_dispatch_table` which is the dispatcher which had been chosen for the original creation of the file being appended to.

I was then getting zeroes in the data being written to the vars since NC3 wasn't correctly handling multiple MPI ranks writing to different parts of the same variable...
2020-12-22 15:26:33 -07:00
.github debug 2020-12-20 20:37:01 -07:00
cmake Fix some cmake syntax errors 2013-09-16 12:16:44 -06:00
conda.recipe Attempting appveyor support. Based on work by @ocefpaf, see https://github.com/Unidata/netcdf-c/pull/347 for more information. 2018-04-24 11:28:22 -06:00
ctest_scripts Added a ctest script with DAP tests enabled. 2020-02-11 15:09:29 -07:00
dap4_test Additional Fixes to NCZarr 2020-12-16 20:48:02 -07:00
debug debug 2020-12-20 20:37:01 -07:00
docs Provide a Number of fixes/improvements to NCZarr 2020-11-19 17:01:04 -07:00
examples Mostly revert the filter code to reduce its complexity of use. 2020-09-27 12:43:46 -06:00
h5_test fixed tst_h_par_compress.c 2020-08-12 07:28:49 -06:00
hdf4_test Spelling fixes 2019-09-18 08:03:01 -06:00
include Additional Fixes to NCZarr 2020-12-16 20:48:02 -07:00
libdap2 Additional Fixes to NCZarr 2020-12-16 20:48:02 -07:00
libdap4 Provide a Number of fixes/improvements to NCZarr 2020-11-19 17:01:04 -07:00
libdispatch Fix so setting of NC_FORMATX_NC3 in parallel is kept 2020-12-22 15:26:33 -07:00
libhdf4 Provide a Number of fixes/improvements to NCZarr 2020-11-19 17:01:04 -07:00
libhdf5 Additional Fixes to NCZarr 2020-12-16 20:48:02 -07:00
liblib Revert "Revert "Fix nczarr-experimental: improve build support, disengage hdf5 vs netcdf4 flags, and find AWS libraries"" 2020-08-17 19:15:47 -06:00
libnczarr Fix some additional edges cases for mapping slices to chunks 2020-12-19 21:17:46 -07:00
libsrc Fix logic error. 2020-12-07 14:27:36 -07:00
libsrc4 Additional Fixes to NCZarr 2020-12-16 20:48:02 -07:00
libsrcp Mostly revert the filter code to reduce its complexity of use. 2020-09-27 12:43:46 -06:00
nc_perf Additional Fixes to NCZarr 2020-12-16 20:48:02 -07:00
nc_test Prepare for the path management code 2020-10-13 19:12:15 -06:00
nc_test4 Improve the building of NCZARR S3 support in CMake and Autoconf 2020-10-16 15:04:51 -06:00
ncdap_test Additional Fixes to NCZarr 2020-12-16 20:48:02 -07:00
ncdump Additional Fixes to NCZarr 2020-12-16 20:48:02 -07:00
ncgen More tweaking. 2020-12-07 14:45:14 -07:00
ncgen3 Prepare for the path management code 2020-10-13 19:12:15 -06:00
nctest Spelling fixes 2019-09-18 08:03:01 -06:00
nczarr_test Fix some additional edges cases for mapping slices to chunks 2020-12-19 21:17:46 -07:00
NUG Removed NUG files, added a README.md file directing people to the correct location. 2020-10-06 11:13:56 -06:00
oc2 Provide a Number of fixes/improvements to NCZarr 2020-11-19 17:01:04 -07:00
plugins Modified plugins/Makefile.am to add -no-undefined as required on cygwin. 2020-11-11 10:51:24 -07:00
unit_test Additional Fixes to NCZarr 2020-12-16 20:48:02 -07:00
.gitignore Shuffling NUG and documentation. 2020-02-06 16:14:25 -07:00
acinclude.m4 Merge branch 'master' into ejh_cleanup 2018-04-02 18:11:58 -06:00
appveyor.yml unblock dmh appveyor 2020-12-02 18:17:07 -07:00
bootstrap Renamed autogen file. 2019-01-16 11:22:17 -07:00
cmake_uninstall.cmake.in Misc. files updated with copyright stanza. 2018-12-06 15:51:35 -07:00
CMakeInstallation.cmake Move away from deprecated PackageManager to the productbuild generator. 2019-02-05 13:08:30 -07:00
CMakeLists.txt Fix detection and use of SZIP library 2020-12-21 08:25:37 -07:00
COMPILE.cmake.txt Merging from CMake branch in preparation for 4.3.0 release. 2013-04-29 20:15:57 +00:00
config.h.cmake.in Make use of clock_gettime be conditional. 2020-12-06 18:19:53 -07:00
config.h.cmake.in.old-works c: remove __CHAR_UNSIGNED__ 2018-02-14 17:24:49 -05:00
configure.ac Additional Fixes to NCZarr 2020-12-16 20:48:02 -07:00
COPYRIGHT Modifying COPYRIGHT to reflect a standardized license, the BSD 3-clause license. 2018-12-04 15:17:54 -07:00
CTestConfig.cmake.in Adding new security stance to cdash instance. 2019-11-18 10:58:44 -07:00
CTestCustom.cmake Misc. files updated with copyright stanza. 2018-12-06 15:51:35 -07:00
dods.m4 Spelling fixes 2019-09-18 08:03:01 -06:00
FixBundle.cmake.in Misc. files updated with copyright stanza. 2018-12-06 15:51:35 -07:00
INSTALL.md Added a note about running autoreconf -if in support of https://github.com/Unidata/netcdf-c/issues/1397 2019-08-27 11:24:25 -06:00
lib_flags.am Revert "Revert "Fix nczarr-experimental: improve build support, disengage hdf5 vs netcdf4 flags, and find AWS libraries"" 2020-08-17 19:15:47 -06:00
libnetcdf.settings.in Mostly revert the filter code to reduce its complexity of use. 2020-09-27 12:43:46 -06:00
Makefile.am Revert "Revert "Fix nczarr-experimental: improve build support, disengage hdf5 vs netcdf4 flags, and find AWS libraries"" 2020-08-17 19:15:47 -06:00
mclean Fix pull request https://github.com/Unidata/netcdf-c/pull/374 (dap4.dmh) 2017-04-03 21:39:44 -06:00
nc-config.cmake.in Improve the building of NCZARR S3 support in CMake and Autoconf 2020-10-16 15:04:51 -06:00
nc-config.in Improve the building of NCZARR S3 support in CMake and Autoconf 2020-10-16 15:04:51 -06:00
netcdf.pc.in Fix typo, exploring solution to https://github.com/Unidata/netcdf-c/issues/1324 2019-02-27 14:14:53 -07:00
netCDFConfig.cmake.in Correct typo. 2020-01-24 16:53:16 -07:00
PostInstall.cmake Reorganized postinstall scripts. 2014-11-18 12:52:41 -07:00
postinstall.sh.in Fix typo postinstall. 2020-08-06 15:27:20 -04:00
README.md Updated README.md Links 2020-06-04 14:16:30 -04:00
RELEASE_NOTES.md Update Release Notes 2020-12-16 21:47:38 -07:00
test_common.in Improve the building of NCZARR S3 support in CMake and Autoconf 2020-10-16 15:04:51 -06:00
test_prog.c Misc. files updated with copyright stanza. 2018-12-06 15:51:35 -07:00
test-driver-verbose The Jetstream remote test server is now working. 2018-06-26 13:58:45 -06:00
travis.yml Additional Fixes to NCZarr 2020-12-16 20:48:02 -07:00
wjna Backadded the fix of Jira-228 2014-06-13 13:41:11 -06:00

Unidata NetCDF

Build Status Coverity Scan Build Status

About

The Unidata network Common Data Form (netCDF) is an interface for scientific data access and a freely-distributed software library that provides an implementation of the interface. The netCDF library also defines a machine-independent format for representing scientific data. Together, the interface, library, and format support the creation, access, and sharing of scientific data. The current netCDF software provides C interfaces for applications and data. Separate software distributions available from Unidata provide Java, Fortran, Python, and C++ interfaces. They have been tested on various common platforms.

Properties

NetCDF files are self-describing, network-transparent, directly accessible, and extendible. Self-describing means that a netCDF file includes information about the data it contains. Network-transparent means that a netCDF file is represented in a form that can be accessed by computers with different ways of storing integers, characters, and floating-point numbers. Direct-access means that a small subset of a large dataset may be accessed efficiently, without first reading through all the preceding data. Extendible means that data can be appended to a netCDF dataset without copying it or redefining its structure.

Use

NetCDF is useful for supporting access to diverse kinds of scientific data in heterogeneous networking environments and for writing application software that does not depend on application-specific formats. For information about a variety of analysis and display packages that have been developed to analyze and display data in netCDF form, see

More information

For more information about netCDF, see

Latest releases

You can obtain a copy of the latest released version of netCDF software for various languages:

Copyright and licensing information can be found here, as well as in the COPYRIGHT file accompanying the software

Installation

To install the netCDF-C software, please see the file INSTALL in the netCDF-C distribution, or the (usually more up-to-date) document:

Documentation

A language-independent User's Guide for netCDF, and some other language-specific user-level documents are available from:

A mailing list, netcdfgroup@unidata.ucar.edu, exists for discussion of the netCDF interface and announcements about netCDF bugs, fixes, and enhancements. For information about how to subscribe, see the URL

Feedback

We appreciate feedback from users of this package. Please send comments, suggestions, and bug reports to support-netcdf@unidata.ucar.edu.