netCDF4 and CAS compatibility layer for pydap
Project description
This code provides enhancements to the pydap client package:
An updated pydap client that uses the requests package to handle Central Authentication Services (such as ESGF).
A (partial) compatibility layer with netcdf4-python.
Frederic Laliberte University of Toronto, 2016
Documentation
ESGF
Register at https://pcmdi.llnl.gov/user/add/?next=https://pcmdi.llnl.gov/projects/esgf-llnl/. When registering, you will create a password and receive an openid.
Go to https://pcmdi.llnl.gov/esg-orp/home.htm and login with your openid using your password.
Go to https://pcmdi.llnl.gov/esg-orp/registration-request.htm?resource=http%3A%2F%2Fpcmdi.llnl.gov%2Fthredds%2FfileServer%2Fesg_testroot%2Fregister%2Fcmip5_research.nc. Your browser will likely ask you to trust some certificates. CLICK ALWAYS ALLOW. If you don’t do this, it won’t work.
Register for CMIP5 Research. You do not need to download data.
Connect to OPeNDAP links as follows:
import matplotlib.pyplot as plt import numpy as np import netcdf4_pydap import netcdf4_pydap.cas.esgf as esgf openid = YOUROPENID password = YOURPASSWORD credentials={ 'password' : password, 'authentication_url' : esgf._uri(openid)} url = ('http://cordexesg.dmi.dk/thredds/dodsC/cordex_general/cordex/' 'output/EUR-11/DMI/ICHEC-EC-EARTH/historical/r3i1p1/DMI-HIRHAM5/' 'v1/day/pr/v20131119/' 'pr_EUR-11_ICHEC-EC-EARTH_historical_r3i1p1_DMI-HIRHAM5_v1_day_19960101-20001231.nc') with netcdf4_pydap.Dataset(url,**credentials) as dataset: data = dataset.variables['pr'][0,:,:] plt.contourf(np.squeeze(data)) plt.show()
If using https://ceda.ac.uk instead of https://pcmdi.llnl.gov, your username must be passed along with your credentials use:
credentials={ 'username' : YOURCEDAUSERNAME, 'password' : password, 'authentication_url' : esgf._uri(openid)}
URS NASA Earthdata
There are a few steps required to connect to NASA Earthdata:
Create an account at https://urs.earthdata.nasa.gov
Authorize the data to see your profile (NASA calls this adding an app, a la Facebook). Follow http://disc.sci.gsfc.nasa.gov/registration/authorizing-desidsc-data-access-in-earthdata_login
Load OPeNDAP data:
import matplotlib.pyplot as plt import numpy as np import netcdf4_pydap credentials={'username': YOURUSERNAME, 'password': YOURPASSWORD, 'authentication_url':'https://urs.earthdata.nasa.gov/'} url = ('http://goldsmr3.gesdisc.eosdis.nasa.gov:80/opendap/' 'MERRA_MONTHLY/MAIMCPASM.5.2.0/1979/MERRA100.prod.assim.instM_3d_asm_Cp.197901.hdf') with netcdf4_pydap.Dataset(url, **credentials) as dataset: data = dataset.variables['SLP'][0,:,:] plt.contourf(np.squeeze(data)) plt.show()
Version History
0.2.6: Another bug fix when getting cookies.
0.2.5: Bug fix when getting cookies.
0.2.4: Bug fix for ESGF.
0.2.3: New authentication method. Support URS NASA Earthdata
0.2.2: Pydap 3.1.1 is now a requirement.
0.2.1: Removed support for NASA Earthdata.
0.2: Travis-CI integration. Limited test suite. Code reorganization.
0.1.4: Bug fix and more robust error handling.
0.1.1: Added special Dataset class to mimic wget.
0.1 : Initial commit.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file netcdf4_pydap-0.2.6.tar.gz
.
File metadata
- Download URL: netcdf4_pydap-0.2.6.tar.gz
- Upload date:
- Size: 15.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c293dd659c72bad6411d6edc8fb58da4972474a7e9bc109581102388b6833953 |
|
MD5 | 49302cc1307da54e96f3d4cb0cb1f971 |
|
BLAKE2b-256 | 18f00861cc482afdedb7428b1a7ae3e1f646f7ac054d4b1d4382a45c3df60e6b |