Merge branch 'main' into rcdoc.dmh

This commit is contained in:
Ward Fisher 2024-08-05 10:46:55 -06:00 committed by GitHub
commit e234fd61a1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
16 changed files with 132 additions and 126 deletions

View File

@ -16,6 +16,27 @@ project(netCDF
VERSION 4.9.3
)
#####
# Version Info:
#
# Release Version
# Library Version
# SO Version
#
# SO Version is computed from library version. See:
# http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning
#####
set(NC_VERSION_NOTE "-rc1")
set(netCDF_VERSION ${PROJECT_VERSION}${NC_VERSION_NOTE})
set(VERSION ${netCDF_VERSION})
set(NC_VERSION ${netCDF_VERSION})
set(PACKAGE_VERSION ${VERSION})
# These values should match those in configure.ac
set(netCDF_LIB_VERSION 22)
set(netCDF_SO_VERSION 22)
#Add custom CMake Module
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" "${PROJECT_SOURCE_DIR}/cmake")
@ -51,26 +72,7 @@ endif()
add_library(netcdf)
add_library(netCDF::netcdf ALIAS netcdf)
#####
# Version Info:
#
# Release Version
# Library Version
# SO Version
#
# SO Version is computed from library version. See:
# http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning
#####
set(NC_VERSION_NOTE "-development")
set(netCDF_VERSION ${PROJECT_VERSION}${NC_VERSION_NOTE})
set(VERSION ${netCDF_VERSION})
set(NC_VERSION ${netCDF_VERSION})
set(PACKAGE_VERSION ${VERSION})
# These values should match those in configure.ac
set(netCDF_LIB_VERSION 19)
set(netCDF_SO_VERSION 19)
# Version of the dispatch table. This must match the value in
# configure.ac.
@ -736,13 +738,18 @@ if(NOT WIN32)
endif()
# Options for S3 Support
option(NETCDF_ENABLE_S3 "Enable S3 support." OFF)
#option(NETCDF_ENABLE_S3 "Enable S3 support." OFF)
option(NETCDF_ENABLE_S3_AWS "Enable S3 support via AWS-CPP-SDK" OFF)
option(NETCDF_ENABLE_S3_INTERNAL "Enable S3 Internal support." OFF)
option(NETCDF_ENABLE_NCZARR_S3 "Enable NCZarr S3 support; Deprecated in favor of NETCDF_ENABLE_S3" OFF)
cmake_dependent_option(NETCDF_ENABLE_S3 "Enable S3 Support" ON "NETCDF_ENABLE_S3_AWS OR NETCDF_ENABLE_S3_INTERNAL" OFF)
option(NETCDF_ENABLE_NCZARR_S3 "Enable NCZarr S3 support; Deprecated in favor of NETCDF_ENABLE_S3" ${NETCDF_ENABLE_S3})
if(NOT NETCDF_ENABLE_REMOTE_FUNCTIONALITY)
set(NETCDF_ENABLE_S3 OFF CACHE BOOL "" FORCE)
set(NETCDF_ENABLE_S3_INTERNAL OFF CACHE BOOL "" FORCE)
set(NETCDF_ENABLE_S3_AWS OFF CACHE BOOL "" FORCE)
set(NETCDF_ENABLE_NCZARR_S3 OFF CACHE BOOL "" FORCE)
endif()
@ -1531,10 +1538,7 @@ endif()
# STATIC_DEFINE netcdf_BUILT_AS_STATIC
#)
#####
# Build doxygen documentation, if need be.
#####
add_subdirectory(docs)
##
# Brute force, grab all of the dlls from the dependency directory,
@ -1805,6 +1809,12 @@ set(abs_top_builddir "${CMAKE_CURRENT_BINARY_DIR}")
set(abs_top_srcdir "${CMAKE_CURRENT_SOURCE_DIR}")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test_common.in ${CMAKE_CURRENT_BINARY_DIR}/test_common.sh @ONLY NEWLINE_STYLE LF)
#####
# Build doxygen documentation, if need be.
# This must come after setting top_builddir, etc.
#####
add_subdirectory(docs)
####
# Build s3cleanup.sh and s3gc.sh
#####

View File

