Hint
You can run this notebook in a live session with
.
it is important to acknowledge that the utilization of the
is restricted to individuals who possess the necessary credentials as Helmholtz users. It is highly recommended to utilize the
Python scipyoption when constructing the environment in order to mitigate the occurrence of a404 Bad requesterror.
Recognizer#
The classification of datasets in Thredds was conducted, resulting in the identification of nine distinct and plausible scenarios. This feature aims to identify the quantity of scenarios, while concurrently providing an assessment of the depth of nested datasets (i.e., datasets that contain subdirectories within them). There are a total of nine distinct scenarios, which are outlined as follows:
First scenario (Nested):#
In this particular instance, the catalogRef tags are found just beneath the dataset element tag, without any separate data adjacent to the catalogRefs.
Example: https://thredds.imk-ifu.kit.edu/thredds/catalog/regclim/raster/global/era5/sfc/single/catalog.xml
XML-based |
HTML-based |
|---|---|
|
|
Second scenario (Nested):#
The catalogRefs are positioned below the catalog tag element, rather than being nested within a dataset element tag. Additionally, there is no distinct data present adjacent to the catalogRefs.
Example: https://thredds.imk-ifu.kit.edu/thredds/catalog/catalogues/sensor_catalog_ext.xml
XML-based |
HTML-based |
|---|---|
|
|
Third scenario (Nested):#
The current scenario has a resemblance to the first scenario, albeit with the distinction that a distinct dataset tag is positioned adjacent to the catalogRef tags.
Example: https://thredds.imk-ifu.kit.edu/thredds/catalog/regclim/raster/global/chirps/catalog.xml
XML-based |
HTML-based |
|---|---|
|
|
Fourth scenario:#
An empty dataset.
Example: https://thredds.imk-ifu.kit.edu/thredds/catalog/catalogues/bio_geo_chem_catalog_ext.xml
XML-based |
HTML-based |
|---|---|
|
|
Fifth scenario:#
In this particular scenario, the catalogRef tag is absent, and all of the tags present are dataset tags. It means the parent dataset tag encompasses a collection of dataset tags.
Example: https://thredds.imk-ifu.kit.edu/thredds/catalog/climate/raster/global/chelsa/v1.2/catalog.html
XML-based |
HTML-based |
|---|---|
|
|
Sixth scenario:#
A single dataset.
XML-based |
HTML-based |
|---|---|
|
|
Seventh scenario:#
An aggregated dataset
XML-based |
HTML-based |
|---|---|
|
|
Eighth scenario (Nested):#
A configuration comprising of catalogRef elements and dataset tags that are not nested within a parent dataset tag. The situation has a resemblance to the second scenario, albeit with the notable distinction of the presence of distinct and individual dataset tags adjacent to catalogRefs.
Example: https://thredds.imk-ifu.kit.edu/thredds/catalog/catalogues/transfer.xml
XML-based |
HTML-based |
|---|---|
|
|
Ninth scenario (Nested):#
This scenario pertains to the presence of more than one individual dataset tags located outside the parent dataset tag, adjacent to the catalogRef elements. The situation has a resemblance to the third scenario, albeit with the notable distinction that it encompasses multiple (more than one) distinct dataset tags in addition to the catalogRefs. Example: https://thredds.imk-ifu.kit.edu/thredds/catalog/regclim/raster/global/hydrogfd/v3.0/catalog.xml
XML-based |
HTML-based |
|---|---|
|
|
We have provided several examples to illustrate the functioning of the Recognizer here:
[ ]:
from tds2stac import Recognizer
# First case
Recognizer(
"https://thredds.imk-ifu.kit.edu/thredds/catalog/regclim/raster/global/era5/sfc/single/catalog.html",
nested_check=True,
)
# Second case
Recognizer(
"https://thredds.imk-ifu.kit.edu/thredds/catalog/catalogues/sensor_catalog_ext.html",
nested_check=True,
)
# Third case
Recognizer(
"https://thredds.imk-ifu.kit.edu/thredds/catalog/regclim/raster/global/chirps/catalog.html",
nested_check=True,
)
# Fourth case
Recognizer("https://thredds.imk-ifu.kit.edu/thredds/catalog/catalogues/bio_geo_chem_catalog_ext.html")
# Fifth case
Recognizer("https://thredds.imk-ifu.kit.edu/thredds/catalog/climate/raster/global/chelsa/v1.2/catalog.html")
# Sixth case
Recognizer("https://thredds.imk-ifu.kit.edu/thredds/catalog/regclim/raster/global/era5/sfc/single/daily/catalog.html?dataset=era5_sfc_0.25_single/daily/ERA5_daily_sp_1979.nc")
# Seven case
Recognizer("https://thredds.imk-ifu.kit.edu/thredds/catalog/catalogues/swabian_moses_2021.html?dataset=swabian_moses_aggregation")
# Eighth case
Recognizer(
"https://thredds.imk-ifu.kit.edu/thredds/catalog/catalogues/transfer.html",
nested_check=True,
)
# Ninth case
Recognizer(
"https://thredds.imk-ifu.kit.edu/thredds/catalog/regclim/raster/global/hydrogfd/v3.0/catalog.html",
nested_check=True,
)
# Finding random case
Recognizer(
"https://thredds.imk-ifu.kit.edu/thredds/catalog/catalogues/reg_clim_sys_catalog_ext.html",
nested_check=True,
)

















