<?xml version="1.0" encoding="UTF-8"?>
<ComputationCapabilities xmlns="https://metadata.pithia.eu/schemas/2.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:mrl="http://standards.iso.org/iso/19115/-3/mrl/1.0" xmlns:gco="http://standards.iso.org/iso/19115/-3/gco/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="https://metadata.pithia.eu/schemas/2.2 https://metadata.pithia.eu/schemas/2.2/pithia.xsd">
<identifier>
<PITHIA_Identifier>
<localID>ComputationCapabilities_T-FORS_ML_Model_For_LSTID_Forecasting_Over_Europe</localID>
<namespace>ingv</namespace>
<version>1</version>
<creationDate>2025-04-04T16:04:00Z</creationDate>
<lastModificationDate>2025-04-04T16:04:00Z</lastModificationDate>
</PITHIA_Identifier>
</identifier>
<name>T-FORS ML model for LSTID forecasting over Europe</name>
<description>The Machine Learning model, based on CatBoost (a gradient boosting framework) and trained on a human validated LSTID catalogue, uses a diverse set of physical drivers, ranging from geomagnetic indices, and solar wind and activity data, to ionosonde measurements.</description>
<dataLevel xlink:href="https://metadata.pithia.eu/ontology/2.2/dataLevel/L4"/>
<type xlink:href="https://metadata.pithia.eu/ontology/2.2/computationType/DataDrivenModel"/>
<version/>
<softwareReference/>
<!-- Use ESPAS-inspired design of processingInput and InputOutput types to specify all required input parameters for this computation -->
<processingInput>
<InputOutput>
<!-- Provide only name and description, no values: this field describes the process, not the observation result.
If this processingInput is a parameter that has specific value for the whole collection, use om:parameter field of the DataCollection
document to define such NamedValue, point its NamedValue.name to this name below, and use NamedValue.value to set the value -->
<name>newell</name> <!-- no spaces please -->
<description>
<mrl:LE_Source>
<mrl:description><gco:CharacterString>
Coupling function
</gco:CharacterString></mrl:description>
</mrl:LE_Source>
</description>
</InputOutput>
</processingInput>
<processingInput>
<InputOutput>
<!-- Provide only name and description, no values: this field describes the process, not the observation result.
If this processingInput is a parameter that has specific value for the whole collection, use om:parameter field of the DataCollection
document to define such NamedValue, point its NamedValue.name to this name below, and use NamedValue.value to set the value -->
<name>ie</name> <!-- no spaces please -->
<description>
<mrl:LE_Source>
<mrl:description><gco:CharacterString>
Auroral electrojet IE
</gco:CharacterString></mrl:description>
</mrl:LE_Source>
</description>
</InputOutput>
</processingInput>
<processingInput>
<InputOutput>
<!-- Provide only name and description, no values: this field describes the process, not the observation result.
If this processingInput is a parameter that has specific value for the whole collection, use om:parameter field of the DataCollection
document to define such NamedValue, point its NamedValue.name to this name below, and use NamedValue.value to set the value -->
<name>iu</name> <!-- no spaces please -->
<description>
<mrl:LE_Source>
<mrl:description><gco:CharacterString>
Auroral electrojet IU
</gco:CharacterString></mrl:description>
</mrl:LE_Source>
</description>
</InputOutput>
</processingInput>
<processingInput>
<InputOutput>
<!-- Provide only name and description, no values: this field describes the process, not the observation result.
If this processingInput is a parameter that has specific value for the whole collection, use om:parameter field of the DataCollection
document to define such NamedValue, point its NamedValue.name to this name below, and use NamedValue.value to set the value -->
<name>Bz</name> <!-- no spaces please -->
<description>
<mrl:LE_Source>
<mrl:description><gco:CharacterString>
IMF Bz component measuread at L1
</gco:CharacterString></mrl:description>
</mrl:LE_Source>
</description>
</InputOutput>
</processingInput>
<processingInput>
<InputOutput>
<!-- Provide only name and description, no values: this field describes the process, not the observation result.
If this processingInput is a parameter that has specific value for the whole collection, use om:parameter field of the DataCollection
document to define such NamedValue, point its NamedValue.name to this name below, and use NamedValue.value to set the value -->
<name>vx</name> <!-- no spaces please -->
<description>
<mrl:LE_Source>
<mrl:description><gco:CharacterString>
Solar radial flux velocity measuread at L1
</gco:CharacterString></mrl:description>
</mrl:LE_Source>
</description>
</InputOutput>
</processingInput>
<processingInput>
<InputOutput>
<!-- Provide only name and description, no values: this field describes the process, not the observation result.
If this processingInput is a parameter that has specific value for the whole collection, use om:parameter field of the DataCollection
document to define such NamedValue, point its NamedValue.name to this name below, and use NamedValue.value to set the value -->
<name>rho</name> <!-- no spaces please -->
<description>
<mrl:LE_Source>
<mrl:description><gco:CharacterString>
Solar flux density measured at L1
</gco:CharacterString></mrl:description>
</mrl:LE_Source>
</description>
</InputOutput>
</processingInput>
<processingInput>
<InputOutput>
<!-- Provide only name and description, no values: this field describes the process, not the observation result.
If this processingInput is a parameter that has specific value for the whole collection, use om:parameter field of the DataCollection
document to define such NamedValue, point its NamedValue.name to this name below, and use NamedValue.value to set the value -->
<name>f_107</name> <!-- no spaces please -->
<description>
<mrl:LE_Source>
<mrl:description><gco:CharacterString>
Solar flux at 10.7 cm weavelenght
</gco:CharacterString></mrl:description>
</mrl:LE_Source>
</description>
</InputOutput>
</processingInput>
<processingInput>
<InputOutput>
<!-- Provide only name and description, no values: this field describes the process, not the observation result.
If this processingInput is a parameter that has specific value for the whole collection, use om:parameter field of the DataCollection
document to define such NamedValue, point its NamedValue.name to this name below, and use NamedValue.value to set the value -->
<name>hp_30</name> <!-- no spaces please -->
<description>
<mrl:LE_Source>
<mrl:description><gco:CharacterString>
Half-hourly geomagnetic index
</gco:CharacterString></mrl:description>
</mrl:LE_Source>
</description>
</InputOutput>
</processingInput>
<processingInput>
<InputOutput>
<!-- Provide only name and description, no values: this field describes the process, not the observation result.
If this processingInput is a parameter that has specific value for the whole collection, use om:parameter field of the DataCollection
document to define such NamedValue, point its NamedValue.name to this name below, and use NamedValue.value to set the value -->
<name>ie_variation</name> <!-- no spaces please -->
<description>
<mrl:LE_Source>
<mrl:description><gco:CharacterString>
IE time-derivative
</gco:CharacterString></mrl:description>
</mrl:LE_Source>
</description>
</InputOutput>
</processingInput>
<processingInput>
<InputOutput>
<!-- Provide only name and description, no values: this field describes the process, not the observation result.
If this processingInput is a parameter that has specific value for the whole collection, use om:parameter field of the DataCollection
document to define such NamedValue, point its NamedValue.name to this name below, and use NamedValue.value to set the value -->
<name>ie_mav_3h</name> <!-- no spaces please -->
<description>
<mrl:LE_Source>
<mrl:description><gco:CharacterString>
IE moving average (3 hr)
</gco:CharacterString></mrl:description>
</mrl:LE_Source>
</description>
</InputOutput>
</processingInput>
<processingInput>
<InputOutput>
<!-- Provide only name and description, no values: this field describes the process, not the observation result.
If this processingInput is a parameter that has specific value for the whole collection, use om:parameter field of the DataCollection
document to define such NamedValue, point its NamedValue.name to this name below, and use NamedValue.value to set the value -->
<name>ie_mav_12h</name> <!-- no spaces please -->
<description>
<mrl:LE_Source>
<mrl:description><gco:CharacterString>
IE moving average (12 hr)
</gco:CharacterString></mrl:description>
</mrl:LE_Source>
</description>
</InputOutput>
</processingInput>
<processingInput>
<InputOutput>
<!-- Provide only name and description, no values: this field describes the process, not the observation result.
If this processingInput is a parameter that has specific value for the whole collection, use om:parameter field of the DataCollection
document to define such NamedValue, point its NamedValue.name to this name below, and use NamedValue.value to set the value -->
<name>iu_variation</name> <!-- no spaces please -->
<description>
<mrl:LE_Source>
<mrl:description><gco:CharacterString>
IU time-derivative
</gco:CharacterString></mrl:description>
</mrl:LE_Source>
</description>
</InputOutput>
</processingInput>
<processingInput>
<InputOutput>
<!-- Provide only name and description, no values: this field describes the process, not the observation result.
If this processingInput is a parameter that has specific value for the whole collection, use om:parameter field of the DataCollection
document to define such NamedValue, point its NamedValue.name to this name below, and use NamedValue.value to set the value -->
<name>iu_mav_3h</name> <!-- no spaces please -->
<description>
<mrl:LE_Source>
<mrl:description><gco:CharacterString>
IU moving average (3 hr)
</gco:CharacterString></mrl:description>
</mrl:LE_Source>
</description>
</InputOutput>
</processingInput>
<processingInput>
<InputOutput>
<!-- Provide only name and description, no values: this field describes the process, not the observation result.
If this processingInput is a parameter that has specific value for the whole collection, use om:parameter field of the DataCollection
document to define such NamedValue, point its NamedValue.name to this name below, and use NamedValue.value to set the value -->
<name>iu_mav_12h</name> <!-- no spaces please -->
<description>
<mrl:LE_Source>
<mrl:description><gco:CharacterString>
IU moving average (12 hr)
</gco:CharacterString></mrl:description>
</mrl:LE_Source>
</description>
</InputOutput>
</processingInput>
<processingInput>
<InputOutput>
<!-- Provide only name and description, no values: this field describes the process, not the observation result.
If this processingInput is a parameter that has specific value for the whole collection, use om:parameter field of the DataCollection
document to define such NamedValue, point its NamedValue.name to this name below, and use NamedValue.value to set the value -->
<name>hf</name> <!-- no spaces please -->
<description>
<mrl:LE_Source>
<mrl:description><gco:CharacterString>
HF-INT (from TechTIDE)
</gco:CharacterString></mrl:description>
</mrl:LE_Source>
</description>
</InputOutput>
</processingInput>
<processingInput>
<InputOutput>
<!-- Provide only name and description, no values: this field describes the process, not the observation result.
If this processingInput is a parameter that has specific value for the whole collection, use om:parameter field of the DataCollection
document to define such NamedValue, point its NamedValue.name to this name below, and use NamedValue.value to set the value -->
<name>hf_mav_2h</name> <!-- no spaces please -->
<description>
<mrl:LE_Source>
<mrl:description><gco:CharacterString>
HF-INT moving average (2 hr)
</gco:CharacterString></mrl:description>
</mrl:LE_Source>
</description>
</InputOutput>
</processingInput>
<processingInput>
<InputOutput>
<!-- Provide only name and description, no values: this field describes the process, not the observation result.
If this processingInput is a parameter that has specific value for the whole collection, use om:parameter field of the DataCollection
document to define such NamedValue, point its NamedValue.name to this name below, and use NamedValue.value to set the value -->
<name>solar_zenit_angle</name> <!-- no spaces please -->
<description>
<mrl:LE_Source>
<mrl:description><gco:CharacterString>
Solar zenit angle
</gco:CharacterString></mrl:description>
</mrl:LE_Source>
</description>
</InputOutput>
</processingInput>
<processingInput>
<InputOutput>
<!-- Provide only name and description, no values: this field describes the process, not the observation result.
If this processingInput is a parameter that has specific value for the whole collection, use om:parameter field of the DataCollection
document to define such NamedValue, point its NamedValue.name to this name below, and use NamedValue.value to set the value -->
<name>dst</name> <!-- no spaces please -->
<description>
<mrl:LE_Source>
<mrl:description><gco:CharacterString>
Disturbance storm time index
</gco:CharacterString></mrl:description>
</mrl:LE_Source>
</description>
</InputOutput>
</processingInput>
<processingInput>
<InputOutput>
<!-- Provide only name and description, no values: this field describes the process, not the observation result.
If this processingInput is a parameter that has specific value for the whole collection, use om:parameter field of the DataCollection
document to define such NamedValue, point its NamedValue.name to this name below, and use NamedValue.value to set the value -->
<name>spectral_contribution</name> <!-- no spaces please -->
<description>
<mrl:LE_Source>
<mrl:description><gco:CharacterString>
Spectral energy contribution (from TechTIDE Ionosondes)
</gco:CharacterString></mrl:description>
</mrl:LE_Source>
</description>
</InputOutput>
</processingInput>
<processingInput>
<InputOutput>
<!-- Provide only name and description, no values: this field describes the process, not the observation result.
If this processingInput is a parameter that has specific value for the whole collection, use om:parameter field of the DataCollection
document to define such NamedValue, point its NamedValue.name to this name below, and use NamedValue.value to set the value -->
<name>velocity</name> <!-- no spaces please -->
<description>
<mrl:LE_Source>
<mrl:description><gco:CharacterString>
Perturbation velocity (from TechTIDE Ionosondes)
</gco:CharacterString></mrl:description>
</mrl:LE_Source>
</description>
</InputOutput>
</processingInput>
<processingInput>
<InputOutput>
<!-- Provide only name and description, no values: this field describes the process, not the observation result.
If this processingInput is a parameter that has specific value for the whole collection, use om:parameter field of the DataCollection
document to define such NamedValue, point its NamedValue.name to this name below, and use NamedValue.value to set the value -->
<name>azimuth</name> <!-- no spaces please -->
<description>
<mrl:LE_Source>
<mrl:description><gco:CharacterString>
Perturbation azimuth (from TechTIDE Ionosondes)
</gco:CharacterString></mrl:description>
</mrl:LE_Source>
</description>
</InputOutput>
</processingInput>
<algorithm/>
</ComputationCapabilities>