wiki:BasculeCCRTTGCC/OutilSurPack

Outil de Surpack



Le but de cet outil est de trouver une fréquence de pack plus adaptée pour une simulation donnée. Et ensuite de re-packer cette simulation avec cette nouvelle fréquence

WARNING
Cet outil est un outil en phase de développement, il a été testé par peu de personnes et implique beaucoup de modifications de path dans les scripts. Merci d'être très attentif à chaque étape de lancement et de bien vérifier les résultats de chaque étape.

1. Extraction

svn co http://forge.ipsl.jussieu.fr/igcmg/svn/TOOLS/SURPACK_IPSL

2. Modifier load_ipslPack_env.sh

  • TMP_MIGR_DATA = répertoire temporaire de travail
  • INPUT_DMF_DATA = répertoire contenant la simulation à repacker. Attention il ne faut pas de « / » en fin de path
  • OUTPUT_STORE et OUPUT_WORK = doivent être cohérent avec TMP_MIGR_DATA

3. Lancement de launch_ipsl_pack.sh

Ce script permet de déterminer si il y a une fréquence de pack plus adaptée à votre simulation. Les différentes options sont :

  • -f : pour redémarrer cette étape à zéro
  • -v : pour forcer à s'arrêter après le calcul de la fréquence et demander à l'utilisateur si il veut continuer
  • -h : mode d'emploi

Deux méthodes existent pour lancer ce script :

3.1. en interactif

--> Pour des simulations courtes (une vingtaine d'années)

Avant de lancer ce script vous devez vous créer un fichier texte (ex : param.txt) contenant le path de la simulation à repacker.
Exemple de path :

 /ccc/store/cont003/dsm/p86cozic/IGCM_OUT/IPSLCM5A/PROD/historical/CM51989.2

ATTENTION il faut travailler avec une seule simulation à la fois

lancement :

./launch_ipsl_pack.sh param.txt

3.2. En Batch

--> Pour les simulations plus longues (au delà de la vingtaine d'années) Il faut utiliser le script my_surpack.job

  • modifier le path du répertoire SURPACK_IPSL
  • modifier le path de la simulation que vous souhaitez sur-packer

ATTENTION il faut travailler avec une seule simulation à la fois

Lancement :

ccc_msub my_surpack.job 

3.3. Vérification

Vous avez maintenant sur votre scratchdir dans TMP_MIGR_DATA/IGCM_DEM l'ensemble des listes des fichiers à repacker. Vérifiez les avant de lancer l'étape de pack.

  • work_cp >> liste des répertoires et des fichiers à copier directement sur le cccworkdir
  • store_cp >> liste des répertoires et des fichiers à copier directement sur le cccstoredir.
  • restart_tar >> listes, à une fréquence donnée, des fichiers de restart à archiver
  • debug_tar >> listes, à une fréquence donnée, des fichiers de debug à archiver
  • output_ncrcat >> listes, à une fréquence donnée, des fichiers d'output à concaténer
  • output_tar >> listes, à une fréquence donnée, des fichiers d'ouputs à archiver
    • parce qu'il manque un fichier dans la période.
    • parce qu'il y a eu une erreur lors de la concaténation
  • RESTART/ >> fichiers Restart de la simulation en les renommant
  • DEBUG/ >> fichiers Debug de la simulation en les renommant

4. Modifier load_batch_directives.sh

Ce sont les paramètres de lancement du script « parallelPack.sh ». Les valeurs par défaut sont les valeurs max acceptables.

  • nbProcs --> 4 (maximum)
  • computationTime --> 86400 (max)
  • timeLimitBeforeEnd --> 3600 (max)
  • projectName --> votre groupe genci
  • queueType --> xlarge (à ne pas modifier)
  • QosType --> normal (à ne pas modifier)
  • corePerProc --> (à ne pas modifier)

5. modifier loadParameters.sh

vous pouvez demander au pack de double checker un certain nombre de pack de listes en utilisant une seconde méthode de concaténation. Pour cela renseignez les paramètres nbListsTocheck et doYouWantCheck

6. lancement de parallelPack.sh

  • Positionnez votre environnement :
    • module load nco/4.1.0
    • module load libccc_user
    • module load cdo
  • compilez l'outil :
    make 
    
  • Dans load_batch_directives.sh modifiez les options de lancement (groupe genci, nombre de processeurs …. )

Lancement :

./parallelPack.sh 

7. Vérification de l'étape de pack

Une fois le pack fini (vérifier avec la commande ccc_mstat -u login) vous devez lancer le script showPackProgress.sh pour vérifier que tout s'est passé correctement. Et dans ce cas là vous pouvez lancer le script SaveNewSimuPack.sh (voir point suivant)

Lancement :

./showPackProgress.sh

8. Sauvegarde de la nouvelle simulation

L'étape de surPack a été entièrement réalisée sur le scratchdir, vous pouvez choisir maintenant d'écraser la simulation d'origine du storedir avec cette nouvelle simulation packée. Auparavant vérifiez bien que les résultats vous semble cohérent avec ce que vous attendiez. (répertoire OUTPUT_STORE défini dans load_ipslPack_env.sh)

Une sauvegarde sera faite des fichiers pour lesquels le surpack n'aura pas fonctionné.

8.1. Liste des fichiers surpackés correctement + copie sur le storedir

Modifier dans my_SaveNewSimuPack.job le path du répertoire SURPACK_IPSL

Lancement :

ccc_msub my_SaveNewSimuPack.job

Ce script lance un second script SaveNewSimuPack.job qui

  • crée la liste des fichiers surpackés correctement
  • change le nom du répertoire de la simulation d'origine ${SIMU}.BP (BP=before pack), copie sur le store la simulation re-packée, et efface du répertoire ${SIMU}.BP tous les fichiers listés précédemment. (option -rmv du script SaveNewSimuPack.job)

A ce stade :
Dans ${TMP_MIGR_DATA}/PSEUDO_DMNFS_PROGRESS/../../../JobName/? vous trouverez deux listes de fichiers :

  • La liste des fichiers à effacer rmv_afterSurPack.txt
  • La liste des fichiers restant après le surpack (et donc non effacés) lastFiles_afterSurPack.txt

8.2. Ménage dans la sauvegarde .BP et copie des fichiers dans la nouvelle simu

Il ne vous reste plus qu'à déplacer les fichiers non effacés de la simulation .BP (donc mal surpackés) vers votre nouvelle simulation surpackée. Pour cela il suffit de lancer le script suivant

New2Old.sh
Last modified 10 years ago Last modified on 12/13/13 16:43:03