Esgf-client » History » Version 6
Herve Caumont, 2013-11-05 17:28
| 1 | 1 | Herve Caumont | h1. ESGFClient |
|---|---|---|---|
| 2 | |||
| 3 | 2 | Herve Caumont | {{>toc}} |
| 4 | |||
| 5 | 1 | Herve Caumont | h2. Overview |
| 6 | |||
| 7 | 5 | Herve Caumont | ESGFClient is a Command Line tool written in C# able to download products from the "ESGF Data Search" getting as input the location of a RDF file or a list of single product's urls. |
| 8 | 1 | Herve Caumont | |
| 9 | h2. Installation |
||
| 10 | |||
| 11 | The user can install the ESGFClient following these easy steps: |
||
| 12 | |||
| 13 | <pre><code class="XML"> |
||
| 14 | yum install esgf-tools |
||
| 15 | </code></pre> |
||
| 16 | |||
| 17 | and test the installation with |
||
| 18 | |||
| 19 | <pre><code class="XML"> |
||
| 20 | ESGFClient --help |
||
| 21 | </code></pre> |
||
| 22 | |||
| 23 | h2. Usage |
||
| 24 | |||
| 25 | These are the options given: |
||
| 26 | <pre><code class="XML"> |
||
| 27 | Options: |
||
| 28 | 5 | Herve Caumont | -u, --uri=VALUE RDF's URI to parse and download |
| 29 | -o, --output=VALUE Output folder |
||
| 30 | -r, --resource=VALUE Resource to download |
||
| 31 | -O, --openid=VALUE OpenId used to access. |
||
| 32 | -p, --password=VALUE Password for OpenId used to access. |
||
| 33 | -s, --dtstart=VALUE The beginning of the time query to restrict |
||
| 34 | the subset of data to download. YYYY-MM- |
||
| 35 | DDTHH:mm:ssZ. |
||
| 36 | -e, --dtend=VALUE The end of the time query to restrict the |
||
| 37 | subset of data to download. YYYY-MM-DDTHH:mm:ssZ. |
||
| 38 | --zM, --zmax=VALUE Maximum level (z) |
||
| 39 | --zm, --zmin=VALUE Minimum level (z). By default it's equal to 0 |
||
| 40 | -h, --help Show this message and exit |
||
| 41 | 1 | Herve Caumont | </code></pre> |
| 42 | |||
| 43 | h2. Download from rdf url |
||
| 44 | |||
| 45 | 6 | Herve Caumont | The Client allows the user to download only the OPeNDAP online resources. |
| 46 | 5 | Herve Caumont | It tries to retrieve from the RDF file all the parameters needed for a query: a time start and a time stop (for temporal queries), the level range (z dimension if it's provided by the variable) and the variable to query. |
| 47 | 1 | Herve Caumont | |
| 48 | Example: |
||
| 49 | <pre><code class="XML"> |
||
| 50 | 5 | Herve Caumont | ESGFClient -u "http://geowow.terradue.com/catalogue/esgf/thetao/rdf?time_frequency=mon&experiment=rcp85&ensemble=r1i1p1&institute=MRI&count=1" -O "https://pcmdi9.llnl.gov/esgf-idp/openid/user" -p password -s 2006-01-17 -e 2008-12-16 -zmin 500 -zmax 700 -o "./tmp/" |
| 51 | 1 | Herve Caumont | </code></pre> |
| 52 | |||
| 53 | 6 | Herve Caumont | In order to build these correct OPeNDAP query, the time search and level parameters are converted to a set of indexes needed to make a spatial and temporal query. |
| 54 | 1 | Herve Caumont | |
| 55 | 5 | Herve Caumont | The download is based on a revised wget script built upon a template called *wgetTemplate.sh*, filled with the URLs to be gotten. |
| 56 | 1 | Herve Caumont | |
| 57 | 5 | Herve Caumont | Then the client run the WGET script, that saves the files into the file system. |
| 58 | 1 | Herve Caumont | |
| 59 | 5 | Herve Caumont | All these files are protected by OpenID, so the user has to give his credentials by specifying the "--openid" option an --password. Conversely the security certificates are automatically downloaded by the WGET script. |
| 60 | 1 | Herve Caumont | |
| 61 | 6 | Herve Caumont | After the OPeNDAP files (.dods, .das, .lev, .lat etc..) are downloaded, an internal script converts the .dods Binary Format file to a NetCDF file, according to the .das Dataset Attribute Structure description file. Once the NetDCF file is generated, the script also deletes the downloaded temporary files. |
| 62 | 1 | Herve Caumont | |
| 63 | 6 | Herve Caumont | For more details on the OPeNDAP formats, refer to http://docs.opendap.org/index.php/UserGuideOPeNDAPMessages |
| 64 | 1 | Herve Caumont | |
| 65 | 6 | Herve Caumont | h2. OPeNDAP limits |
| 66 | |||
| 67 | Since this version of the ESGFClient is exclusively based on the OPeNDAP servers, there is a size limit for every download. With the ESGF federation, this limit is set to the default value (500 MBytes), and if the query reaches this limit, the server returns a 403 error and the download fails. You can deal with this limit by setting the right temporal and level slices of your sub-datasets. |