Changes between Initial Version and Version 1 of TuningMixte


Ignore:
Timestamp:
Jul 8, 2020, 3:14:20 PM (5 years ago)
Author:
Sebastien Nguyen
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TuningMixte

    v1 v1  
     1HighTune 1D => 3D : tuning 3D de LMDZ contraint par le 1D
     2
     3
     4
     5
     6
     70/ Partir du tuning 1D
     8
     9Lancer N vagues de tuning 1D avec des métriques 1D avec les mêmes paramètres qui seront utilisés en 1D et en 3D.
     10
     11Le nombre de simulations (jeu de valeurs des paramètres) est 10*le nombre de paramètres utiles.
     12
     13
     14
     151/ Préparer les paramètres de la vague 3D à partir du 1D
     16
     17A partir de la vague N, on introduit le 3D pour refaire le modèle réduit de la vague N et choisir les paramètres des simulations de la vague N+1 par un crible aléatoire du domaine des valeurs admissibles.
     18
     19Avec par exemple N=8 et 20 paramètres :
     20
     21Lancer la vague 8 en 1D : avec multi_art.sh.
     22
     23
     24
     25
     26
     272/ préparer les physiq.def des simulations 3D avec les paramètres obtenus du 1D
     28
     29Récupérer les jeux de paramètres depuis WORK/MONEXPE/WAVE8/CAS1D/REF/DEF :
     30
     31il s'agit des fichiers
     32
     33physiq.def_SCM_8-001 à 200.
     34
     35On va les copier sur le super calculateur (ici Jean-Zay)
     36
     37Le répertoire doit aussi contenir le physiq.def de la simulation de référence (physiq.def_NPv6.1)On va relancer des simulations en 3D avec ces valeurs de paramètres a partir d'une installation 3D tutorial_prod.On copie dans DEF/PHYS de l'installation tutorial_prod les 200
     38
     39physiq.def_SCM_8-001 200 et physiq.def_NPv6.1. (modifié)
     40
     41
     42
     433/ préparer le script des simulations 3D
     44
     45On modifie main.sh pour exécuter les 201 simulations.
     46
     47Dans main.sh :
     48
     49resol=96x95x59 (a adapter selon sa config avec le bon L??.def pour les niveaux verticaux).Valoriser init, mthini and mthend comme voulu.mettre dans physics la simulation de reference :
     50
     51physics="NPv6.1"rentrer la liste des 200 simulations dans physics :
     52
     53
     54
     55    smin=1
     56
     57
     58
     59    smax=200
     60
     61
     62
     63    for s in $(seq -f "%03g" $smin $smax) ; do physics="$physics SCM_8-$s"  ; done
     64
     65
     66
     67
     68
     69La boucle for suivante (dans main.sh) va parcourir les valeurs de physics et lancer les simulations.
     70
     71
     72
     73    for phys in $physics ; do
     74
     75
     76
     77       sed -e 's/ifl_pbltree=1/ifl_pbltree=0/' DEF/PHYS/physiq.def_$phys >| DEF/physiq.def
     78
     79
     80
     81       # name of simulation. Equal to $phys by default
     82
     83
     84
     85       name=$phys
     86
     87
     88
     89       ./setup.sh -d $resol -f $freq -v $version -name $name $svn $install -init $init $cosp $xios -mthini $mthini -mthend $mthend $nudging -climato $climato
     90
     91
     92
     93       if [ $init = 1 ] ; then init=0 ; fi # init=1 is possible only for the first simulation
     94
     95
     96
     97    done
     98
     99
     100
     101
     102
     1034/ Mettre à jour le projet de calcul
     104
     105modifier lmdz_env.sh pour calculer sur le bon projet :
     106
     107
     108
     109groupe=nfl dans jean-) pour calculer sur le projet nfl.
     110
     111
     112
     113    jean-) ARCH=X64_JEANZAY
     114
     115
     116
     117                    module purge
     118
     119
     120
     121                    compilo=19.0.4 # available 2013.0, 2017.2
     122
     123
     124
     125                    module load intel-compilers/$compilo
     126
     127
     128
     129                    #module load intel-mpi/$compilo
     130
     131
     132
     133                    module load intel-mkl/$compilo
     134
     135
     136
     137                    module load hdf5/1.10.5-mpi
     138
     139
     140
     141                    module load netcdf/4.7.2-mpi
     142
     143
     144
     145                    module load netcdf-fortran/4.5.2-mpi
     146
     147
     148
     149                    module load subversion/1.9.7
     150
     151
     152
     153                    module load nco
     154
     155
     156
     157                    module load cdo
     158
     159
     160
     161                    login=`whoami` ; groupe=`echo $login | cut -c2-4`
     162
     163
     164
     165                    groupe=nfl
     166
     167
     168
     169                    # Inputation de la consommation sur le groupe $groupe
     170
     171
     172
     173                    # changer la variable groupe pour imputer sur un autre groupe
     174
     175
     176
     177                    # que celui de son compte
     178
     179
     180
     181                    # Par exemple
     182
     183
     184
     185                    # groupe=lmd
     186
     187
     188
     189    ...
     190
     191
     192
     193
     194
     1955/ Lancer les simulations 3D
     196
     197
     198
     199    ./main.sh
     200
     201
     202
     203
     204
     2056/ Post traitement
     206
     207Editer postseason.sh pour lancer le post-traitement de l'ensemble de simulations.
     208
     209Ici on a inclut la simulation de référence qui peut être omise dans les vagues successive de 3D :
     210
     211
     212
     213    sims="NPv6.1precliq"
     214
     215
     216
     217    smin=1
     218
     219
     220
     221    smax=200
     222
     223
     224
     225    wave=8
     226
     227
     228
     229
     230
     231    for s in $( seq -f "%03g" $smin $smax ) ; do sims="$sims SCM_${wave}-$s" ; done
     232
     233
     234
     235
     236
     237    for s in $sims ; do ./seasonal.sh $s ; done
     238
     239
     240
     241
     242
     2437/ Transfert des fichiers sur ciclad
     244
     245Dans un répertoire personnel utiliser monget.sh pour rappatrier les fichiers du 3D :
     246
     247
     248
     249    login=rces982
     250
     251
     252
     253
     254
     255    main=TNAMA
     256
     257
     258
     259
     260
     261    if [ $main = "TNAMA" ] ; then
     262
     263
     264
     265    sims="NPv6.1precliq"
     266
     267
     268
     269
     270
     271    min=1
     272
     273
     274
     275    max=200
     276
     277
     278
     279    wave=8
     280
     281
     282
     283    for nb in $( seq -f "%03g" $min $max) ; do sims="$sims SCM_${wave}-$nb" ; done
     284
     285
     286
     287
     288
     289    elif [ ${main:0:7} = TUNE_II ] ; then
     290
     291
     292
     293    wave=32
     294
     295
     296
     297    sims="NPv6.1 "
     298
     299
     300
     301    sims="CTRL"
     302
     303
     304
     305    for i in `seq -w 1 90` ; do sims="$sims SCM_${wave}-0$i" ; done
     306
     307
     308
     309
     310
     311    else
     312
     313
     314
     315      echo main $main non prevu ; exit
     316
     317
     318
     319    fi
     320
     321
     322
     323
     324
     325    for i in $sims  ; do
     326
     327
     328
     329       ./get.sh $main $i $login
     330
     331
     332
     333       chmod -R a+Xr SN${main}${i}*
     334
     335
     336
     337    done
     338
     339
     340
     341
     342
     343Mon get utilise rsync par le script get.sh pour récupérer les fichier sur jean-zay
     344
     345
     346
     3478/ liens symbolique de SCM-8- vers SCM_8-
     348
     349Pour pouvoir lancer le multi_atlas il faut remplacer _ par - dans le nom des fichiers.
     350
     351On utilise le script to-.sh
     352
     353
     354
     355    #!/bin/bash
     356
     357
     358
     359
     360
     361    local=`pwd`
     362
     363
     364
     365    wave=8
     366
     367
     368
     369
     370
     371    for old in SN*SCM_${wave}* ; do
     372
     373
     374
     375        new=`echo $old | sed -e 's/_/-/g'` ; echo $old $new
     376
     377
     378
     379        for dir in SE TS_DA ; do
     380
     381
     382
     383           if [ -d $local/$old/ATM/Analyse/$dir ] ; then
     384
     385
     386
     387              cd $local/$old/ATM/Analyse/$dir
     388
     389
     390
     391              echo Traitement $local/$old/ATM/Analyse/$dir
     392
     393
     394
     395              mkdir -p $local/$new/ATM/Analyse/$dir
     396
     397
     398
     399              for file in *nc ; do
     400
     401
     402
     403                 cd $local/$new/ATM/Analyse/$dir
     404
     405
     406
     407                 ln -s $local/$old/ATM/Analyse/$dir/$file ./`echo $file | sed -e 's/'$old'/'$new'/'`
     408
     409
     410
     411              done
     412
     413
     414
     415           fi
     416
     417
     418
     419        done
     420
     421
     422
     423    done
     424
     425
     426
     427
     428
     4299/ Préparation du multi atlas
     430
     431Créer un fichier nd.comp avec les simulations voulues pour le multiatlas et
     432
     433les valeurs de paramètres correspondantes en copiant  Par1D_Wave8.asc à partir de
     434
     435WORK/SIMU1D/WAVE8/ dans nd.${main}_W$wave par exemple nd.TNAMA_W8
     436
     437
     438
     439enlever les " de nd.TNAMA_W8 :
     440
     441sed -i 's/"//g' nd.TNAMA_W8
     442
     443
     444
     445remplacer SCM_8 par SCM-8 pour les noms de simulation :
     446
     447sed -i 's/SCM_/SCM-/' nd.TNAMA_W8
     448
     449
     450
     451mettre OK à la fin des lignes contenant les paramètres de simulations :
     452
     453sed -i '2,$ s/$/ OK/' nd.TNAMA_W8
     454
     455
     456
     457mettre nd.TNAMA_W8 sur fabric@ciclad dans le répertoire de lancement de min.sh.
     458
     459
     460
     461Choisir les simulations à traiter dans min.sh :
     462
     463     main=TNAMA
     464
     465     wave=8
     466
     467     comp=${main}_W$wave
     468
     469     multi=/prodigfs/ipslfs/dods/fabric/lmdz/MultiSimu/$comp
     470
     471     years=2011_2011
     472
     473
     474
     475Activer dans min.sh les sorties du multiatlas :
     476
     477    cmor=1
     478
     479    atlas=1
     480
     481    tuning=1
     482
     483    zon=1
     484
     485    axe2=1
     486
     487    html=1
     488
     489
     490
     491Lancer ./min.sh
     492
     493
     494
     495vérifier que les atlas sont terminés :
     496
     497    qstat | grep fabric
     498
     499
     500
     501une fois les atlas terminés relancer ./min.sh
     502
     503
     504
     50510/ métriques 3D
     506
     507
     508
     509Récupérer les fichiers 3D sur la machine des simulations 1D :
     510
     511
     512
     513Dans un dossier 3D créer un dossier pour la vague 8 : TNAMAW8
     514
     515
     516
     517Récupérer get.sh, to.sh post_scores.sh pp.sh et prepa.sh
     518
     519
     520
     521Modifier get.sh :
     522
     523    #!/bin/bash
     524
     525   
     526
     527    wave=8
     528
     529    main_multi=TNAMA_W${wave}
     530
     531    main_sims=SNTNAMA
     532
     533    years=2011_2011
     534
     535    years_ctrl=2001_2001
     536
     537
     538
     539Lancer ./get.sh
     540
     541
     542
     543une fois les fichiers récupérés
     544
     545
     546
     547Calculer les métriques 3D avec to.sh :
     548
     549
     550
     551copier nd.TNAMA_W8 et les paramètres utilisés pour le tuning 1D ici param_AMA2020 :
     552
     553    WDENSO 1.e-11 1.e-8 1.e-9 log
     554
     555    ALPBLK 0.2 0.8 0.5 linear
     556
     557    ALPWKK 0.01 0.5 0.25 linear
     558
     559    CLDLC 0.0001 0.001 0.00065 linear
     560
     561    CLDCV 0.5 3. 1.0 log
     562
     563    ...
     564
     565
     566
     567modifier to.sh :
     568
     569    waves=8
     570
     571    EXPE=TNAMA
     572
     573    ROOTCTRL=FHSERIE8CTRL
     574
     575    period=2011_2011
     576
     577    param_file=param_AMA2020
     578
     579
     580
     581Lancer ./to.sh
     582
     583
     584
     585Une fois les métriques tracées et visualisées calculer les scores.
     586
     587
     588
     589Calculer les scores de métriques avec post_scores.sh
     590
     591
     592
     593Copier metrics.csv et obs.csv depuis WRKLR8.
     594
     595
     596
     597Ajouter la ligne des tolérances dans obs.csv :
     598
     599    VAR,0.04,25,25,25,25,100,100,25,25,100,25,0.1,0.005,0.04,0.25,0.25,0.25
     600
     601(cf prepa.sh ligne 28)
     602
     603
     604
     605Modifier post_scores.sh :
     606
     607    wavemin=8
     608
     609    wavemax=8
     610
     611
     612
     613Lancer ./post_scores.sh
     614
     615
     616
     617Visualiser les scores de métriques pour la vague 8 :
     618
     619
     620
     621Modifier pp.sh pour ajouter les métriques utilisées :
     622
     623    xmgrace -legend load glob.rt glob.rsut etoa.rsut circAa.rlut circAa.rsut conv.rlut conv.rsut weak.rlut weak.rsut subs.rlut subs.rsut MJO ">50" AMMA PANET.pr OCEMAR.pr CONMAR.pr -log y -hardcopy -hdevice EPS -printfile tmp.eps -param param
     624
     625
     626
     627Lancer ./pp.sh
     628
     629
     630
     63111/ réunir les métriques 3D et 1D
     632
     633
     634
     635récupérer htune_csv.R
     636
     637
     638
     639modifier prepa.sh :
     640
     641    ORIG=TNAMA  (répertoire 1D vague 8)
     642
     643    NEW=TNAMA1D3D_W8 (répertoire de travail)
     644
     645    w0=8 (vague 1D+3D)
     646
     647    MAIN=~/HTCINDYWK/R194/HighTune/WORK
     648
     649...
     650
     651    echo "VAR,0.04,25,25,25,25,100,100,25,25,100,25,0.1,0.005,0.04,0.25,0.25,0.25" >> obs.csv
     652
     653(vérifier la consistance avec obs.csv)
     654
     655
     656
     657ligne 37 et ligne 55, remplacer grep $i par:
     658
     659    grep ${i/-/_}
     660
     661our travailler sur SCM_ et pas SCM-
     662
     663
     664
     665Lancer ./prepa.sh
     666
     667
     668
     66912/ générer l'émulateur et la prochaine vague