Skip to main content
PITHIA e-Science Centre

T-FORS ML model for LSTID forecasting over Europe

Download
<?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>