mirror of
https://github.com/Unidata/netcdf-c.git
synced 2025-03-19 17:30:27 +08:00
Merge branch 'main' into rcdoc.dmh
This commit is contained in:
commit
e234fd61a1
@ -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
|
||||
#####
|
||||
|
@ -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.
|
||||
|
@ -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()
|
||||
|
@ -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
6
docs/.gitignore
vendored
@ -0,0 +1,6 @@
|
||||
Doxyfile
|
||||
custom_style.css
|
||||
latex_main
|
||||
man
|
||||
Doxyfile.bak
|
||||
|
@ -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}
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
33
docs/auth.md
33
docs/auth.md
@ -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 — 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
|
||||
|
@ -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 <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>
|
||||
|
@ -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"> $projectnumber</span><!--END PROJECT_NUMBER-->
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">$projectname
|
||||
<!--BEGIN PROJECT_NUMBER--> <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>
|
||||
|
@ -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.<region>.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.<region>.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).
|
||||
|
@ -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>
|
||||
|
@ -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()
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user