diff --git a/CMakeLists.txt b/CMakeLists.txt index 4e25985edc..2a691170af 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -233,6 +233,14 @@ IF(MSVC) ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS) ENDIF() +##### +# System inspection checks +##### +INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) +INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/oc2) +INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/libsrc) +SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_SOURCE_DIR}/libsrc) + ################################ # End Compiler Configuration ################################ @@ -986,13 +994,6 @@ MARK_AS_ADVANCED(ENABLE_DOXYGEN_BUILD_RELEASE_DOCS DOXYGEN_ENABLE_TASKS ENABLE_D # Option checks ################################ -##### -# System inspection checks -##### -INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) -INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/oc2) -INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/libsrc) -SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_SOURCE_DIR}/libsrc) # # Library include checks diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 22047ee208..52ee3552ce 100755 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -7,6 +7,8 @@ This file contains a high-level description of this package's evolution. Release ## 4.4.0 Released TBD +* Updated documentation to reference the new `NodeJS` interface to netcdf4, by Sven Willner. It is available from [https://www.npmjs.com/package/netcdf4](https://www.npmjs.com/package/netcdf4) or from the GitHub repository at [https://github.com/swillner/netcdf4-js](https://github.com/swillner/netcdf4-js). + * Incorporated pull request https://github.com/Unidata/netcdf-c/pull/150 from Greg Sjaardema to remove the internal hard-wired use of `NC_MAX_DIMS`, instead using a dynamic memory allocation. ### 4.4.0-RC5 Released - November 11, 2015 diff --git a/docs/software.md b/docs/software.md index 2e100aadf7..67bb5f9964 100644 --- a/docs/software.md +++ b/docs/software.md @@ -215,10 +215,8 @@ site](http://www-c4.ucsd.edu/~cids/software/visual.html). CSIRO MATLAB/netCDF interface {#CSIRO-MATLAB} ------------------------------------------------------------ -The [CSIRO MATLAB/netCDF -interface](http://www.marine.csiro.au/sw/matlab-netcdf.html) is now -available from the [CSIRO Marine -Laboratories](http://www.marine.csiro.au). +The [CSIRO MATLAB/netCDF interface](http://www.marine.csiro.au/sw/matlab-netcdf.html) is now +available from the [CSIRO Marine Laboratories](http://www.marine.csiro.au). The CSIRO MATLAB/netCDF interface is run from within MATLAB and has a simple syntax. It has options for automatically handling missing values, scale factors, and permutation of hyperslabs. It is, however, limited to @@ -1203,6 +1201,10 @@ The source may be downloaded from . For more information, please contact the author, David W. Pierce at . +netcdf4-js {#netcdf4-js} +------------------------------- +[netcdf4-js](https://www.npmjs.com/package/netcdf4) is a NodeJS addon for reading and writing the files in the Network Common Data Form (NetCDF) version <= 4, built upon the C-library for netcdf. It isavailable from npmjs at the link above, or directly from the [GitHub Repository](https://github.com/swillner/netcdf4-js). + NetCDF Toolbox for MATLAB-5 {#matlab5} ---------------------------------------------------- @@ -2383,6 +2385,8 @@ implement a MATLAB/netCDF interface are available: reader](http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=15177&objectType=file), and [fanmat](/software/netcdf/Contrib.html). + + Noesys {#Neosys} ------------------------------- diff --git a/libdap2/ncd2dispatch.c b/libdap2/ncd2dispatch.c index b33f2114af..6b1336c5cf 100644 --- a/libdap2/ncd2dispatch.c +++ b/libdap2/ncd2dispatch.c @@ -1165,14 +1165,15 @@ fprintf(stderr,"conflict: %s[%lu] %s[%lu]\n", PANIC1("missing dim names: %s",dim1->ocname); /* search backward so we can delete duplicates */ for(j=nclistlength(basedims)-1;j>i;j--) { - CDFnode* dim2 = (CDFnode*)nclistget(basedims,j); - if(strcmp(dim1->ncfullname,dim2->ncfullname)==0) { + if(!dim1->ncfullname) continue; + CDFnode* dim2 = (CDFnode*)nclistget(basedims,j); + if(strcmp(dim1->ncfullname,dim2->ncfullname)==0) { /* complain and suppress one of them */ fprintf(stderr,"duplicate dim names: %s[%lu] %s[%lu]\n", - dim1->ncfullname,(unsigned long)dim1->dim.declsize, - dim2->ncfullname,(unsigned long)dim2->dim.declsize); + dim1->ncfullname,(unsigned long)dim1->dim.declsize, + dim2->ncfullname,(unsigned long)dim2->dim.declsize); nclistremove(basedims,j); - } + } } }