import os
os.environ['ROOK_URL'] = 'http://cp4cds-cn1.dkrz.de/wps'
# os.environ['ROOK_URL'] = 'http://localhost:5000/wps'
from rooki import rooki
rooki.url
'http://cp4cds-cn1.dkrz.de/wps'
collection = 'c3s-cmip5.output1.ICHEC.EC-EARTH.historical.day.atmos.day.r1i1p1.tas.latest'
time = '1880-01-01/1900-12-30'
resp = rooki.subset(collection, time=time)
resp.ok
True
resp.download_urls()
['http://cp4cds-cn1.dkrz.de:80/outputs/rook/a20554f2-38cd-11eb-af38-f2e4655a10b7/tas_day_EC-EARTH_historical_r1i1p1_18800101-19001229.nc']
prov_json_url = resp.provenance()
prov_json_url
'http://cp4cds-cn1.dkrz.de:80/outputs/rook/9bd70d78-38cd-11eb-af38-f2e4655a10b7/provenance.json'
import requests
requests.get(prov_json_url).json()
{'prefix': {'provone': 'http://purl.dataone.org/provone/2015/01/15/ontology#', 'dcterms': 'http://purl.org/dc/terms/', 'default': 'http://purl.org/roocs/prov#'}, 'agent': {'copernicus_CDS': {'prov:type': 'prov:Organization', 'dcterms:title': 'Copernicus Climate Data Store'}, 'rook': {'prov:type': 'prov:SoftwareAgent', 'dcterms:source': 'https://github.com/roocs/rook/releases/tag/v0.2.0'}, 'daops': {'prov:type': 'prov:SoftwareAgent', 'dcterms:source': 'https://github.com/roocs/daops/releases/tag/v0.3.0'}}, 'wasAttributedTo': {'_:id1': {'prov:entity': 'rook', 'prov:agent': 'copernicus_CDS'}}, 'activity': {'subset': {'time': '1880-01-01/1900-12-30', 'apply_fixes': True}}, 'entity': {'c3s-cmip5.output1.ICHEC.EC-EARTH.historical.day.atmos.day.r1i1p1.tas.latest': {}, 'tas_day_EC-EARTH_historical_r1i1p1_18800101-19001229.nc': {}}, 'wasStartedBy': {'_:id2': {'prov:activity': 'subset', 'prov:trigger': 'rook', 'prov:starter': 'daops'}}, 'wasDerivedFrom': {'_:id3': {'prov:generatedEntity': 'tas_day_EC-EARTH_historical_r1i1p1_18800101-19001229.nc', 'prov:usedEntity': 'c3s-cmip5.output1.ICHEC.EC-EARTH.historical.day.atmos.day.r1i1p1.tas.latest', 'prov:activity': 'subset'}}}
prov_plot_url = resp.provenance_image()
prov_plot_url
'http://cp4cds-cn1.dkrz.de:80/outputs/rook/9bd70d78-38cd-11eb-af38-f2e4655a10b7/provenance.png'
from IPython.display import Image
Image(prov_plot_url)
from rooki import operators as ops
wf = ops.Subset(
ops.Subset(
ops.Input(
'tas', ['c3s-cmip5.output1.ICHEC.EC-EARTH.historical.day.atmos.day.r1i1p1.tas.latest']
),
time="1860-01-01/1920-12-30",
),
time="1880-01-01/1900-12-30"
)
resp = wf.orchestrate()
resp
Metalink URL: http://cp4cds-cn1.dkrz.de:80/outputs/rook/fcb94b1a-38cd-11eb-ae57-f2e4655a10b7/input.meta4, num files: 1
resp.download_urls()
['http://cp4cds-cn1.dkrz.de:80/outputs/rook/05f435e6-38ce-11eb-ae57-f2e4655a10b7/tas_day_EC-EARTH_historical_r1i1p1_18800101-19001229.nc']
from IPython.display import Image
Image(resp.provenance_image())