wiki:IPSLCM6-MR

Version 33 (modified by mafoipsl, 6 years ago) (diff)

--

IPSLCM6-MR

Test sur Irene en décembre 2018 avec IPSLCM6.1.8

  • gmake IPSLCM6-MR1
  • partir de l'experience pdControl_TEST
  • dans COMP :
    • poids et autres fichier oasis : fichiers poids _v4 au lieu de _v3. A paramétrer?
      oasis.card
      ...
      
  • différences dans config.card
    • les longname et modelname (pas testé avec MR1 mais avec MR oui)
      < LongName="IPSLCM6.1.8-LR"
      < ModelName=IPSL-CM6A-LR
      ---
      > LongName="IPSLCM6.1.8-MR"
      > ModelName=IPSL-CM6A-MR1
      
  • les découpages LMDZ (128 tâches MPI) et NEMO (171 tâches MPI, en phase avec namelist_ORCA1_cfg_IPSLCM6-MR1 : jpni=22 (comme LR), jpnj=10, jpnij=171)
    < ATM= (gcm.e, lmdz.x, 128MPI, 8OMP)
    ---
    > ATM= (gcm.e, lmdz.x, 71MPI, 8OMP)
    ...
    < OCE= (opa, opa.xx, 360MPI)
    ---
    > OCE= (opa, opa.xx, 171MPI)
    
  • choisir les bons restart pour l'océan. Par exemple :
    < RestartDate=1849-12-31
    < RestartJobName=CM61-pre-pi-01
    < RestartPath=${R_IN}/RESTART/IPSLCM6/PROD/piControl-spinup
    ---
    > RestartDate=3199-12-31
    > RestartJobName=CM6015S-pd-03
    > RestartPath=${R_IN}/RESTART/IPSLCM6/DEVT/pdControl
    
    
  • différence dans COMP/opa9.card
    < (${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE}_cfg                        , namelist_cfg        ), \
    ---
    > (${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE}_cfg_IPSLCM6-MR1                                   , namelist_cfg        ), \
    
  • reste à faire. Choisir :
    • LMDZ : physiq.def.6.1 réglages de cld_lc_lsc, fonction des forçages mis en place.
      -cld_lc_lsc=0.000065
      -cld_lc_con=0.000065
      

