Le Weather Research and Forecast Model (WRF) est un logiciel de simulation météorologique open source qui fournit des prévisions à partir de conditions réelles ou idéalisées. Il est largement utilisé par les laboratoires de recherche et les centres de prévision du monde entier. Il comprend également des modules pour l'assimilation de données (WRFDA), l'hydrologie (WRF-Hydro) et la pollution de l'air (WRF-CHEM).
Exécuter votre simulation WRF sur Qarnot est aussi simple que de télécharger votre cas et de lancer un script. Voici un guide étape par étape qui vous expliquera les différentes étapes.
Le cas de test utilise la version 4.2.1 du WRF.
Si une autre version vous intéresse, n'hésitez pas à nous envoyer un e-mail à qlab@qarnot.com
.
Veuillez vous assurer d'avoir créé un compte Qarnot.
Ce cas de test est basé sur une prévision météorologique de 36 heures pour la France. Vous pouvez télécharger les fichiers ici et les fichiers ici, qui contiennent les fichiers suivants :
Dossier DATA
- les fichiers grib initiaux nécessaires au programme ungrib
.Fichiers GFS
- sorties GFS du 10 septembre 2020 au 11 septembre à 12h.namelist.input
- un fichier de configuration correspondant aux données partagées ci-dessus, qui définit les paramètres d'exécution du progiciel WRF.namelist.wps
- un fichier qui définit les paramètres d'exécution pour WPS.running_script.sh
- un script bash qui inclut toutes les commandes nécessaires pour exécuter le cas, de la configuration de l'environnement WPS à l'exécution du fichier wrf.exe
.Vous devez placer ces quatre éléments dans le même dossier et le nommer france
. Veuillez noter qu'il doit être décompressé avant de pouvoir être utilisé sur Qarnot.
Avant de commencer un calcul avec le SDK Python, quelques étapes sont requises :
Note : en plus du SDK Python, Qarnot fournit des SDK en C# et Node.js, ainsi qu'une ligne de commande.
Une fois que tout est prêt, le script suivant doit être utilisé pour démarrer le calcul. Assurez-vous d'avoir copié votre jeton d'authentification dans le script (à la place de <<<MY_SECRET_TOKEN>>>
) pour pouvoir lancer la tâche sur Qarnot.
import qarnot
# Create a connection, from which all other objects will be derived
# Enter client token here
conn = qarnot.connection.Connection(client_token='<<<MY_SECRET_TOKEN>>>')
# Create a task
task = conn.create_task("Hello World - WRF", "docker-batch", 1)
# Create the input bucket and synchronize with a local folder
# Insert a local folder directory
input_bucket = conn.create_bucket("wrf-in")
input_bucket.sync_directory("france")
# Attach the bucket to the task
task.resources.append(input_bucket)
# Create a result bucket and attach it to the task
task.results = conn.create_bucket("wrf-out")
# Define the Docker image and the command to be run in the container
task.constants["DOCKER_REPO"] = "qarnotlab/wrf"
task.constants["DOCKER_TAG"] = "v1"
task.constants['DOCKER_CMD'] = "./running_script.sh"
# Submit the task
task.run(output_dir = "wrf_results")
Pour lancer ce script, il suffit de copier le code précédent dans un script Python, de le placer au même niveau que le dossier france
et d'exécuter python3 wrf.py &
dans votre terminal.
À tout moment, vous pouvez suivre l'état de votre tâche sur l'interface web générale. La figure suivante montre une simulation de démonstration WRF réussie sur la Console de Qarnot.
Vous devriez également avoir maintenant un dossier de résultats dans le bucket de sortie et sur votre ordinateur contenant tous les résultats numériques. Vous pouvez ouvrir le fichier wrfout_d01_2020-09-10_00:00:00
avec n'importe quel logiciel capable de lire des fichiers NetCDF pour visualiser les résultats.
C'est tout ! Si vous avez des questions, veuillez contacter qlab@qarnot.com et nous serons ravis de vous aider !