Skip to main content

pydap 的 netCDF4 和 CAS 兼容层

项目描述

构建状态

此代码提供了对pydap客户端包的增强功能:

  1. 一个更新的 pydap 客户端,它使用requests包来处理中央身份验证服务(例如 ESGF)。

  2. 与netcdf4-python的(部分)兼容层。

Frederic Laliberte 多伦多大学,2016

文档

ESGF

  1. https://pcmdi.llnl.gov/user/add/?next=https://pcmdi.llnl.gov/projects/esgf-llnl/注册。注册时,您将创建一个密码并收到一个openid

  2. 转到https://pcmdi.llnl.gov/esg-orp/home.htm并使用您的openid使用您的密码登录

  3. 转到https://pcmdi.llnl.gov/esg-orp/registration-request.htm?resource=http%3A%2F%2Fpcmdi.llnl.gov%2Fthredds%2FfileServer%2Fesg_testroot%2Fregister%2Fcmip5_research.nc。您的浏览器可能会要求您信任某些证书。单击始终允许。如果你不这样做,它就行不通。

  4. 注册CMIP5 研究。您无需下载数据。

  5. 连接到 OPeNDAP 链接如下:

    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. 如果使用https://ceda.ac.uk而不是https://pcmdi.llnl.gov,则您的用户名必须与您的凭据一起使用:

    credentials={
                  'username' : YOURCEDAUSERNAME,
                  'password' : password,
                  'authentication_url' : esgf._uri(openid)}

URS NASA 地球数据

连接到 NASA Earthdata 需要几个步骤:

  1. 在https://urs.earthdata.nasa.gov创建一个帐户

  2. 授权数据以查看您的个人资料(NASA 将其称为添加应用程序,例如 Facebook)。关注http://disc.sci.gsfc.nasa.gov/registration/authorizing-desidsc-data-access-in-earthdata_login

  3. 加载 OPeNDAP 数据:

    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()

版本历史

0.2.6:获取 cookie 时的另一个错误修复。

0.2.5:获取 cookie 时的错误修复。

0.2.4:修复了 ESGF 的错误。

0.2.3:新的身份验证方法。支持 URS NASA Earthdata

0.2.2:Pydap 3.1.1 现在是必需的。

0.2.1:删除了对 NASA Earthdata 的支持。

0.2:Travis-CI 集成。有限的测试套件。代码重组。

0.1.4:错误修复和更强大的错误处理。

0.1.1:添加了特殊的数据集类来模仿 wget。

0.1:初始提交。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

netcdf4_pydap-0.2.6.tar.gz (15.4 kB 查看哈希

已上传 source