@ -10,6 +10,11 @@ This file contains a high-level description of this package's evolution. Release
* Provide better documentation for the .rc file mechanism and API. See [Github #????](https://github.com/Unidata/netcdf-c/pull/????) for more information.
* Convert NCZarr V2 to store all netcdf-4 specific info as attributes. This improves interoperability with other Zarr implementations by no longer using non-standard keys. The price to be paid is that lazy attribute reading cannot be supported. See [Github #2836](https://github.com/Unidata/netcdf-c/pull/2936) for more information.
* Cleanup the option code for NETCDF_ENABLE_SET_LOG_LEVEL\[_FUNC\] See [Github #2931](https://github.com/Unidata/netcdf-c/pull/2931) for more information.
*
### Release Candidate 1 - July 26, 2024
* Convert NCZarr V2 to store all netcdf-4 specific info as attributes. This improves interoperability with other Zarr implementations by no longer using non-standard keys. The price to be paid is that lazy attribute reading cannot be supported. See [Github #2836](https://github.com/Unidata/netcdf-c/issues/2936) for more information.
* Cleanup the option code for NETCDF_ENABLE_SET_LOG_LEVEL\[_FUNC\] See [Github #2931](https://github.com/Unidata/netcdf-c/issues/2931) for more information.
* Fix duplicate definition when using aws-sdk-cpp. See [Github #2928](https://github.com/Unidata/netcdf-c/issues/2928) for more information.
* Cleanup various obsolete options and do some code refactoring. See [Github #2926](https://github.com/Unidata/netcdf-c/pull/2926) for more information.
* Convert the Zarr-related ENABLE_XXX options to NETCDF_ENABLE_XXX options (part of the cmake overhaul). See [Github #2923](https://github.com/Unidata/netcdf-c/pull/2923) for more information.

View File

@ -429,7 +429,7 @@ endif ()
# because for some reason this screws up if we unconditionally test for sdk
# and it is not available. Fix someday
if(NETCDF_ENABLE_S3)
if(NOT NETCDF_ENABLE_S3_INTERNAL)
if(NETCDF_ENABLE_S3_AWS)
# See if aws-s3-sdk is available
find_package(AWSSDK REQUIRED COMPONENTS s3;transfer)
if(AWSSDK_FOUND)
@ -441,7 +441,7 @@ if(NETCDF_ENABLE_S3)
else(AWSSDK_FOUND)
set(NETCDF_ENABLE_S3_AWS OFF CACHE BOOL "S3 AWS" FORCE)
endif(AWSSDK_FOUND)
else(NOT NETCDF_ENABLE_S3_INTERNAL)
else(NETCDF_ENABLE_S3_INTERNAL)
# Find crypto libraries required with testing with the internal s3 api.
#find_library(SSL_LIB NAMES ssl openssl)
find_package(OpenSSL REQUIRED)
@ -454,7 +454,7 @@ if(NETCDF_ENABLE_S3)
# message(FATAL_ERROR "Can't find a crypto library, required by S3_INTERNAL")
#endif(NOT CRYPTO_LIB)
endif(NOT NETCDF_ENABLE_S3_INTERNAL)
endif(NETCDF_ENABLE_S3_AWS)
else()
set(NETCDF_ENABLE_S3_AWS OFF CACHE BOOL "S3 AWS" FORCE)
endif()

View File

@ -10,7 +10,7 @@
AC_PREREQ([2.59])
# Initialize with name, version, and support email address.
AC_INIT([netCDF],[4.9.3-development],[support-netcdf@unidata.ucar.edu],[netcdf-c])
AC_INIT([netCDF],[4.9.4-development],[support-netcdf@unidata.ucar.edu],[netcdf-c])
##
# Prefer an empty CFLAGS variable instead of the default -g -O2.
@ -21,7 +21,7 @@ AC_INIT([netCDF],[4.9.3-development],[support-netcdf@unidata.ucar.edu],[netcdf-c
AC_SUBST([netCDF_VERSION_MAJOR]) netCDF_VERSION_MAJOR=4
AC_SUBST([netCDF_VERSION_MINOR]) netCDF_VERSION_MINOR=9
AC_SUBST([netCDF_VERSION_PATCH]) netCDF_VERSION_PATCH=3
AC_SUBST([netCDF_VERSION_PATCH]) netCDF_VERSION_PATCH=4
AC_SUBST([NC_VERSION_NOTE]) NC_VERSION_NOTE="-development"
##
@ -29,7 +29,7 @@ AC_SUBST([NC_VERSION_NOTE]) NC_VERSION_NOTE="-development"
# See http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning
# for information regarding incrementing `-version-info`.
# These values should match those in CMakeLists.txt
AC_SUBST([netCDF_SO_VERSION]) netCDF_SO_VERSION=21:2:2
AC_SUBST([netCDF_SO_VERSION]) netCDF_SO_VERSION=22:0:0
#####
# Set some variables used to generate a libnetcdf.settings file,

6
docs/.gitignore vendored
View File

@ -0,0 +1,6 @@
Doxyfile
custom_style.css
latex_main
man
Doxyfile.bak

View File

@ -34,7 +34,9 @@ IF(NETCDF_ENABLE_DOXYGEN)
# Generate User Documentation
ADD_CUSTOM_TARGET(doc_all ALL
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
COMMAND ${DOXYGEN_EXECUTABLE} -u ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
COMMAND ${DOXYGEN_EXECUTABLE} -w html ${CMAKE_CURRENT_BINARY_DIR}/header.html ${CMAKE_CURRENT_BINARY_DIR}/footer.html ${CMAKE_CURRENT_BINARY_DIR}/custom_stylesheet.html ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/auth.html ${CMAKE_CURRENT_BINARY_DIR}/html
COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/obsolete/fan_utils.html ${CMAKE_CURRENT_BINARY_DIR}/html
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}

View File

@ -38,7 +38,7 @@ PROJECT_NAME = netCDF-C
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = 4.9.3-development
PROJECT_NUMBER = 4.9.4-development
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a

View File

@ -945,6 +945,7 @@ INPUT = @abs_top_srcdir@/docs/mainpage.dox \
@abs_top_srcdir@/docs/windows-binaries.md \
@abs_top_srcdir@/docs/inmemory.md \
@abs_top_srcdir@/docs/byterange.md \
@abs_top_srcdir@/docs/auth.md \
@abs_top_srcdir@/docs/nczarr.md \
@abs_top_srcdir@/docs/cloud.md \
@abs_top_srcdir@/docs/notes.md \
@ -1353,7 +1354,7 @@ HTML_FILE_EXTENSION = .html
# of the possible markers and block names see the documentation.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_HEADER = @abs_top_srcdir@/docs/header.html
HTML_HEADER = @abs_top_builddir@/docs/header.html
# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
# generated HTML page. If the tag is left blank doxygen will generate a standard
@ -1363,7 +1364,7 @@ HTML_HEADER = @abs_top_srcdir@/docs/header.html
# that doxygen normally uses.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_FOOTER = @abs_top_srcdir@/docs/footer.html
HTML_FOOTER = @abs_top_builddir@/docs/footer.html
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
# sheet that is used by each HTML page. It can be used to fine-tune the look of

View File

@ -56,7 +56,11 @@ endif
# includes them in the documentation.
doxyfile.stamp:
$(DOXYGEN) Doxyfile && cp $(top_srcdir)/docs/auth.md $(top_srcdir)/docs/obsolete/fan_utils.html html
$(DOXYGEN) -u $(top_builddir)/docs/Doxyfile && \
$(DOXYGEN) -w html $(top_builddir)/docs/header.html \
$(top_builddir)/docs/footer.html $(top_builddir)/docs/custom_style.css $(top_builddir)/docs/Doxyfile && \
$(DOXYGEN) $(top_builddir)/docs/Doxyfile && \
cp $(top_srcdir)/docs/auth.md $(top_srcdir)/docs/obsolete/fan_utils.html html
CLEANFILES = doxyfile.stamp

View File

@ -1,21 +1,18 @@
NetCDF Authorization Support
======================================
====================================
<!-- double header is needed to workaround doxygen bug -->
NetCDF Authorization Support {#auth}
====================================
[TOC]
## Introduction {#auth_intro}
## Introduction {#auth}
netCDF can support user authorization using the facilities provided by the curl
library. This includes basic password authentication as well as
certificate-based authorization.
At the moment, this document only applies to DAP2 and DAP4 access.
With some exceptions (e.g. see the section on <a href="#REDIR">redirection</a>)
With some exceptions (e.g. see the section on <a href="#auth_redir">redirection</a>)
The libcurl authorization mechanisms can be accessed in two ways
1. Inserting the username and password into the url, or
@ -33,7 +30,7 @@ This username and password will be used if the server asks for
authentication. Note that only simple password authentication
is supported in this format.
Specifically note that [redirection-based](#REDIR)
Specifically note that [redirection-based](#auth_redir)
authorization may work with this but it is a security risk.
This is because the username and password
may be sent to each server in the redirection chain.
@ -82,7 +79,7 @@ This is an alternative to setting it in the url.
The value must be of the form "username:password".
See the <a href="#USERPWDESCAPE">password escaping</a> section
to see how this value must escape certain characters.
Also see <a href="#REDIR">redirection authorization</a>
Also see <a href="#auth_redir">redirection authorization</a>
for important additional information.
The pair of keys
@ -91,7 +88,7 @@ can be used as an alternative to HTTP.CREDENTIALS.USERPASSWORD
to set the simple password authentication.
If present, they take precedence over HTTP.CREDENTIALS.USERPASSWORD.
The values do not need to be escaped.
See <a href="#REDIR">redirection authorization</a>
See <a href="#auth_redir">redirection authorization</a>
for important additional information.
### Cookie Jar
@ -102,7 +99,7 @@ to read cookies (CURLOPT_COOKIEJAR) and also
the file into which to store cookies (CURLOPT_COOKIEFILE).
The same value is used for both CURLOPT values.
It defaults to in-memory storage.
See [redirection authorization](#REDIR)
See [redirection authorization](#auth_redir)
for important additional information.
### Certificate Authentication
@ -136,7 +133,7 @@ deprecated; use HTTP.PROXY.SERVER
HTTP.NETRC
specifies the absolute path of the .netrc file,
and causes it to be used instead of username and password.
See [redirection authorization](#REDIR)
See [redirection authorization](#auth_redir)
for information about using *.netrc*.
## Password Escaping {#auth_userpwdescape}
@ -234,7 +231,7 @@ machine urs.earthdata.nasa.gov login <user> password <password>
Some systems, notably ESG (Earth System Grid), requires
the use of client-side certificates, as well as being
[re-direction based](#REDIR).
[re-direction based](#auth_redir).
This requires setting the following entries:
- HTTP.COOKIEJAR &mdash; a file path for storing cookies across re-direction.
@ -251,7 +248,7 @@ Note that the first two are there to support re-direction based authentication.
1. https://curl.haxx.se/libcurl/c/curl_easy_setopt.html
2. https://curl.haxx.se/docs/ssl-compared.html
## Appendix A. All RC-File Keys {#auth_allkeys}
## Authorization Appendix A. All RC-File Keys {#auth_allkeys}
For completeness, this is the list of all rc-file keys.
If this documentation is out of date with respect to the actual code,
@ -278,21 +275,21 @@ the code is definitive.
<tr><td>HTTP.NETRC</td><td>CURLOPT_NETRC,CURLOPT_NETRC_FILE</td>
</table>
## Appendix B. URS Access in Detail {#auth_ursdetail}
## Authorization Appendix B. URS Access in Detail {#auth_ursdetail}
It is possible to use the NASA Earthdata Login System (URS)
with netcdf by using using the process specified in the
[redirection based authorization section](#REDIR).
[redirection based authorization section](#auth_redir).
In order to access URS controlled datasets, however, it is necessary to
register as a user with NASA at this website (subject to change):
https://uat.urs.earthdata.nasa.gov/
## Appendix C. ESG Access in Detail {#auth_esgdetail}
## Authorization Appendix C. ESG Access in Detail {#auth_esgdetail}
It is possible to access Earth Systems Grid (ESG) datasets
from ESG servers through the netCDF API using the techniques
described in the section on [Client-Side Certificates](#CLIENTCERTS).
described in the section on [Client-Side Certificates](#auth_clientcerts).
In order to access ESG datasets, however, it is necessary to
register as a user with ESG and to setup your environment
@ -375,7 +372,7 @@ named "truststore"
### Running the C Client
Refer to the section on [Client-Side Certificates](#CLIENTCERTS).
Refer to the section on [Client-Side Certificates](#auth_clientcerts).
The keys specified there must be set in the rc file to support ESG access.
- HTTP.COOKIEJAR=~/.dods_cookies

View File

@ -1,21 +1,17 @@
<!-- HTML footer for doxygen 1.8.17-->
<!-- start footer part -->
<!--BEGIN GENERATE_TREEVIEW-->
<div id="nav-path" class="navpath"> <!-- id is needed for treeview function! -->
<!--END GENERATE_TREEVIEW-->
<!--BEGIN !GENERATE_TREEVIEW-->
<div> <!-- id unnecessary if treeview is not used -->
<!--END !GENERATE_TREEVIEW-->
<hr size="2" />
<address style="text-align: center;">
<a href="https://www.unidata.ucar.edu/software/netcdf/">Return to the Main Unidata NetCDF page.</a><br>
<img src="./$relpath^/uniLogo.png">
</address>
<address style="text-align: right;"><small>
Generated on $datetime for $projectname. NetCDF is
a <a href="https://www.unidata.ucar.edu/">Unidata</a> library.</small>
</address>
</div>
</body>
</html>
<!-- HTML footer for doxygen 1.9.1-->
<!-- start footer part -->
<!--BEGIN GENERATE_TREEVIEW-->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
$navpath
<li class="footer">$generatedby <a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion </li>
</ul>
</div>
<!--END GENERATE_TREEVIEW-->
<!--BEGIN !GENERATE_TREEVIEW-->
<hr class="footer"/><address class="footer"><small>
$generatedby&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion
</small></address>
<!--END !GENERATE_TREEVIEW-->
</body>
</html>

View File

@ -1,88 +1,54 @@
<!-- HTML header for doxygen 1.10.0-->
<!-- HTML header for doxygen 1.9.1-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="$langISO">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen $doxygenversion"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
<!--BEGIN PROJECT_ICON-->
<link rel="icon" href="$relpath^$projecticon" type="image/x-icon" />
<!--END PROJECT_ICON-->
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
<!--BEGIN DISABLE_INDEX-->
<!--BEGIN FULL_SIDEBAR-->
<script type="text/javascript">var page_layout=1;</script>
<!--END FULL_SIDEBAR-->
<!--END DISABLE_INDEX-->
<script type="text/javascript" src="$relpath^jquery.js"></script>
<script type="text/javascript" src="$relpath^dynsections.js"></script>
<!--BEGIN COPY_CLIPBOARD-->
<script type="text/javascript" src="$relpath^clipboard.js"></script>
<!--END COPY_CLIPBOARD-->
$treeview
$search
$mathjax
$darkmode
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
$extrastylesheet
<html>
<head>
<!-- ... other metadata & script includes ... -->
<script type="text/javascript" src="$relpath^doxygen-awesome-darkmode-toggle.js"></script>
<script type="text/javascript">
DoxygenAwesomeDarkModeToggle.init()
</script>
</head>
<body>
</head>
<body>
<!--BEGIN DISABLE_INDEX-->
<!--BEGIN FULL_SIDEBAR-->
<div id="side-nav" class="ui-resizable side-nav-resizable"><!-- do not remove this div, it is closed by doxygen! -->
<!--END FULL_SIDEBAR-->
<!--END DISABLE_INDEX-->
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<!--BEGIN TITLEAREA-->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<tr style="height: 56px;">
<!--BEGIN PROJECT_LOGO-->
<td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"$logosize/></td>
<td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"/></td>
<!--END PROJECT_LOGO-->
<!--BEGIN PROJECT_NAME-->
<td id="projectalign">
<div id="projectname">$projectname<!--BEGIN PROJECT_NUMBER--><span id="projectnumber">&#160;$projectnumber</span><!--END PROJECT_NUMBER-->
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">$projectname
<!--BEGIN PROJECT_NUMBER-->&#160;<span id="projectnumber">$projectnumber</span><!--END PROJECT_NUMBER-->
</div>
<!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
</td>
<!--END PROJECT_NAME-->
<!--BEGIN !PROJECT_NAME-->
<!--BEGIN PROJECT_BRIEF-->
<td>
<td style="padding-left: 0.5em;">
<div id="projectbrief">$projectbrief</div>
</td>
<!--END PROJECT_BRIEF-->
<!--END !PROJECT_NAME-->
<!--BEGIN DISABLE_INDEX-->
<!--BEGIN SEARCHENGINE-->
<!--BEGIN !FULL_SIDEBAR-->
<td>$searchbox</td>
<!--END !FULL_SIDEBAR-->
<td>$searchbox</td>
<!--END SEARCHENGINE-->
<!--END DISABLE_INDEX-->
</tr>
<!--BEGIN SEARCHENGINE-->
<!--BEGIN FULL_SIDEBAR-->
<tr><td colspan="2">$searchbox</td></tr>
<!--END FULL_SIDEBAR-->
<!--END SEARCHENGINE-->
</tbody>
</table>
</div>

View File

@ -320,17 +320,18 @@ Note that this is different from zlib.
## Addressing Style
The notion of "addressing style" may need some expansion.
Amazon S3 accepts two forms for specifying the endpoint for accessing the data
(see the document "quickstart_path).
The notion of "addressing style" may need some expansion. Amazon S3 accepts two forms for specifying the endpoint for accessing the data (see the document "quickstart_path").
1. Virtual -- the virtual addressing style places the bucket in the host part of a URL.
For example:
```
https://<bucketname>.s2.&lt;region&gt.amazonaws.com/
```
2. Path -- the path addressing style places the bucket in at the front of the path part of a URL.
For example:
```
https://s3.&lt;region&gt.amazonaws.com/<bucketname>/
```
@ -537,6 +538,7 @@ Then the following options must be specified for cmake.
-DAWSSDK_ROOT_DIR=${AWSSDK_ROOT_DIR}
-DAWSSDK_DIR=${AWSSDK_ROOT_DIR}/lib/cmake/AWSSDK
````
# Appendix B. Amazon S3 Imposed Limits {#nczarr_s3limits}
The Amazon S3 cloud storage imposes some significant limits that are inherited by NCZarr (and Zarr also, for that matter).

View File

@ -197,6 +197,9 @@
<li>
<a href="#ncregrid" >ncregrid</a>
</li>
<li>
<a href="#ncstat" >NCSTAT (A collection for complex statistical processing and analysis of huge climate model outputs and datasets).</a>
</li>
<li>
<a href="#nctoolbox" >nctoolbox (a MATLAB common data model interface)</a>
</li>
@ -1914,6 +1917,20 @@ or using ECMWF reanalysis on a reduced grid
</p>
<p></p>
<h2><a id="ncstat" name="ncstat">ncstat</a></h2>
<p>
The NCSTAT software is a collection of many operators for complex statistical processing and analysis of huge climate model outputs and datasets. NCSTAT is an open-source parallel, multithreaded software written in Fortran 2003 based on the OpenMP standard, using the NetCDF Fortran90 interface of the NetCDF library for input/output data transfer and the STATPACK library (also multithreaded and Fortran 2003) for numerical computations.<br><br>
The NCSTAT software is freely available here:<br><br>
<a href="https://pagesperso.locean-ipsl.upmc.fr/terray/ncstat2.2/index.html">https://pagesperso.locean-ipsl.upmc.fr/terray/ncstat2.2/index.html</a><br><br>
The STATPACK library is also freely available here:<br><br>
<a href="https://pagesperso.locean-ipsl.upmc.fr/terray/statpack2.3/index.html">https://pagesperso.locean-ipsl.upmc.fr/terray/statpack2.3/index.html</a>
</p>
<p></p>
<h2><a id="nctoolbox" name="nctoolbox">nctoolbox (a MATLAB common data model interface)</a></h2>
<p>

View File

@ -175,7 +175,7 @@ IF(NETCDF_ENABLE_TESTS)
if(LARGE_FILE_TESTS)
BUILD_BIN_TEST(test_readcaching)
BUILD_BIN_TEST(test_writecaching)
BUILD_BIN_TEST(test_chunkcases ${TSTCOMMONSRC})
build_bin_test_with_util_lib(test_chunkcases test_utils)
add_sh_test(nczarr_test run_cachetest)
add_sh_test(nczarr_test run_chunkcases)
ENDIF()

View File

@ -87,11 +87,11 @@ main(void)
{
size_t mbused = getPeakRSS() / (1024 * 1024);
printf("Max mem: %zu MB\n", mbused);
if(mbused > 100) {
printf("*** Failed: used: %luMB expected: < 100MB\n",mbused);
if(mbused > 128) {
printf("*** Failed: used: %luMB expected: < 128\n",mbused);
return (1);
} else {
printf("*** Passed: used: %luMB (< 100MB)\n",mbused);
printf("*** Passed: used: %luMB (< 128)\n",mbused);
return 0;
}
}