Exploring Climate Datasets
Climate Module
You can easily search and explore climate-related data utilizing the climate module of the Eratos SDK. You can import the climate module using the Python and R examples below.
import eratos.climate as eratosClimate
eratosClimate <- reticulate::import("eratos.climate")
Searching Regions
Search coverages using the list_regions
function which has the following definition:
res_list = list_regions(
adapter,
query = '*',
cordexDomain = None,
lat = None,
lon = None
)
where,
adapter
: The Eratos adapter used to perform the query.query
: A textual search string to query the available coverages against.cordexDomain
: The cordex domain code to match against.lat
: Latitude as a floating point number (WGS84)lon
: Longitude as a floating point number (WGS84)res_list
: A list of Eratos Location Resources that match the query.
Examples in Python and R are shown below.
# Query for all regions.
eratosClimate.list_regions(adapter)
# Query for the region that represents TAS-10 .
eratosClimate.list_regions(adapter, cordexDomain="TAS-10")
# Query for the regions that represents TAS-10 and AUS-50
eratosClimate.list_regions(adapter, cordexDomain=["TAS-10","AUS-50"])
# Query for the regions that overlap with lat = 37.452 and lon = 144.271
eratosClimate.list_regions(adapter, lat = 37.452 , lon = 144.271)
# Query for all coverages.
eratosClimate$list_regions(adapter)
# Query for the coverage that represents TAS-10 .
eratosClimate$list_regions(adapter, cordexDomain="TAS-10")
# Query for the regions that represents TAS-10 and AUS-50
eratosClimate$list_regions(adapter, cordexDomain=["TAS-10","AUS-50"])
# Query for the regions that overlap with lat = 37.452 and lon = 144.271
eratosClimate$list_regions(adapter, lat = 37.452 , lon = 144.271)
Searching Variables
Search variables using the list_variables
function which has the following definition:
res = list_variables(
adapter,
query='*',
cordexVariable=None,
)
where,
adapter
: The Eratos adapter used to perform the query.query
: A textual search string to query the available variables against.cordexVariable
: The cordex variable code to match against.res_list
: A list of Eratos Variable Resources that match the query.
Examples in Python and R are shown below.
# Query for all variables.
eratosClimate.list_variables(adapter)
# Query for 'temperature' variables.
eratosClimate.list_variables(adapter, 'temperature')
# Query for the variable that represents screen temperature (by cordex id).
eratosClimate.list_variables(adapter, cordexVariable="tasmax")
# Query for all variables.
eratosClimate$list_variables(adapter)
# Query for 'temperature' variables.
eratosClimate$list_variables(adapter, "temperature")
# Query for the variable that represents screen temperature (by cordex id).
eratosClimate$list_variables(adapter, cordexVariable="tasmax")
Searching Models
Search models using the list_models
function which has the following definition:
res_list = list_models(
adapter,
query='*',
cordexDrivingModelId=None,
)
where,
adapter
: The Eratos adapter used to perform the query.query
: A textual search string to query the available models against.cordexDrivingModelId
: The cordex driving model code to match against.res_list
: A list of Eratos Variable Resources that match the query.
Examples in Python and R are shown below.
# Query for all models.
eratosClimate.list_models(adapter)
# Query for 'csiro' models.
eratosClimate.list_models(adapter, 'csiro')
# Query for the model that represents MOHC-HadGEM2-CC (by cordex id).
eratosClimate.list_models(adapter, cordexDrivingModelId='MOHC-HadGEM2-CC')
# Query for all models.
eratosClimate$list_models(adapter)
# Query for 'csiro' models.
eratosClimate$list_models(adapter, "csiro")
# Query for the model that represents MOHC-HadGEM2-CC (by cordex id).
eratosClimate$list_models(adapter, cordexDrivingModelId="MOHC-HadGEM2-CC")
Searching Experiments
Search experiments using the list_experiments
function which has the following definition:
res = list_experiments(
adapter,
query='*',
cordexExperimentId=None,
)
where,
adapter
: The Eratos adapter used to perform the query.query
: A textual search string to query the available scenarios against.cordexExperimentId
: The cordex experiment id to match against.res_list
: A list of Eratos Scenario Resources that match the query.
Examples in Python and R are shown below.
# Query for all scenarios.
eratosClimate.list_experiments(adapter)
# Query for the scenario that represents rcp85 (by cordex id).
eratosClimate.list_experiments(adapter, cordexExperimentId='rcp85')
# Query for all scenarios.
eratosClimate$list_scenarios(adapter)
# Query for the scenario that represents rcp85 (by cordex id).
eratosClimate$list_scenarios(adapter, cordexExperimentId="rcp85")
Faceting Datasets
You can facet the datasets using the list_dataset_facets
function. Faceting involves determining the number of unique dataset relationships that match a certain query. e.g. How many datasets are linked to a given variable/model/scenario after matching a query. The function has the following definition:
res_list = list_dataset_block_facets(
adapter,
query='*',
region=None,
scenario=None,
experiment=None,
model=None,
variable=None,
temporalFrequency=None,
lat=None,
lon=None,
cordexDomain=None,
cordexVariable=None,
cordexModelId=None,
cordexDrivingModelId=None,
cordexExperimentId=None,
cordexFrequency=None,
cordexDrivingModelEnsembleMember=None,
)
where,
adapter
: The Eratos adapter used to perform the query.query
: A textual search string to query the available datasets against.region
: The id (String) or Eratos Resource (Object) of the region resource to match against.scenario
: The id (String) or Eratos Resource (Object) of the scenario resource to match against.experiment
: The id (String) or Eratos Resource (Object) of the experiment resource to match against.model
: The id (String) or Eratos Resource (Object) of the model resource to match against.variable
: The id (String) or Eratos Resource (Object) of the variable resource to match against.temporalFrequency
: The id (String) or Eratos Resource (Object) of the time period resource to match against.lat
: A latitude (Float) to match against. (WGS84)lon
: A longitude (Float) to match against. (WGS84)cordexDomain
: The cordex variable domain to match against (Mutually exclusive withregion
).cordexVariable
: The cordex variable key to match against (Mutually exclusive withvariable
).cordexModelId
: The cordex model id to match against (Mutually exclusive withexperiment
).cordexDrivingModelId
: The cordex driving model id to match against (Mutually exclusive withmodel
).cordexExperimentId
: The cordex experiment id to match against (Mutually exclusive withscenario
).cordexFrequency
: The cordex frequency key to match against (Mutually exclusive withtemporalFrequency
).cordexDrivingModelEnsembleMember
: The cordex model ensemble member key to match against.- A map of dataset properties and count of related ids for each. Note that facets currently return the mapping
resultOf
=model
,resultIs
=variable
,aggregatePeriod
=timePeriod
.
Examples in Python and R are shown below.
# Query for all datasets.
eratosClimate.list_dataset_block_facets(adapter)
# Query for the datasets using the search string 'precipitation'
eratosClimate.list_dataset_block_facets(adapter, 'precipitation')
# Query for the datasets matching the cordex variable id 'pr'
eratosClimate.list_dataset_block_facets(adapter, cordexVariable='pr')
# Query for the datasets in the region TAS-10.
region_id = eratosClimate.list_regions(adapter, cordexDomain ='TAS-10')
eratosClimate.list_dataset_block_facets(adapter, region=region_id[0])
# Query for the datasets with the pr, tasmax and tasmin cordex variables at 145.010 -37.826
eratosClimate.list_dataset_blocks(adapter,
cordexVariable= ['pr','tasmax','tasmin'], lon = 145.010 , lat = -37.826)
# Query for all datasets.
eratosClimate$list_dataset_block_facets(adapter)
# Query for the datasets using the search string 'precipitation'
eratosClimate$list_dataset_block_facets(adapter, 'precipitation')
# Query for the datasets matching the cordex variable id 'pr'
eratosClimate$list_dataset_block_facets(adapter, cordexVariable='pr')
# Query for the datasets in the region TAS-10.
region_id = eratosClimate$list_regions(adapter, cordexDomain ='TAS-10')
eratosClimate$list_dataset_block_facets(adapter, region=region_id[[0]])
# Query for the datasets with the pr, tasmax and tasmin cordex variables at 145.010 -37.826
eratosClimate$list_dataset_blocks(adapter, cordexVariable= ['pr','tasmax','tasmin'], lon = 145.010 , lat = -37.826)
Explore Eratos and the FCDI Space
The above functions highlight the variety of methods the Eratos SDK provides to explore data currently available in Eratos.
Frontend Explorer
The Eratos FCDI Space on our web application allows you to explore data more dynamically and visually, we encourage you to use it to a get feel for what is available or as a sense-check of results returned from the SDK. Note if you cannot see the FCDI Space on the front-end then you will not be able to access the associated data.
Backend Explorer Example
Explore Climate Datasets RecipeUpdated 8 days ago