You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/cloud.md
+32-37Lines changed: 32 additions & 37 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,3 @@
1
-
2
-
Cloud Storage Access Using The NetCDF-C Library
3
-
============================
4
-
<!-- double header is needed to workaround doxygen bug -->
5
-
6
1
# Cloud Storage Access Using The NetCDF-C Library {#nccloud_head}
7
2
8
3
\tableofcontents
@@ -49,21 +44,21 @@ This is performed using the "byte-range" header in an HTTP request.
49
44
50
45
In the Amazon S3 context, a copy of a dataset, a netcdf-3 or netdf-4 file, is uploaded into a single object in some bucket.
51
46
Then using the key to this object, it is possible to tell the netcdf-c library to treat the object as a remote file and to use the HTTP Byte-Range protocol to access the contents of the object.
52
-
The dataset object is referenced using a URL with the trailing fragment containing the string ````#mode=bytes````.
47
+
The dataset object is referenced using a URL with the trailing fragment containing the string `#mode=bytes`.
53
48
54
49
An examination of the test program _nc_test/test_byterange.sh_ shows simple examples using the _ncdump_ program.
Note that for S3 access, it is expected that the URL is in what is called "path" format where the bucket, _noaa-goes16_ in this case, is part of the URL path instead of the host.
60
55
61
56
The _#mode=bytes_ mechanism generalizes to work with most servers that support byte-range access.
62
57
63
58
Specifically, Thredds servers support such access using the HttpServer access method as can be seen from this URL taken from the above test program.
The above assumes that these libraries were installed in '/usr/local/lib', so the above requires modification if they were installed elsewhere.
115
110
116
111
Note also that if S3 support is enabled, then you need to have a C++ compiler installed because the "aws-sdk-cpp" S3 support code is written in C++.
@@ -126,20 +121,20 @@ The necessary CMake flags are as follows (with defaults)
126
121
Note that unlike Automake, CMake can properly locate C++ libraries, so it should not be necessary to specify _-laws-cpp-sdk-s3_ assuming that the aws s3 libraries are installed in the default location.
127
122
For CMake with Visual Studio, the default location is here:
128
123
129
-
````
124
+
```
130
125
C:/Program Files (x86)/aws-cpp-sdk-all
131
-
````
126
+
```
132
127
133
128
It is possible to install the sdk library in another location.
134
129
In this case, one must add the following flag to the cmake command.
135
-
````
130
+
```
136
131
cmake ... -DAWSSDK_DIR=\<awssdkdir\>
137
-
````
132
+
```
138
133
where "awssdkdir" is the path to the sdk installation.
139
134
For example, this might be as follows.
140
-
````
135
+
```
141
136
cmake ... -DAWSSDK_DIR="c:\tools\aws-cpp-sdk-all"
142
-
````
137
+
```
143
138
This can be useful if blanks in path names cause problems in your build environment.
144
139
145
140
# Appendix B. Building the S3 SDKs {#nccloud_s3sdk}
@@ -173,7 +168,7 @@ For linux, the following context works. Of course your mileage may vary.
173
168
* Dependencies: openssl, libcurl, cmake, ninja (ninja-build using *apt-get*)
0 commit comments