Rooki calls climate data operations on the rook processing service.
import os
os.environ['ROOK_URL'] = 'http://rook.dkrz.de/wps'
from rooki import rooki
parameters of subset operation
rooki.subset?
resp = rooki.subset(
collection='c3s-cmip6.ScenarioMIP.INM.INM-CM5-0.ssp245.r1i1p1f1.day.tas.gr1.v20190619',
time='2016-01-01/2016-12-30',
)
resp.ok
ds = resp.datasets()[0]
ds
from IPython.display import Image
Image(resp.provenance_image())
Use exact time points
resp = rooki.subset(
collection='c3s-cmip6.ScenarioMIP.INM.INM-CM5-0.ssp245.r1i1p1f1.day.tas.gr1.v20190619',
time='2016-01-01T12:00:00, 2016-02-01T12:00:00, 2016-03-01T12:00:00',
)
resp.ok
ds = resp.datasets()[0]
ds
from IPython.display import Image
Image(resp.provenance_image())
TODO: use time
parameter for pre-selection
resp = rooki.subset(
collection='c3s-cmip6.ScenarioMIP.INM.INM-CM5-0.ssp245.r1i1p1f1.day.tas.gr1.v20190619',
time='2016/2020',
time_components='year:2016,2017|month:jan,feb,mar|day:01',
)
resp.ok
ds = resp.datasets()[0]
ds
from IPython.display import Image
Image(resp.provenance_image())
from rooki import operators as ops
wf = ops.Subset(
ops.Input(
'tas', ['c3s-cmip6.ScenarioMIP.INM.INM-CM5-0.ssp245.r1i1p1f1.day.tas.gr1.v20190619']
),
time="2016/2020",
time_components="month:jan,feb,mar|day:01"
)
resp = wf.orchestrate()
resp.ok
ds = resp.datasets()[0]
ds
from IPython.display import Image
Image(resp.provenance_image())