Le code de référence est installé dans le répertoire /home/m/mortier/DFE11/DFE11_F90_2023
sur la machine salle
, mais il peut être exécuté sur n'importe quel PC de l'école ou même le vôtre sous linux. Pour débuter, vous avez le répertoire /home/m/mortier/DFE11/playground
qui est accessible à tous. Vous pouvez y créer de nouveaux répertoires et y recopier le code pour vos premiers tests. Mais une fois votre projet en place, il faudra travailler sur la machine que vous aurez choisie sur votre espace personnel.
Une fois connecté sur la machine choisie et aujourd'hui dans le playground
, quelques commandes permettent d'exécuter le code.
Compilation : Après avoir recopié les fichiers du code, il suffit de le compiler le code avec la commande make
. La commande make clean
permet d'effacer tous les fichiers temporaires (fichiers objets, …) pour recommencer la compilation à zéro. Pour tard quand votre projet sera en place, il faudra bien sûr configurer votre simulation en éditant les fichiers inixxx.h, en choisissant les clefs cpp
nécessaires et des paramètres numériques comme expliqué sur le moodle dans I - Objectifs et organisation du cours
.
Exécution : Pour lancer une simulation, exécuter le script ./main.sh
sans oublier d'éditer si nécessaire le fichier namelist.txt
(dernier pas de temps, coefficient de frottement, …). Le fichier simul.log
contient la liste des simulations (clefs cpp utilisées, fichier de sortie, …). Il vous permet de vous y retrouver, mais il est bon de noter dans un 'cahier de simulation' ce que vous faites au fur et à mesure (comme pour un TP expérimental), sans quoi vous serez vite perdu.
Si vous êtes sous linux (natif ou machine virtuelle), sans doute aussi sous mac, tout est très simple, avec la commande ssh. Sous windows, il faut utiliser Xming avecputty
ou (plus complet) cygwin
. Si vous êtes sous windows, contactez-moi.
Tout simplement, sur un terminal de votre PC, tapez
[mortier@cassis dfe11_F90]$ ssh -CXY userid@PC_choisi_pour_le projet
Pour éviter d'avoir à taper votre mot de passe à chaque fois, il faut copier votre clé publique
sur le PC_choisi_pour_le projet. Si vous avez déjà des clefs ssh, il suffit de taper
[mortier@localhost ~]$ ssh-copy-id userid@PC_choisi_pour_le projet
les lignes suivantes s'affichent
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 2 key(s) remain to be installed -- if you are prompted now it is to install the new keys userid@PC_choisi_pour_le projet's password: (tapez le mot passe, ce sera la dernière fois en principe!) Number of key(s) added: 2 Now try logging into the machine, with: "ssh 'userid@PC_choisi_pour_le projet'" and check to make sure that only the key(s) you wanted were added.
J'essaye à nouveau de me connecter
[mortier@localhost ~]$ ssh -CXY userid@PC_choisi_pour_le projet Last login: Wed May 27 16:49:57 2020 from 112.42.16.109.rev.sfr.net [userid@PC_choisi_pour_le projet ~]$
Et le serveur n'a rien demandé. Comme, vous êtes plusieurs dans chaque groupe, chacun doit copier sa clé publique.
Si vous n'avez pas de clés ssh (rangées en général dans votre home directory dans le répertoire .ssh), tapez la ligne suivante (avec enter
sans rien à chaque question)
mortier@localhost ~]$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/mortier/.ssh/id_rsa): Created directory '/home/mortier/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/mortier/.ssh/id_rsa. Your public key has been saved in /home/mortier/.ssh/id_rsa.pub. ... [mortier@localhost ~]$
Puis copier la clé publique comme indiqué ci-dessus.
A ce stade, tout devient simple. Pour copier un fichier de votre PC, vers le PC_choisi_pour_le projet (attention aux : après PC_choisi_pour_le projet):
[mortier@cassis dfe11_F90]$ scp mon_fichier userid@PC_choisi_pour_le projet:. mon_fichier 100% 540 0.5KB/s 00:00 [mortier@cassis dfe11_F90]$
ou pour rapatrier le résultat de vos calculs pour les analyser en local avec matlab
[mortier@cassis dfe11_F90]$ scp userid@PC_choisi_pour_le projet:dfe11_F90/test1.nc . test1.nc 100% 21MB 10.5MB/s 00:01 [mortier@cassis dfe11_F90]$