HAFTUNGSAUSSCHLUSS Dieses Projekt ist BETA und wird auf absehbare Zeit experimentell sein. Es ist wahrscheinlich, dass sich Schnittstellen und Funktionalität ändern und das Projekt selbst möglicherweise verworfen wird. Verwenden Sie diese Software NICHT in betriebsbereiten Projekten/Softwareprogrammen.
Der Befehl ai-models
wird verwendet, um KI-basierte Wettervorhersagemodelle auszuführen. Diese Modelle müssen unabhängig voneinander installiert werden.
Obwohl der Quellcode ai-models
und seine Plugins unter Open-Source-Lizenzen verfügbar sind, sind einige Modellgewichte möglicherweise unter einer anderen Lizenz verfügbar. Beispielsweise stellen einige Modelle ihre Gewichte unter der CC-BY-NC-SA 4.0-Lizenz zur Verfügung, die eine kommerzielle Nutzung nicht zulässt. Für weitere Informationen überprüfen Sie bitte die mit jedem Modell verknüpfte Lizenz auf der Haupthomepage, auf die wir von jedem der entsprechenden Plugins aus verlinken.
Stellen Sie vor der Verwendung des Befehls ai-models
sicher, dass die folgenden Voraussetzungen erfüllt sind:
Führen Sie den folgenden Befehl aus, um den Befehl ai-models
zu installieren:
pip install ai-models
Derzeit können vier Modelle installiert werden:
pip install ai-models-panguweather
pip install ai-models-fourcastnet
pip install ai-models-graphcast # Install details at https://github.com/ecmwf-lab/ai-models-graphcast
pip install ai-models-fourcastnetv2
Weitere Einzelheiten zu diesen Modellen finden Sie unter ai-models-panguweather, ai-models-fourcastnet, ai-models-fourcastnetv2 und ai-models-graphcast.
Um das Modell auszuführen, stellen Sie sicher, dass es installiert wurde, und führen Sie dann einfach Folgendes aus:
ai-models < model-name >
Ersetzen Sie <model-name>
durch den Namen des spezifischen KI-Modells, das Sie ausführen möchten.
Standardmäßig wird das Modell für eine Vorlaufzeit von 10 Tagen (240 Stunden) ausgeführt, wobei die gestrige 12Z-Analyse aus dem MARS-Archiv des ECMWF verwendet wird.
Um eine 15-Tage-Prognose zu erstellen, verwenden Sie die Option --lead-time HOURS
:
ai-models --lead-time 360 < model-name >
Sie können die anderen Standardeinstellungen mithilfe der verfügbaren Befehlszeilenoptionen ändern, wie unten beschrieben.
Die KI-Modelle können auf einer CPU laufen; Allerdings schneiden sie auf einer GPU deutlich besser ab. Eine 10-Tage-Prognose kann auf einer CPU mehrere Stunden dauern, auf einer modernen GPU jedoch nur etwa eine Minute.
Wenn Sie beim Ausführen eines Modells die folgende Meldung sehen, bedeutet dies, dass die ONNX-Laufzeitumgebung die CUDA-Bibliotheken auf Ihrem System nicht finden konnte:
[W:onnxruntime:Default, onnxruntime_pybind_state.cc:541 CreateExecutionProviderInstance] Fehler beim Erstellen von CUDAExecutionProvider. Bitte beziehen Sie sich auf https://onnxruntime.ai/docs/reference/execution-providers/CUDA-ExecutionProvider.html#requirements, um sicherzustellen, dass alle Abhängigkeiten erfüllt sind.
Um dieses Problem zu beheben, empfehlen wir Ihnen, ai-models
in einer Conda-Umgebung zu installieren und die CUDA-Bibliotheken in dieser Umgebung zu installieren. Zum Beispiel:
conda create -n ai-models python=3.10
conda activate ai-models
conda install cudatoolkit
pip install ai-models
...
Die KI-Modelle basieren auf Gewichten und anderen Ressourcen, die während des Trainings erstellt werden. Wenn Sie ein Modell zum ersten Mal ausführen, müssen Sie die trainierten Gewichte und alle zusätzlich erforderlichen Assets herunterladen.
Um die Assets vor der Ausführung eines Modells herunterzuladen, verwenden Sie den folgenden Befehl:
ai-models --download-assets < model-name >
Die Assets werden bei Bedarf heruntergeladen und im aktuellen Verzeichnis gespeichert. Sie können ein anderes Verzeichnis zum Speichern der Assets angeben:
ai-models --download-assets --assets < some-directory > < model-name >
Dann verwenden Sie später einfach:
ai-models --assets < some-directory > < model-name >
oder
export AI_MODELS_ASSETS= < some-directory >
ai-models < model-name >
Zur besseren Organisation des Assets-Verzeichnisses können Sie die Option --assets-sub-directory
verwenden. Diese Option speichert die Assets jedes Modells in einem eigenen Unterverzeichnis innerhalb des angegebenen Assets-Verzeichnisses.
Zur Ausführung der Modelle sind Eingabedaten (Anfangsbedingungen) erforderlich. Sie können die Eingabedaten über verschiedene Quellen bereitstellen, wie unten beschrieben:
Standardmäßig verwenden ai-models
die gestrige 12Z-Analyse des ECMWF, die mithilfe der ECMWF-WebAPI aus dem MARS-Archiv des Zentrums abgerufen wurde. Sie benötigen ein ECMWF-Konto, um auf diesen Dienst zuzugreifen.
Um das Datum oder die Uhrzeit zu ändern, verwenden Sie die Optionen --date
bzw. --time
:
ai-models --date YYYYMMDD --time HHMM < model-name >
Sie können die Modelle mit ERA5-Daten (ECMWF Reanalysis Version 5) für den Copernicus Climate Data Store (CDS) starten. Sie müssen ein Konto auf dem CDS erstellen. Die Daten werden über die CDS-API heruntergeladen.
Um auf das CDS zuzugreifen, fügen Sie einfach --input cds
in der Befehlszeile hinzu. Bitte beachten Sie, dass ERA5-Daten verzögert zum CDS hinzugefügt werden, sodass Sie mit --date YYYYMMDD
auch ein Datum angeben müssen.
ai-models --input cds --date 20230110 --time 0000 < model-name >
Wenn Sie Eingabedaten im GRIB-Format haben, können Sie die Datei mit der Option --file
bereitstellen:
ai-models --file < some-grib-file > < model-name >
Die GRIB-Datei kann mehr Felder enthalten, als für das Modell erforderlich sind. Der Befehl ai-models
wählt automatisch die erforderlichen Felder aus der Datei aus.
Um die Liste der Felder herauszufinden, die ein bestimmtes Modell als Anfangsbedingungen benötigt, verwenden Sie den folgenden Befehl:
ai-models --fields < model-name >
Standardmäßig wird die Modellausgabe im GRIB-Format in eine Datei namens <model-name>.grib
geschrieben. Sie können den Dateinamen mit der Option --path <file-name>
ändern. Wenn der von Ihnen angegebene Pfad Platzhalter zwischen {
und }
enthält, werden mehrere Dateien basierend auf den Eccodes-Schlüsseln erstellt. Zum Beispiel:
ai-models --path ' out-{step}.grib ' < model-name >
Dieser Befehl erstellt eine Datei für jeden prognostizierten Zeitschritt.
Wenn Sie das Schreiben der Ausgabe in eine Datei deaktivieren möchten, verwenden Sie die Option --output none
.
Es gibt folgende Optionen:
--help
: Zeigt diese Hilfemeldung an.--models
: Listet alle installierten Modelle auf.--debug
: Aktiviert den Debug-Modus. Dadurch werden zusätzliche Informationen auf der Konsole ausgegeben. --input INPUT
: Die Eingabequelle für das Modell. Dies kann ein mars
, cds
oder file
sein.
--file FILE
: Die spezifische Datei, die als Eingabe verwendet werden soll. Diese Option setzt --source
auf file
.
--date DATE
: Das Analysedatum für das Modell. Der Standardwert ist gestern.
--time TIME
: Die Analysezeit für das Modell. Der Standardwert ist 1200.
--output OUTPUT
: Das Ausgabeziel für das Modell. Die Werte sind file
oder none
.--path PATH
: Der Pfad zum Schreiben der Ausgabe des Modells.--lead-time HOURS
: Die Anzahl der prognostizierten Stunden. Der Standardwert ist 240 (10 Tage).--assets ASSETS
: Gibt den Pfad zum Verzeichnis an, das die Modell-Assets enthält. Der Standardwert ist das aktuelle Verzeichnis, Sie können es jedoch überschreiben, indem Sie die Umgebungsvariable $AI_MODELS_ASSETS
festlegen.--assets-sub-directory
: Ermöglicht das Organisieren von Assets in den Unterverzeichnissen <assets-directory>/<model-name>
.--download-assets
: Lädt die Assets herunter, wenn sie nicht vorhanden sind.--fields
: Gibt die Liste der Felder aus, die ein Modell als Anfangsbedingungen benötigt.--expver EXPVER
: Die Experimentversion der Modellausgabe.--class CLASS
: Die „Klassen“-Metadaten der Modellausgabe.--metadata KEY=VALUE
: Zusätzliche Metadaten-Metadaten in der Modellausgabe Copyright 2022, European Centre for Medium Range Weather Forecasts.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
In applying this licence, ECMWF does not waive the privileges and immunities
granted to it by virtue of its status as an intergovernmental organisation
nor does it submit to any jurisdiction.