Giter Site home page Giter Site logo

logon for http request about esgf-pyclient HOT 2 CLOSED

esgf avatar esgf commented on June 9, 2024
logon for http request

from esgf-pyclient.

Comments (2)

bouweandela avatar bouweandela commented on June 9, 2024 1

The fsspec package uses aoihttp under the hood to retrieve the data. To use the ESGF credentials provided by LogonManager with aiohttp, you can do:

import ssl
import fsspec
import xarray as xr
from pyesgf.logon import LogonManager

# logon
manager = LogonManager()
if not manager.is_logged_on():
    myproxy_host = 'esgf-data.dkrz.de'
    manager.logon(hostname=myproxy_host, interactive=True, bootstrap=True)

# create SSL context
sslcontext = ssl.create_default_context(purpose=ssl.Purpose.SERVER_AUTH)
sslcontext.load_verify_locations(capath=manager.esgf_certs_dir)
sslcontext.load_cert_chain(manager.esgf_credentials)

# open file
download_url = 'http://cordexesg.dmi.dk/thredds/fileServer/cordex_general/cordex/output/EUR-11/DMI/ECMWF-ERAINT/evaluation/r1i1p1/DMI-HIRHAM5/v1/mon/tas/v20140620/tas_EUR-11_ECMWF-ERAINT_evaluation_r1i1p1_DMI-HIRHAM5_v1_mon_198901-199012.nc'
with fsspec.open(download_url, ssl=sslcontext) as file:
    ds = xr.open_dataset(file)
    print(ds)
<xarray.Dataset>
Dimensions:       (rlat: 412, rlon: 424, time: 24, bounds: 2)
Coordinates:
    lat           (rlat, rlon) float64 ...
    lon           (rlat, rlon) float64 ...
  * rlat          (rlat) float64 -23.38 -23.26 -23.16 ... 21.61 21.73 21.83
  * rlon          (rlon) float64 -28.38 -28.26 -28.16 ... 17.93 18.05 18.16
  * time          (time) datetime64[ns] 1989-01-16T12:00:00 ... 1990-12-16T12...
Dimensions without coordinates: bounds
Data variables:
    rotated_pole  |S1 ...
    tas           (time, rlat, rlon) float32 ...
    time_bnds     (time, bounds) datetime64[ns] ...
    height        float64 ...
Attributes: (12/23)
    CDI:                            Climate Data Interface version 1.5.3 (htt...
    history:                        Thu Nov 14 20:02:22 2013: /usr/local/bin/...
    institution:                    Danish Meteorological Institute
    Conventions:                    CF-1.6
    tracking_id:                    108d904e-e9e9-464b-85a7-dba596f6b5bc
    contact:                        [email protected]
    ...                             ...
    experiment_id:                  evaluation
    driving_experiment_name:        evaluation
    driving_experiment:             ECMWF-ERAINT,evaluation,r1i1p1
    driving_model_id:               ECMWF-ERAINT
    CORDEX_domain:                  EUR-11
    NCO:                            4.0.9

from esgf-pyclient.

larsbuntemeyer avatar larsbuntemeyer commented on June 9, 2024 1

Thanks @bouweandela ! This is very much appreciated and solves my problem 100%!

from esgf-pyclient.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.