--Je veux lire le fichier pour GrADS avec Python et effectuer un post-traitement. ――Mais l'environnement des ressources informatiques partagées doit être propre ――Cependant, vous souhaitez installer de nombreux éléments, tels que des logiciels de conversion et des bibliothèques.
Utilisons donc la virtualisation des conteneurs.
Docker Ce qui est bien avec Docker, c'est que vous pouvez créer un ordinateur virtuel dédié qui effectue le post-traitement nécessaire sans polluer les ressources informatiques. Vous pouvez lancer un conteneur lorsque vous l'utilisez, le supprimer après l'avoir traité et le relancer si nécessaire. Dans le cas de Docker, le coût de démarrage est très faible, vous pouvez donc facilement le démarrer, effectuer un processus, puis le rejeter à nouveau.
Ce serait bien d'écrire un Dockerfile pour l'automatisation, mais pour l'instant je vais simplement lancer et maintenir le shell et simplement le valider pour créer l'image. Si vous souhaitez l'utiliser pendant une longue période, vous devez créer un Dockerfile afin qu'il puisse être mis à niveau, mais il est préférable de vérifier d'abord les fonctions de base dans le shell.
Cette fois, basé sur Ubuntu, installez cdo, pip3 et netcdf4.
Cette fois, j'utiliserai Ubuntu.
$ docker pull ubuntu/ubuntu
$ docker images
Vous pouvez confirmer que l'image a été créée.
Pour exécuter l'image
$ docker run -it ubuntu/ubuntu
ça ira.
Installez pip3
et cdo
.
Installez également netCDF4
avec pip3
.
# apt update
# apt install python3 python3-pip cdo
# pip3 install netCDF4
Vérifiez s'il peut être converti correctement avec cdo et netCDF4 peut également être importé.
# python3
>>> import netCDF4 as nc
>>> ^D
# cdo
....
Utilisez la commande exit ou Ctrl + d pour quitter et créer une image. L'ID de conteneur requis pour créer l'image nécessite «-a» pour confirmer le conteneur terminé.
# exit
(host) $ docker ps -a
Je pense que l'écran ressemblera à ceci. CONTAINER ID sera l'ID de conteneur spécifié au moment de la validation. Il y a un nom d'image dans IMAGE et est sorti il y a ** dans STATUS, afin que vous puissiez voir lequel vous avez.
$ docker commit [container id] [author]/[nom de l'image]
Engageons-nous comme ça.
$ docker images
Vous pouvez confirmer que l'image a été créée.
Il existe deux façons de calculer réellement, et vous pouvez également exécuter puis exécuter de manière interactive à partir du shell. Cependant, cette fois, je vais spécifier une commande au moment de l'exécution et l'exécuter.
En liant le répertoire des programmes et des groupes de données à Docker, vous pouvez en fait y accéder facilement à partir du conteneur. Faites également le transfert X pour vérifier le graphique.
$ sudo docker run -e DISPLAY=$DISPLAY --net host -v /tmp/.X11-unix:/tmp/.X11-unix -v $HOME/.Xauthority:/root/.Xauthority -v /home/xxx/:/home/ --shm-size 16g xxx/ubuntu-cdo2 /bin/bash -c "cd /home/speedy-epyc/speedy/python-script; python3 rmse.py"
Ajoutez --shm-size
si nécessaire s'il manque un programme.
Recommended Posts