A faire pour avoir IPSLCM6-MR1 dans une config

  • Enregistrement sur svn fait. gmake IPSLCM6-MR1
  • PARAM : ok.
  • COMP : il reste à commiter ces différences avec un choix simple :
  • différences liées à piControl/pdControl (enregistrer une expérience pdControl_TEST?)
    lmdz.card
    < ConfType=preind > ConfType=actuel
    < pmagic=0.0 > pmagic=0.01
    
    <             (${R_IN}/ATM/OZONE/UReading/historical.v20160711.v2/interpol/${RESOL_ATM_XY}/climoz_LMDZ_1850_1850_clim.nc, climoz_LMDZ.nc),\
    <             (${R_IN}/ATM/SOLAR/CMIP6/v3.1corr/Control/solarforcing_v3.1_piControl_ave_6bands_366days.nc, solarforcing.nc),\
    
    >             (${R_IN}/ATM/AEROSOLS/CMIP6/v1/${RESOL_ATM_XY}/L${RESOL_ATM_Z}/aerosols1995_from_inca.nc,   aerosols1980.nc),\
    >             (${R_IN}/ATM/OZONE/UReading/historical.v20160711.v2/interpol/${RESOL_ATM_XY}/climoz_LMDZ_1979_2010_clim.nc, climoz_LMDZ.nc),\
    >             (${R_IN}/ATM/SOLAR/CMIP6/v3.1corr/Control/solarforcing_v3.1_pdControl_ave_6bands_366days.nc, solarforcing.nc),\
    
    orchidee.card
    < ListNonDel= (${R_IN}/SRF/PFTMAPS/CMIP6/ESA-LUH2v2/historical/15PFT.v1/PFTmap_1850.nc, PFTmap.nc),\
    <             (${R_IN}/SRF/WOODHARVEST/LUH2v2/historical/woodharvest_1850.nc,           woodharvest.nc)
    ---
    > ListNonDel= (${R_IN}/SRF/PFTMAPS/CMIP6/ESA-LUH2v2/historical/15PFT.v1/PFTmap_2000.nc, PFTmap.nc),\
    >             (${R_IN}/SRF/WOODHARVEST/LUH2v2/historical/woodharvest_2000.nc,           woodharvest.nc)
    pisces.card
    <              (${R_IN}/OCE/IPSLCM6/${opa9_UserChoices_ORCA_version}/Dust_inca_LOI/DUST_INCA_LOI6012-histAER_1M_1850.nc, dust.orca.nc       ), \
    ---
    >              (${R_IN}/OCE/IPSLCM6/${opa9_UserChoices_ORCA_version}/Dust_inca_LOI/DUST_INCA_LOI6012-histAER_1M_2000.nc, dust.orca.nc       ), \
    
    <              (${R_IN}/OCE/IPSLCM6/${opa9_UserChoices_ORCA_version}/Ndep_input4MIPs/Ndep_input4MIPs_surfaceFluxes_CMIP_NCAR-CCMI-2-0_gn_185001-185012-clim.nc , ndeposition.orca.nc ), \
    ---
    >              (${R_IN}/OCE/IPSLCM6/${opa9_UserChoices_ORCA_version}/Ndep_input4MIPs/Ndep_input4MIPs_surfaceFluxes_CMIP_NCAR-CCMI-2-0_gn_200001-200012-clim.nc , ndeposition.orca.nc ), \
    
    <       (${SUBMIT_DIR}/PARAM/namelist_top_${RESOL_OCE}piC_cfg                                  , namelist_top_cfg           ), \
    ---
    >       (${SUBMIT_DIR}/PARAM/namelist_top_${RESOL_OCE}pdC_cfg                                  , namelist_top_cfg           ), \
    
    
  • différences liées à la résolution
    • états de démarrage LMDZ. Paramétrage OK. Fichiers start et startphy OK dans IGCM/ATM/START/eORCA1.2xLMD256x256/start_eORCA1.2xLMD256x256x79_o2a_v4.nc startphy_eORCA1.2xLMD256x256x79_o2a_v4.nc
    • forcages : la résolution est dans les noms des répertoires. OK pour COMP mais il faut vérifier la présence des fichiers :
      • Ozone : OK (DC, OK dans IGCM/ATM/OZONE/UReading/historical.v20160711.v2/interpol/256x256/climoz_LMDZ_????.nc
      • aerosols tropos : OK (MAF, OK dans IGCM/ATM/AEROSOLS/CMIP6/v1/256x256/L79/aerosols????_from_inca.nc
      • aerosols stratos : OK (OB, OK dans IGCM/ATM/STRATAERO/CMIP6/v3/256x256/tau[ls]wstrat.2D.ave.nc et tau[ls]wstrat.2D.????.nc et sur ciclad : /data/obolmd/CMIP6/VOLC/MR_v3)
      • pisces/dust : pas besoin
      • harwest, PFT : pas besoin
    • poids et autres fichier oasis : fichiers poids _v4 au lieu de _v3. A paramétrer?
      oasis.card
      18,21c18,21
      < List=   (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/flxat_v3.nc, flxat.nc), \
      <         (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/sstoc_v3.nc, sstoc.nc), \
      <         (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/icbrg_v3.nc, icbrg.nc), \
      <         (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/icshf_v3.nc, icshf.nc)
      ---
      > List=   (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/flxat_v4.nc, flxat.nc), \
      >         (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/sstoc_v4.nc, sstoc.nc), \
      >         (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/icbrg_v4.nc, icbrg.nc), \
      >         (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/icshf_v4.nc, icshf.nc)
      25,29c25,29
      < ListNonDel= (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/grids_v3.nc, grids.nc),\
      <           (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/masks_v3.nc, masks.nc),\
      <           (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/areas_v3.nc, areas.nc),\
      <             (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/rmp_torc_to_tlmd_MOSAIC_v3.nc, rmp_torc_to_tlmd_MOSAIC.nc),\
      <             (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/rmp_tlmd_to_torc_MOSAIC_v3.nc, rmp_tlmd_to_torc_MOSAIC.nc),\
      ---
      > ListNonDel= (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/grids_v4.nc, grids.nc),\
      >           (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/masks_v4.nc, masks.nc),\
      >           (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/areas_v4.nc, areas.nc),\
      >             (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/rmp_torc_to_tlmd_MOSAIC_v4.nc, rmp_torc_to_tlmd_MOSAIC.nc),\
      >             (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/rmp_tlmd_to_torc_MOSAIC_v4.nc, rmp_tlmd_to_torc_MOSAIC.nc),\
      32,34c32,34
      <             (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/rmp_tlmd_to_torc_MOSAIC_calving_nosouth_v3.nc, rmp_tlmd_to_torc_MOSAIC_calving_nosouth.nc),\
      <             (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/rmp_tlmd_to_torc_MOSAIC_calving_iceberg_v3.nc, rmp_tlmd_to_torc_MOSAIC_calving_iceberg.nc),\
      <             (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/rmp_tlmd_to_torc_MOSAIC_calving_iceshelf_v3.nc, rmp_tlmd_to_torc_MOSAIC_calving_iceshelf.nc),\
      ---
      >             (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/rmp_tlmd_to_torc_MOSAIC_calving_nosouth_v4.nc, rmp_tlmd_to_torc_MOSAIC_calving_nosouth.nc),\
      >             (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/rmp_tlmd_to_torc_MOSAIC_calving_iceberg_v4.nc, rmp_tlmd_to_torc_MOSAIC_calving_iceberg.nc),\
      >             (${R_IN}/CPL/IPSLCM6/${config_UserChoices_ORCA_version}x${RESOL_ATM}/rmp_tlmd_to_torc_MOSAIC_calving_iceshelf_v4.nc, rmp_tlmd_to_torc_MOSAIC_calving_iceshelf.nc),\
      
      
  • différences dans config.card
    • les longname et modelname (pas testé avec MR1 mais avec MR oui)
      < LongName="IPSLCM6.1.8-LR"
      < ModelName=IPSL-CM6A-LR
      ---
      > LongName="IPSLCM6.1.8-MR"
      > ModelName=IPSL-CM6A-MR1
      
    • les découpages LMDZ (128 tâches MPI) et NEMO (171 tâches MPI, en phase avec namelist_ORCA1_cfg_IPSLCM6-MR1 : jpni=22 (comme LR), jpnj=10, jpnij=171)
      < ATM= (gcm.e, lmdz.x, 128MPI, 8OMP)
      ---
      > ATM= (gcm.e, lmdz.x, 71MPI, 8OMP)
      ...
      < OCE= (opa, opa.xx, 360MPI)
      ---
      > OCE= (opa, opa.xx, 171MPI)
      
      • choisir les bons restart pour l'océan. Par exemple
        < RestartDate=1849-12-31
        < RestartJobName=CM61-pre-pi-01
        < RestartPath=${R_IN}/RESTART/IPSLCM6/PROD/piControl-spinup
        ---
        > RestartDate=3199-12-31
        > RestartJobName=CM6015S-pd-03
        > RestartPath=${R_IN}/RESTART/IPSLCM6/DEVT/pdControl
        
        
  • différence dans COMP/opa9.card
    < (${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE}_cfg                                    , namelist_cfg        ), \
    ---
    > (${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE}_cfg_IPSLCM6-MR1                                   , namelist_cfg        ), \
    
  • restera à faire. LMDZ : physiq.def.6.1 réglages de cld_lc* avec les forçages mis en place :
    -cld_lc_lsc=0.000065
    -cld_lc_con=0.000065
    

Octobre 2018 IPSLCM6.1.7 en MR

Sur Irene. OK 1 an.

Sur ada, juillet 2017. Mise à jour 6 septembre 2017. Nouvelle simulation : 30 juillet 2018.

Juillet 2018 : IPSLCM6.1.5 en MR sur ada

Simulation

50 ans fait. Voir monitoring : https://prodn.idris.fr/thredds/fileServer/ipsl_public/rgzi003/IPSLCM6/DEVT/pdControl/CM61-MR-pd-01/MONITORING/index.html

  • Cible : 14°C pour t2m_global
  • 1850-1859 avec 0.00055 ==> trop froid
  • 1860-1879 avec 0.00040 ==> trop froid encore
  • 1880-1899 avec 0.00025 ==> trop chaud

Mise en oeuvre

  • IPSLCM6.1.5-LR
  • Résolution : LMDZ 256x256x279 eORCA1
    • Modification dans AA_make :
      +++ AA_make     (working copy)
      
      +IPSLCM6-MR :
      +       $(M_K) ORCA1LIM3xLMD256256-L79
      
      +ORCA1LIM3xLMD256256-L79 : libioipsl oasis3-mct xios liborchidee orca1lim3 lmdz256x256x79 verif
      +       echo "ORCA1LIM3xLMD256256-L79" >.resol
      +       echo "RESOL_ATM_3D=256x256x79" >>.resol
      +       echo "$(LIB_MPI)" >.libmpi
      
      +lmdz256x256x79:
      +       $(M_K) lmdz RESOL_LMDZ=256x256x79
      
  • pas d'aérosols strato : config.def_actuel:flag_aerosol_strat=0
  • start/startphy d'une simu précédente peu importe laquelle
  • pdControl
  • différences liés au MR :
    diff  gcm.def_256x256_NPv6.0.11  gcm.def_144x142_NPv6.0.11
    < day_step=1344 > day_step=672
    < iphysiq=14 > iphysiq=7
    < ngroup=5 > ngroup=4
    < tetagdiv=1800.
    < tetagrot=10800.
    < tetatemp=5400.
    
    • LMDZ : physiq.def.6.1 avec comme seuls changements :
      -cld_lc_lsc=0.000065
      -cld_lc_con=0.000065
      +cld_lc_lsc=0.000055
      +cld_lc_con=0.000055
      

et aussi :

  • NEMO : comme 6.1
  • ozone analytique (read_climoz=0)
  • aerosols nat et 1980 de Frédéric flag_aerosol=6, ok_ade=y, ok_aie=y, ok_cdnc=y
  • départ depuis pdControl LR CM61 pour l’océan
  • Equilibrage :
    • 220 coeurs pour NEMO, 128x8 (1 024) pour LMDZ et 1 pour XIOS. Cela prend en tout 1 248 coeurs. ===> NE PASSE PAS car erreur sur jpni/jpnj/jpnij!
      • jpni=22 jpnj=10 / jpnij=171 passe (test 11 septembre 2018) et va aussi vite qu'avec 360 coeurs! A savoir pour la suite. (==> 1196 coeurs en tout ou plutôt : 38*32 coeurs = 1 216 coeurs)
    • 360 coeurs pour NEMO, 128x8 (1 024) pour LMDZ et 1 pour XIOS. Cela prend en tout 1 385 coeurs.
      • 1 100 s par mois. 13 200 s par an. 40h pour 10 ans. 6 ans par jour. 55 000 h pour 10 ans.
    • Voir aussi : http://forge.ipsl.jussieu.fr/igcmg/wiki/PerformancesIPSLCM6

Simulations

  • essai orographie : CM6011.3-MR-pd-split-A-A03
    • restart 2239-12-31 de CM6011.3-MR-pd-split-A-A02 soit 50 ans avant à la fin de cette simu
    • 50 ans OK, 11 mars 2018, rsync et dods_cp fait.
    • modif :
      < ok_orolf=n
      > ok_orolf=y
      < sso_gkdrag=1.2
      > sso_gkdrag=0.6
      

Mise en oeuvre

  • IPSLCM6.0.11-LR
  • Résolution : LMDZ 256x256x279 eORCA1
    • Modification dans AA_make :
      +++ AA_make     (working copy)
      
      +IPSLCM6-MR :
      +       $(M_K) ORCA1LIM3xLMD256256-L79
      
      +ORCA1LIM3xLMD256256-L79 : libioipsl oasis3-mct xios liborchidee orca1lim3 lmdz256x256x79 verif
      +       echo "ORCA1LIM3xLMD256256-L79" >.resol
      +       echo "RESOL_ATM_3D=256x256x79" >>.resol
      +       echo "$(LIB_MPI)" >.libmpi
      
      +lmdz256x256x79:
      +       $(M_K) lmdz RESOL_LMDZ=256x256x79
      
  • Poids OASIS : fait
  • pas d'aérosols strato : config.def_actuel:flag_aerosol_strat=0
  • start/startphy créés par Frédéric.
  • essai avec physique 6.0.11 figé le 12 juillet 2017
  • différences liés au MR :
    diff  gcm.def_256x256_NPv6.0.11  gcm.def_144x142_NPv6.0.11
    < day_step=1344 > day_step=672
    < iphysiq=14 > iphysiq=7
    < ngroup=5 > ngroup=4
    
    • explosion au Sud, changement des teta divisés par 2 :
      tetagdiv=1800.
      tetagrot=10800.
      tetatemp=5400.
      
  • et les paramètres de 6011.3 :
    • LMDZ : physiq.def.6.0.11 avec comme seuls changements par rapport à 6.0.11.2 :
      -cld_lc_lsc=0.000075
      -cld_lc_con=0.000075
      +cld_lc_lsc=0.00007
      +cld_lc_con=0.00007
      
    • NEMO : comme 6.0.11.2 avec comme seuls changements :
      -  nn_mxl0     = 1         ! type of scaling under sea-ice
      + nn_mxl0     = 2         ! type of scaling under sea-ice
      + ln_lc      = .true.     !  Langmuir cell parameterisation (Axell 2002)
      + rn_lc      =   0.20     !  coef. associated to Langmuir cells
      
  • ozone analytique (read_climoz=0)
  • aerosols nat et 1980 de Frédéric flag_aerosol=6, ok_ade=y, ok_aie=y, ok_cdnc=y
  • départ depuis repos/Levitus pour l’océan
  • Equilibrage à la louche :
  • Si on veut éliminer les processeurs terre, suivre les explications de C. :
    - cd NEMOGCM/TOOLS
    - ./maketools -n MPP_PREP -m X64_CURIE(ADA) -j8
    - cd MPP_PREP
    - ln -sf /ccc/work/cont003/igcmg/igcmg/IGCM/OCE/NEMO/ORCA1_LIM3_PISCES/v3.6_stable/eORCA1.2_bathy_meter.nc  bathymetry.nc
    - vi namelist
    
     &NAMSPACE
       jpk=75
       jpiglo =  362
       jpjglo =  332
       jpidta =  362
       jpjdta =  332
       nizoom = 1
       njzoom = 1
    
     &NAMPROC
       jprocx= 220
    
     &NAMFILE
       cbathy='bathymetry.nc'
    
    - ./mpp_optimiz_zoom_nc.exe
    
    - creation d'un fichier processor.layout - fichier texte- que tu édites. T'as tous les découpages possibles
    
    Pour le même découpage que tu as, tu peux prendre : jpni=11 / jpnj=20 / jpnij=174
    Mais il te propose comme choix optimum            : jpni=22  jpnj=10  / jpnij=171
    

1er atlas : http://prodn.idris.fr/thredds/fileServer/ipsl_public/rgzi003/IPSLCM6-MR/DEVT/pdControl/CM6011.2-MR-pd-A03/MONITORING/index.html

Celui-ci existe, mais avec le bug d’interpolation de TAUU sur le point à l’equateur 180E, sans aerosols du tout, avec les performances de 3 bandes par tâche MPI et la physique collée à 6.0.11.2 : http://prodn.idris.fr/thredds/fileServer/ipsl_public/rgzi003/IPSLCM6-MR/DEVT/pdControl/CM6011.2-MR-pd-A01/MONITORING/index.html