| 397 | == Comment repérer qu'il manque un fichier dans les sorties, ou que l'un des fichiers est incomplet ? == |
| 398 | Depuis le 19 janvier 2011, le script check_expe_files_size.sh disponible dans le répertoire libIGCM/libIGCM_post ou là : [http://forge.ipsl.jussieu.fr/libigcm/browser/trunk/libIGCM/libIGCM_post/check_expe_files_size.sh check_expe_files_size.sh] permet de repérer les trous dans des séries de fichiers rangés selon la nomenclature IPSL. |
| 399 | |
| 400 | Options : |
| 401 | * L'option -Z permet d'étudier les tailles des fichiers et de repérer si les tailles des mois de janvier (février, ...) sont différentes entre les années. Fonctionne aussi avec les années bissextiles. Attention au temps d'execution qui dépasse largement 10 mn dans ce cas. |
| 402 | * L'option -I xxxx, permet d'arrêter la vérification des noms à cette année là. Utile dans le cas d'une simulation en route avec des rebuild non faits. |
| 403 | * L'option -R permet de parcourir l'arborescence. |
| 404 | |
| 405 | Machines testées : CCRT (répertoire $DMFDIR) et IDRIS (gaya directement) |
| 406 | |
| 407 | Exemples d'utilisation : |
| 408 | {{{ |
| 409 | check_expe_files_size.sh SRF/Output/MO # verification des noms du repertoire SRF/Output/MO |
| 410 | check_expe_files_size.sh -Z SRF/Output/MO # verification des noms et des tailles des fichiers du repertoire |
| 411 | check_expe_files_size.sh -R -S "*/Output" # verification des noms des fichiers pour toute une simulation IPSL |
| 412 | check_expe_files_size.sh -Z -R -S "*/Output" # verification des noms et des tailles des fichiers pour toute une simulation IPSL |
| 413 | check_expe_files_size.sh -I 1949 -R -S "*/Output" # verification jusuque a l annee 1949 incluse des noms des fichiers pour une simulation IPSL |
| 414 | }}} |
| 415 | |
| 416 | Exemple avec erreur. A noter le code retour non nul : |
| 417 | {{{ |
| 418 | Example (with errors) : |
| 419 | > pwd |
| 420 | IGCM_OUT/IPSLCM5A/DEVT/pdControl/SX81210 |
| 421 | > check_expe_files_size.sh -Z -R ATM/Output |
| 422 | quiet : 0 recursion : 1 - examsize : 1 - dir - ATM/Output -- subdir -- maxyearp1 : 9999 |
| 423 | 48 files proceeded. |
| 424 | Years occurring : 2000 |
| 425 | Years tested : 2000 |
| 426 | File name patterns and holes (if any) : |
| 427 | ./DA/SX81210_YYmmdd_YYmmdd_1D_histday.nc : |
| 428 | ./HF/SX81210_YYmmdd_YYmmdd_HF_histhf.nc : |
| 429 | ./MO/SX81210_YYmmdd_YYmmdd_1M_histmth.nc : 200011 |
| 430 | ./MO/SX81210_YYmmdd_YYmmdd_1M_histmthNMC.nc : |
| 431 | |
| 432 | Size verification per month (if different) : |
| 433 | ./DA/SX81210_YYmmdd_YYmmdd_1D_histday.nc : |
| 434 | ./HF/SX81210_YYmmdd_YYmmdd_HF_histhf.nc : |
| 435 | ./MO/SX81210_YYmmdd_YYmmdd_1M_histmth.nc : [11] |
| 436 | ./MO/SX81210_YYmmdd_YYmmdd_1M_histmthNMC.nc : |
| 437 | > echo $? |
| 438 | 1 |
| 439 | }}} |
| 440 | |
| 441 | |
| 442 | [[BR]][[BR]] |
| 443 | == Comment boucher un trou cad relancer une simulation pour refaire les fichiers d'un mois complet? == |
| 444 | |
| 445 | Saperlipopette, j'ai perdu un fichier! Il s'agit du mois d'octobre 1932 de la simulation ARGENT. Que dois-je faire pour le recréer? |
| 446 | |
| 447 | Pour boucher un trou, il faut refaire exactement la même simulation, c'est à dire : |
| 448 | * sur le serveur de fichiers : |
| 449 | * supprimer (ou mettre de côté) les autres fichiers du même mois. Utiliser le suffixe 19321031 (ou bien 19321030 si vous êtes en calendrier 360d) pour avoir aussi les fichiers de type Restart. |
| 450 | {{{ |
| 451 | cd IGCM_OUT/IPSLCM5A/DEVT/pdControl/ARGENT |
| 452 | find . -name '*19321031*' -exec rm -f {} \; |
| 453 | }}} |
| 454 | * sur la machine de calcul : |
| 455 | * créer un repertoire dédié spécial : {{{ cp -pr ARGENT ARGENTREDO }}} |
| 456 | * dans ce nouveau répertoire, modifier le fichier run.card pour avoir les bonnes valeurs des paramètres suivants : |
| 457 | {{{ |
| 458 | OldPrefix= ARGENT_19320930 |
| 459 | PeriodDateBegin= 1932-10-01 |
| 460 | PeriodDateEnd= 1932-10-31 |
| 461 | CumulPeriod= xxx # Attention mettre la bonne valeur cad la valeur associé au même mois dans le fichier run.card témoin (ARGENT) |
| 462 | PeriodState= OnQueue |
| 463 | }}} |
| 464 | * modifier le fichier config.card pour ne faire qu'un seul mois ie qu'une seule Period : |
| 465 | {{{ |
| 466 | DateEnd= 1932-10-31 |
| 467 | }}} |
| 468 | * vérifier que l'on prendra exactement le même fichier Bands. |
| 469 | * Si c'est au delà de la 3ème itération pas de problème, c'est fait automatiquement. |
| 470 | * Sinon, dans le fichier COMP/lmdz.card, modifier les paramètres LMDZ_NbPeriod_adjust et LMDZ_Bands_file_name ainsi : |
| 471 | {{{ |
| 472 | LMDZ_NbPeriod_adjust=0 |
| 473 | # To force usage of this Bands file, put LMDZ_NbPeriod_adjust=0 and replace XXXXXXX by Restart Job Name |
| 474 | LMDZ_Bands_file_name=${ARCHIVE}/IGCM_OUT/IPSLCM5/CEPRO0/ATM/Debug/CEPRO0_Bands_96x95x39_3prc.dat_3 |
| 475 | }}} |
| 476 | * relancer la simulation : |
| 477 | {{{ |
| 478 | vi run.card # vérifier encore une fois |
| 479 | vi Job_ARGENT # vérifier les parametres de temps et les noms des Scripts de sortie |
| 480 | qsub Job_ARGENT |
| 481 | }}} |
| 482 | |
| 483 | |
| 484 | [[BR]][[BR]] |
| 485 | == Comment relancer une simulation à l'identique pour récupérer quelques fichiers de sortie disparus ? ==== |
| 486 | |
| 487 | Ceci est une variante de la question précédente. Elle permet de faire une autre simulation à l'identique mais à côté. Pas besoin de détruire les fichiers sur le serveur de fichiers, on recrée tous les fichiers du mois en question. |
| 488 | |
| 489 | Exemple : refaire tourner v3.historicalAnt1 car 3 fichiers ont disparu pour 19640930. |
| 490 | |
| 491 | Actions : |
| 492 | * Sur le serveur de fichiers : créer les fichiers Restart, mesh_mask et Bands. |
| 493 | {{{ |
| 494 | ## Directory |
| 495 | mkdir ....IGCM_OUT/IPSLCM5A/REDO/historicalAnt/v3.historicalAnt1REDO |
| 496 | cd ....IGCM_OUT/IPSLCM5A/REDO/historicalAnt/v3.historicalAnt1REDO |
| 497 | mkdir -p ATM/Restart CPL/Restart ICE/Restart MBG/Restart OCE/Restart SBG/Restart SRF/Restart |
| 498 | # Restart |
| 499 | ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/ATM/Restart/v3.historicalAnt1_19640831_restart.nc ATM/Restart/v3.historicalAnt1REDO_19640831_restart.nc |
| 500 | ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/ATM/Restart/v3.historicalAnt1_19640831_restartphy.nc ATM/Restart/v3.historicalAnt1REDO_19640831_restartphy.nc |
| 501 | ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/CPL/Restart/v3.historicalAnt1_19640831_flxat.nc CPL/Restart/v3.historicalAnt1REDO_19640831_flxat.nc |
| 502 | ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/CPL/Restart/v3.historicalAnt1_19640831_sstoc.nc CPL/Restart/v3.historicalAnt1REDO_19640831_sstoc.nc |
| 503 | ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/ICE/Restart/v3.historicalAnt1_19640831_restart_icemod.nc ICE/Restart/v3.historicalAnt1REDO_19640831_restart_icemod.nc |
| 504 | ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/MBG/Restart/v3.historicalAnt1_19640831_restart_trc.nc MBG/Restart/v3.historicalAnt1REDO_19640831_restart_trc.nc |
| 505 | ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/OCE/Restart/v3.historicalAnt1_19640831_restart.nc OCE/Restart/v3.historicalAnt1REDO_19640831_restart.nc |
| 506 | ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/SBG/Restart/v3.historicalAnt1_19640831_stomate_rest.nc SBG/Restart/v3.historicalAnt1REDO_19640831_stomate_rest.nc |
| 507 | ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/SRF/Restart/v3.historicalAnt1_19640831_sechiba_rest.nc SRF/Restart/v3.historicalAnt1REDO_19640831_sechiba_rest.nc |
| 508 | # mesh_mask |
| 509 | mkdir -p OCE/Output |
| 510 | cd OCE/Output |
| 511 | ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/OCE/Output/v3.historicalAnt1_mesh_mask.nc v3.historicalAnt1REDO_mesh_mask.nc |
| 512 | cd ../.. |
| 513 | # Bands |
| 514 | mkdir -p ATM/Debug |
| 515 | cd ATM/Debug |
| 516 | ln -s ../../../../../PROD/historicalAnt/v3.historicalAnt1/ATM/Debug/v3.historicalAnt1_Bands_96x95x39_3prc.dat_3 v3.historicalAnt1REDO_Bands_96x95x39_3prc.dat_3 |
| 517 | cd ../.. |
| 518 | }}} |
| 519 | * Sur la machine de calcul: |
| 520 | * créer un repertoire dédié spécial : |
| 521 | {{{ |
| 522 | cp -pr v3.historicalAnt1 v3.historicalAnt1REDO |
| 523 | }}} |
| 524 | * dans ce nouveau répertoire, modifier le fichier run.card pour avoir les bonnes valeurs des paramètres suivants : |
| 525 | {{{ |
| 526 | OldPrefix= v3.historicalAnt1REDO_19640831 |
| 527 | PeriodDateBegin= 1964-09-01 |
| 528 | PeriodDateEnd= 1964-09-30 |
| 529 | CumulPeriod= xxx # Attention mettre la bonne valeur cad la valeur associé au même mois dans le fichier run.card témoin (ARGENT) |
| 530 | PeriodState= OnQueue |
| 531 | }}} |
| 532 | * modifier le fichier config.card pour ne faire qu'un seul mois (ie qu'une seule Period), ne pas faire les Post-traitements et lancer rebuild à la fin du mois refait. |
| 533 | {{{ |
| 534 | JobName=v3.historicalAnt1REDO |
| 535 | ... |
| 536 | SpaceName=REDO |
| 537 | ... |
| 538 | DateEnd= 1964-09-30 |
| 539 | ... |
| 540 | RebuildFrequency=1M |
| 541 | ... |
| 542 | TimeSeriesFrequency=NONE |
| 543 | ... |
| 544 | SeasonalFrequency=NONE |
| 545 | }}} |
| 546 | * relancer la simulation : |
| 547 | {{{ |
| 548 | vi run.card # vérifier encore une fois |
| 549 | mv Job_v3.historicalAnt1 Job_v3.historicalAnt1REDO |
| 550 | vi Job_v3.historicalAnt1REDO # vérifier les parametres de temps et les noms des Scripts de sortie |
| 551 | qsub Job_v3.historicalAnt1REDO |
| 552 | }}} |
| 553 | * une fois le job fini, vérifier que les solver.stat sont bien identiques : |
| 554 | {{{ |
| 555 | sdiff OCE/Debug/v3.historicalAnt1REDO_19640901_19640930_solver.stat /dmnfs11/cont003/p86maf/IGCM_OUT/IPSLCM5A/PROD/historicalAnt/v3.historicalAnt1/OCE/Debug/v3.historicalAnt1_19640901_19640930_solver.stat |
| 556 | }}} |