Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

netCDF4 and CAS compatibility layer for pydap

Project Description

This code provides enhancements to the pydap client package:

  1. An updated pydap client that uses the requests package to handle Central Authentication Services (such as ESGF).
  2. A (partial) compatibility layer with netcdf4-python.

Frederic Laliberte University of Toronto, 2016

Documentation

ESGF

  1. 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.

  2. Go to https://pcmdi.llnl.gov/esg-orp/home.htm and login with your openid using your password.

  3. 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.

  4. Register for CMIP5 Research. You do not need to download data.

  5. 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()
    
  6. 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:

  1. Create an account at https://urs.earthdata.nasa.gov

  2. 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

  3. 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.

Release History

Release History

This version
History Node

0.2.6

History Node

0.2.5

History Node

0.2.4

History Node

0.2.3

History Node

0.2.2

History Node

0.2.1

History Node

0.2.0.1

History Node

0.2

History Node

0.1.4

History Node

0.1.3

History Node

0.1.2

History Node

0.1.1

History Node

0.1

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
netcdf4_pydap-0.2.6.tar.gz (15.4 kB) Copy SHA256 Checksum SHA256 Source Dec 18, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting