wiki:IPSLCM5ACo2

IPSLCM5A et CO2 interactif

Choix du Nom pour ce couplé

JLD a choisi IPSLCM5A-C. Le nom du modèle reste IPSL-CM5A-LR dans CMOR.

Martial : Le nom IPSLCM5A-C est impossible a utilisé avec un couplé car il y a le script fait_config qui utilise ce nom pour des variables et le '-' est interdit dans un nom de variable shell.
Je propose le changement de nom : IPSLCM5A_C pour la config.
voir la sortie du shell : /work/cont003/p86manci/IPSLCM5A-C/config/shell_install_erreur:fait_config

Martial va créer une copie de travail IPSLCM5A/piControl vers IPSLCM5A/CpiControl sur le svn à  ce nom.

Mise en place d'une première version

réunion du 18/11/2010 : présent Laurent Bopp, Christian Ethé, Martial Mancip.

Deux versions de couplé avec CO2 interactif pour CMIP5 sont prévues :

  • une première version avec la version IPSLCM5A avec un CO2 atmosphérique moyen (pas de transport ATM, flux océaniques et continentaux moyennés spatialement et temporellement) : comme IPSLCM4_LOOP
  • une seconde version "IPSLCM5_ESM" avec les flux de carbone spatialisés et transportés en haute fréquence (jusqu'à  la demi-heure pour la surface).

Nous établissons ici la liste des modifications à  apporter au couplé IPSLCM5A (modèle et scripts) :

  1. on doit rajouter la lecture d'un fichier d'émissions ff (fossil fuel),
  2. on doit récupérer les flux moyens de PISCES et d'ORCHIDEE,
  3. A la place de la lecture des concentrations IPCC_CO2 imposées, on va calculer la concentration moyenne mensuelle (ou annuelle).
  4. on doit conserver ces valeurs de co2 (une ligne par mois)
      CumulPeriod | PeriodDateBegin |   PeriodDateEnd | Monthly CO2 for Period | Previous Monthly CO2 | fossil flux | PISCES flux | ORCHIDEE NEP | ORCHIDEE LUC 
    
  5. Tests et lancement des deux simulations en PROD.

Pour mettre en place la configuration IPSLCM5A en IPSLCM5A_C modifiée,

  • Martial doit commiter les modifs modipsl présentes dans /work/cont003/p86manci/IPSLCM5A-C :
    1. mod.def ; pour la description de la configuration IPSLCM5A_C (tag de ORCHIDEE orchidee_1_9_5_1 et rev de NEMO/PISCES changée) (fait)
    2. model ; pour le rajout de la config IPSLCM5A_C et appel correct à  fait_config. (fait)
    3. liens IPSLCM5A_C dans les répertoires de dépôt d'entrée IGCM sur mercure et synchro brodie (fait).
  • Christian doit
    1. commiter modeles/UTIL/fait_config; cf :
      /work/cont003/p86manci/IPSLCM5A-C/modeles/UTIL/fait_config ( fait )
    2. donner la nouvelle révision NEMO/PISCES dans mod.def IPSLCM5A_C après ce commit ( fait : rev 2509 )

fichier fuel

Le fichier "emissions" preparé par Patricia est la : http://dods.ipsl.jussieu.fr/cpipsl/ANDRES/CMIP5_gridcar_CO2_emissions_fossil_fuel_Andres_1751-2007_monthly_SC_grid1x1.txt

Une ligne par mois. Il faut utiliser la derniere valeur. Il me reste a verifier l'unité...A priori des TgC/month donc CO2 = CO2 + FF/1000/2.12 + (F orchidee + pisces)

Pour le control, on fait FF = 0 !

modifications des modèles

Les flux d'émission de CO2 dans PISCES sont écrites dans ocean.output.

        WRITE(numout,*) 'Total Flux of Carbon out of the ocean :'
        WRITE(numout,*) '-------------------- : ',t_oce_co2_flx
        WRITE(numout,*) '(GtC/yr)'

Pour l'instant ce flux de CO2 global n'est sauvé qu'en moyenne mensuelle. L'affichage du flux est dans le ocean.output du mois de décembre. On va devoir modifier PISCES pour afficher ce CO2 calculé tous les mois ( A faire).
MM: récupération de ces affichages faite par lmdz_analyse_opa_out.awk.

voir /work/cont003/p86manci/IPSLCM5A-C/config/ pour les tests.

Les flux d'émission de CO2 (NEP) dans ORCHIDEE sont écrits par processus MPI dans les sorties out_orchidee_000? :

 net_co2_flux_monthly (Peta gC/month)  =   

Dans ORCHIDEE, il faut modifier la sortie du flux de co2 cumulé mensuel et imprimer le flux de LAND USE co2_fluc (moyenné par mois). Dans la version 1.9.5.1, on aura, par exemple :

  • dans out_orchidee_0000
     net cflux_prod_total_sum (Peta gC/month)  =  5.6934618773805835E-8
     GLOBAL net cflux_prod_total_sum (Peta gC/month) (Peta gC/month)  =  9.662333990224707E-8
     net_co2_flux_monthly (Peta gC/month)  =  0.003845278542203147
     GLOBAL net_co2_flux_monthly (Peta gC/month)  =  0.005059629812181452
    
  • dans out_orchidee_0001
     net cflux_prod_total_sum (Peta gC/month)  =  3.968872112844124E-8
     GLOBAL net cflux_prod_total_sum (Peta gC/month) (Peta gC/month)  =  9.662333990224707E-8
     net_co2_flux_monthly (Peta gC/month)  =  0.0012143512699783043
     GLOBAL net_co2_flux_monthly (Peta gC/month)  =  0.005059629812181452
    

Les valeurs GLOBAL net... sont donc les grandeurs sommées totales et identiques pour toutes les sorties.
MM: récupération de ces affichages faite par lmdz_analyse_stomate_out.awk.

voir /work/cont003/p86manci/IPSLCM5A-C/config/ pour les tests.

On devra donc obligatoirement modifier ces deux modèles pour créer cette version du couplé CO2.

On ne peut pas passer par les fichiers NetCDF sur les machines SX. On doit donc passer par les fichiers textes.

Le calcul de la concentration mensuelle

Il se fait dans ATM_Update

   co2_ppm = co2_ppm_prec + ( fco2_ff + t_oce_co2_flx + net_co2_flux_monthly + fco2_luc ) / 2.12

2.12 est le nombre de PetaGC / ppm.

Attention aux signes des flux : convention atmosphérique. Ils doivent être comptées positivement si ils forment une source de carbone pour l'atmosphère. Pour l'océan, on doit le vérifier :

        ! Conversion in GtC/yr ; negative for outgoing from ocean
        t_oce_co2_flx = (-1.) * t_oce_co2_flx  * 12. / 1.e15

On récupère la valeur du flux total de carbone océanique dans le fichier ocean.output :

  Cumulative total Flux of Carbon out of the ocean (PgC) :
 -------------------------------------------------------    2.017236830232874D-02

rectification :

  Cumulative total Flux of Carbon out of the ocean (PgC) :  -3.098714894423731D-03

MM: récupération de ces affichages faite par lmdz_analyse_pisces_out.awk.

voir /work/cont003/p86manci/IPSLCM5A-C/config/ pour les tests.

Pour la surface, c'est OK :

       ! CO2 flux in gC/m**2/sec (positive towards the atmosphere) is sum of:
      co2_flux(:,:) = resp_hetero(:,:) + resp_maint(:,:) + resp_growth(:,:) &
            & + (co2_fire(:,:)-co2_to_bm_dgvm(:,:))*veget_cov_max(:,:)/one_day &
            & - gpp(:,:)

A voir ensuite: les signes des flux totaux de déforestation. La NBP est IPCC est positive pour la surface.

       nbp(:)=(SUM((gpp_daily-(resp_maint+resp_growth+resp_hetero)-co2_fire) &
            &        *veget_max,dim=2)-cflux_prod_total-harvest_above)/1e3/one_day*contfrac

fichier co2.log

On fait un cat dans un fichier co2.log du SUBMIT_DIR comme indiqué ci-dessus. On doit alors récupérer chaque mois le co2_prec=co2 du mois précédent pour appliquer la formule.

La condition initiale pour le co2_prec est un nouveau paramètre dans la lmdz.card : lmdz_UserChoices_co2_init.

Tests et runs

On part de la fin du piControl2 : 31/12/2500. Le run piControl2 ici

/work/cont003/p86caub/CMIP5/modipsl/config/IPSLCM5A/piControl2

Les tests de développement sont :

  • calcul du flux, sauvegarde, mais conservation du co2 imposé + diagnostique sur le flux moyen
  • introduction du co2 moyen (pour compenser le transport du co2 dans le routage qui manque au modèle de surface).

JLD propose de tester :

  • 1 mois binaire-compatible : comparaison solver.stat, comme dans le trusting (qui tourne avec EXP00 compatible PdControl?)
    C'est fait avec les nouvelles versions des deux modèles PISCES et ORCHIDEE (CpiC00 versus CpiC01) et on a pas de diff du solver.stat.
  • puis 10 ans de piControl2 pour avoir le même modèle en CO2 pré-industriel forcé.

Les productions seront :

  • un run historique
  • un run RCP 8.5

Les étapes de développements :

  1. test de compilation Nemo avec la clé key_cpl_carbon_cycle (CE et MM) : fait dans
    /work/cont003/p86manci/CMIP5/HISTO3/config/IPSLCM5A
  2. test de run avec la clé loop sur 3 ans et les bons restarts (MM) : fait dans
    /work/cont003/p86manci/CMIP5/HISTO3/config/IPSLCM5A/historical3testLOOP et
    /dmnfs11/cont003/p86manci/IGCM_OUT/IPSLCM5A/DEVT/historical/histoTLOOP


Pour la version IPSLCM5A avec un CO2 atmosphérique moyen ( calculé offline ), il ne faut pas activer la clé key_cpl_carbon_cycle ( l'océan s'attend à  recevoir dans ce cas une pco2 "spatialisée" ) (CE)

  • PISCES est modifié pour diagnostiquer le flux total de carbone océanique cumulé sur la durée du run
          t_oce_co2_flx = t_oce_co2_flx + SUM( oce_co2(:,:) * tmask_i(:,:) ) ! Cumulative Total Flux of Carbon
          IF( kt == nitend ) THEN
             !
             IF( lk_mpp )   CALL mpp_sum( t_oce_co2_flx )             ! sum over the global domain  
             t_oce_co2_flx = (-1.) * t_oce_co2_flx  * 12. / 1.e15     ! Conversion in PgC ; negative for out of the ocean
             !
          ENDIF
    
  • 2 runs tests d'une année pour vérifier que rien n'est modifié :
    • version standard de IPSCM5A :
      /scratch/cont003/p48ethe/IPSLCM5A/STD/modipsl/modeles/NEMO/TOP_SRC/PISCES/p4zflx.F90
      /scratch/cont003/p48ethe/IPSLCM5A/STD/modipsl/config/IPSLCM5A/historical
      /dmnfs10/cont003/p48ethe/IGCM_OUT/IPSLCM5A/DEVT/historical/FLXSTD
      
    • version modifiée ( diagnostique des flux de carbone ) de IPSCM5A :
      /scratch/cont003/p48ethe/IPSLCM5A/DEV/modipsl/modeles/NEMO/TOP_SRC/PISCES/p4zflx.F90
      /scratch/cont003/p48ethe/IPSLCM5A/DEV/modipsl/config/IPSLCM5A/historical
      /dmnfs10/cont003/p48ethe/IGCM_OUT/IPSLCM5A/DEVT/historical/FLXDEV
      
  • Comparaison des solver.stat
    cd /dmnfs10/cont003/p48ethe/IGCM_OUT/IPSLCM5A/DEVT/historical/
    sdiff -s FLXSTD/OCE/Debug/FLXSTD_18501201_18501231_solver.stat FLXDEV/OCE/Debug/FLXDEV_18501201_18501231_solver.stat
    

Tests fait dans CpiC00, CpiC01 et en CO2 interactif dans CpiC02 :

Test historical interactif hist02 : voir
/work/cont003/p86manci/IPSLCM5A-C/config/IPSLCM5A_C/Chistorical2
Avec le script commité dans IPSLCM5A/Chistorical, on peut restarter correctement du run de control.

Alerte pour le LAND COVER CHANGE

Le flux de LAND COVER CHANGE est calculé une fois par an dans ORCHIDEE. Si c'est un flux annuel, alors on doit peut-être le diviser par 12 dans l'affichage du modèle.

Voir les deux courriels :

Bonjour Nicolas (Laurent en cc)

J'ai ajouté dans la version 1.9.5.1 (cf
http://forge.ipsl.jussieu.fr/orchidee/viewvc/ORCHIDEE/src_stomate/stomate_lpj.f90?view=markup&revision=1.29&root=orchidee&pathrev=orchidee_1_9_5_1
), pour le cycle du carbone interactif que je
mets en place, l'affichage du flux de carbone total du land use chaque
mois. Tu peux voir le lien
https://forge.ipsl.jussieu.fr/igcmg/wiki/IPSLCM5ACo2
pour les infos sur ce couplé carbone.

Les trois flux convflux(:) + cflux_prod10(:) + cflux_prod100(:) sont
restartés et sont donc constants toute l'année.
Je pense que ce sont des flux par an et comme je récupère tous les
flux par mois, il me semble que je dois (dans le
code) les diviser par 12... Tu peux voir la sortie co2 dans ce fichier :
mercure.ccc.cea.fr
/work/cont003/p86manci/IPSLCM5A-C/config/IPSLCM5A_C/Chistorical2/co2.log
Bonsoir

je vous écris après mes séances d'hosto .. sachant que je n'aurai
probablement qu'une heure ou deux
lundi pour résoudre ce problème essentiel pour CMIP5 !
Voici les formules de stomate_lpj concernant le flux de LAND COVER
CHANGE :
    cflux_prod_total(:) = convflux(:) + cflux_prod10(:) + cflux_prod100(:)
    IF ( EndOfMonth ) THEN
      
cflux_prod_total_sum=SUM(cflux_prod_total(:)*resolution(:,1)*resolution(:,2)*contfrac(:))*1e-15
       CALL reduce_sum(cflux_prod_total_sum,cflux_prod_sum)
       CALL bcast(cflux_prod_sum)
       WRITE(numout,*) 'net cflux_prod_total_sum (Peta gC/month)  =
',cflux_prod_total_sum
       WRITE(numout,*) 'GLOBAL net cflux_prod_total_sum (Peta
gC/month) (Peta gC/month)  = ',cflux_prod_sum

On affiche donc toute l'année ce même flux... (les flux de LAND COVER
CHANGE n'étant modifiés qu'une fois par an)

[...] puis pour l'écriture du flux flux CMIP5 :
       vartmp(:)=cflux_prod_total/1e3/one_day*contfrac
       CALL histwrite (hist_id_stomate_IPCC, "fLuc", itime, &
         vartmp, npts, hori_index)

Avec la définition dans intersurf de cette sortie qui lui donne les
unités kg C m-2 s-1 ...
    ! CO2 Flux to Atmosphere from Land Use Change
    CALL histdef (hist_id_stom_IPCC, &
         &               TRIM("fLuc"), &
         &               TRIM("CO2 Flux to Atmosphere from Land Use
Change"), &
         &               TRIM("kg C m-2 s-1"), iim,jjm, hist_hori_id, &
         &               1,1,1, -99,32, ave(1), dt, hist_dt)

Ais-je bien affiché le flux moyen mensuel ? par seconde ? (plutôt par
jour, non ?)
L'autre flux NEP a les mêmes unités et le même calcul pour la sortie
CMIP5 ... c'est bon donc ?!

Janvier 2011 : Christian Ethé

La formule pour le calcul de la pco2 est la suivante

    co2_ppm = co2_ppm_prec + ( EMI(Fossil) + Flux(ocean) + Total Flux(land) ) / 2.12
     ppmv      ppmv             GtC/mth        GtC/mth       GtC/mth

Dans ORCHIDEE

   Total Flux(land) = Flux(land) + EMI(Land-Use) +    HARVEST
       NBP          =   (NEP)    +  (FLUC)       + (HARVEST_ABOVE ) 

Les craintes de MM sur LAND COVER CHANGE étaient justifiées. Il faut intégrer ces flux dans la routine stomate.f90 comme c'est fait pour le flux NEP :

!         Total ( land) Cumulative fluxes of fluc and harvest
          net_cflux_prod_monthly_sum=&
              &  SUM(cflux_prod_monthly(:)*resolution(:,1)*resolution(:,2)*contfrac(:))*1e-15
          CALL reduce_sum(net_cflux_prod_monthly_sum,net_cflux_prod_monthly_tot)
          CALL bcast(net_cflux_prod_monthly_tot)

          net_harvest_above_monthly_sum=&
             &   SUM(harvest_above_monthly(:)*resolution(:,1)*resolution(:,2)*contfrac(:))*1e-15
          CALL reduce_sum(net_harvest_above_monthly_sum,net_harvest_above_monthly_tot)
          CALL bcast(net_harvest_above_monthly_tot)

          net_co2_flux_monthly = net_co2_flux_monthly*1e-15
          CALL reduce_sum(net_co2_flux_monthly,net_co2_flux_monthly_sum)
          CALL bcast(net_co2_flux_monthly_sum)

          WRITE(numout,9010) 'GLOBAL net_cflux_prod_monthly    (Peta gC/month)  = ',net_cflux_prod_monthly_tot
          WRITE(numout,9010) 'GLOBAL net_harvest_above_monthly (Peta gC/month)  = ',net_harvest_above_monthly_tot
          WRITE(numout,9010) 'GLOBAL net_co2_flux_monthly      (Peta gC/month)  = ',net_co2_flux_monthly_sum

!         Calculation of net biospheric production
          net_biosp_prod_monthly_tot =  &
             &    ( net_co2_flux_monthly_sum + net_cflux_prod_monthly_tot + net_harvest_above_monthly_tot )
          WRITE(numout,9010) 'GLOBAL net_biosp_prod_monthly    (Peta gC/month)  = ',net_biosp_prod_monthly_tot

9010  FORMAT(A52,F17.14)

fichier fuel

Le nouveau fichier "emissions" preparé par Patricia est là : http://dods.ipsl.jussieu.fr/cpipsl/ANDRES/CMIP5_gridcar_CO2_emissions_fossil_fuel_Andres_1751-2007_monthly_SC.txt
Dans ce fichier, FF est déjà en PgC/month

Card et Drivers

On modifie le driver de lmdz pour calculer la nouvelle pco2 à la fin de la simulation :

function ATM_Finalize
{

#   get the fossile fuel file :
    fCO2_ff=$( gawk "{if (match(\$0,\"${year}\ *${month}\")) {print \$3}}" ${SUBMIT_DIR}/PARAM/CMIP5_gridcar_CO2_emissions_fossil_fuel_Andres_1751-2007_monthly_SC.txt )
    echo "Fossil Fuel for historical run  :" ${fCO2_ff}

    # Get the value of ocean carbon flux
    CO2MBG=$( ${SUBMIT_DIR}/COMP/lmdz_analyse_pisces_out.awk ocean.output )
    CO2MBG=$( echo ${CO2MBG} | sed -e "s/ *//" )
    echo "Ocean carbon flux  :" ${CO2MBG}

    # Get the value of land fluxes
    set +A CO2SBG_3V -- $( ${SUBMIT_DIR}/COMP/lmdz_analyse_stomate_out.awk out_orchidee_0000 )
    CO2SRF=$( echo ${CO2SBG_3V[0]} | sed -e "s/ *//" )
    CO2LU=$( echo ${CO2SBG_3V[1]} | sed -e "s/ *//" )
    CO2SBG=$( echo ${CO2SBG_3V[2]} | sed -e "s/ *//" )
    echo "Land carbon flux (NEP)         :" ${CO2SRF}
    echo "LU flux          (FLUC)        :" ${CO2LU}
    echo "Total Land carbon flux (NBP)   :" ${CO2SBG}

    # Previous CO2
    CO2_ppm_prec=$( echo "${PreviousLinelog[*]}" | gawk -F '|' '{gsub(" ",""); print $4}' )
    echo "Previous CO2  :" ${CO2_ppm_prec}

    # Formula
    CO2_ppm=$( echo "${CO2_ppm_prec} + (${fCO2_ff} + ${CO2MBG} + ${CO2SBG}) / 2.12" | bc -l )
    echo "New CO2  :" ${CO2_ppm} 

    # Save CO2 values in ExeCpuLog variable contents 5 fields
    echo "${CumulPeriod} ${PeriodDateBegin} ${PeriodDateEnd} ${CO2_ppm} ${CO2_ppm_prec} ${fCO2_ff} ${CO2MBG} ${CO2SBG} ${CO2LU}" |   \
         gawk '{printf("  %11d | %15s | %15s | %22.15g | %20.15g | %11.8g | %11.8g | %12.8g | %12.8g \n", \
                           $1,$2,$3,$4,$5,$6,$7,$8,$9)}' >> ${SUBMIT_DIR}/co2.log
    echo FINALIZE ATM !

    IGCM_debug_PopStack "ATM_Finalize"
}

et aussi le driver de pisces pour mettre cette nouvelle valeur dans la namelist_pisces:

function MBG_Update
{

    PathCO2log=${SUBMIT_DIR}
    PreviousLinelog=$( tail -1 ${PathCO2log}/co2.log )
    IPCC_PIS_CO2=$( echo "${PreviousLinelog[*]}" | gawk -F '|' '{gsub(" ",""); print $4}' )

    sed -e "s%${PAT_PIS_ATCCO2}%          atcco2=${IPCC_PIS_CO2}%"   

    IGCM_debug_PopStack "MBG_Update"
}

Tests et verifications

  • Exemple de run avec CO2 constant : /work/cont003/p48ethe/IPSLCM5A-C_PROD/modipsl/config/IPSLCM5A_C/CpiControl0
      CumulPeriod | PeriodDateBegin |   PeriodDateEnd | Monthly CO2 for Period | Previous Monthly CO2 | fossil flux | PISCES flux | ORCHIDEE NBP | ORCHIDEE LUC
                0 |           -9999 |        18491231 |                284.725 |                -9999 |       -9999 |       -9999 |        -9999 |        -9999
                1 |        18500101 |        18500131 |                284.725 |              284.725 |           0 | 0.015999766 |  0.074569359 |            0
                2 |        18500201 |        18500228 |                284.725 |              284.725 |           0 | 0.058814157 |   0.27192985 |            0
                3 |        18500301 |        18500331 |                284.725 |              284.725 |           0 | 0.047827084 |    0.9333309 |            0
                4 |        18500401 |        18500430 |                284.725 |              284.725 |           0 | -0.0030987149 |    1.1806415 |            0
                5 |        18500501 |        18500531 |                284.725 |              284.725 |           0 | -0.027015944 |  -0.40861496 |            0
                6 |        18500601 |        18500630 |                284.725 |              284.725 |           0 | -0.0072288524 |   -2.4838361 |            0
                7 |        18500701 |        18500731 |                284.725 |              284.725 |           0 | 0.051930635 |   -3.2395462 |            0
                8 |        18500801 |        18500831 |                284.725 |              284.725 |           0 |  0.12377028 |   -1.6676783 |            0
                9 |        18500901 |        18500930 |                284.725 |              284.725 |           0 |  0.10237777 |    0.5394057 |            0
               10 |        18501001 |        18501031 |                284.725 |              284.725 |           0 | 0.053881576 |    2.2469351 |            0
               11 |        18501101 |        18501130 |                284.725 |              284.725 |           0 | -0.035187006 |    1.5283273 |            0
               12 |        18501201 |        18501231 |                284.725 |              284.725 |           0 | -0.051170036 |   0.70312635 |            0
    
  • Exemple de run avec CO2 interactif : /work/cont003/p48ethe/IPSLCM5A-C_PROD/modipsl/config/IPSLCM5A_C/CpiControl1
      CumulPeriod | PeriodDateBegin |   PeriodDateEnd | Monthly CO2 for Period | Previous Monthly CO2 | fossil flux | PISCES flux | ORCHIDEE NBP | ORCHIDEE LUC
                0 |        18501201 |        18501231 |                284.725 |              284.725 |           0 | -0.051170036 |   0.70312635 |            0
                1 |        18000101 |        18000131 |       284.841093914582 |              284.725 |           0 | 0.0030637858 |   0.24305531 |            0
                2 |        18000201 |        18000228 |       285.208702157639 |     284.841093914582 |           0 | 0.041505893 |   0.73782358 |            0
                3 |        18000301 |        18000331 |       285.821726065663 |     285.208702157639 |           0 | 0.046784108 |    1.2528266 |            0
                4 |        18000401 |        18000430 |       286.487489907903 |     285.821726065663 |           0 | -0.026753941 |    1.4381733 |            0
                5 |        18000501 |        18000531 |       286.473366790664 |     286.487489907903 |           0 | -0.065974523 |  0.036033514 |            0
                6 |        18000601 |        18000630 |       285.503234927806 |     286.473366790664 |           0 | -0.057064575 |    -1.999615 |            0
                7 |        18000701 |        18000731 |       284.123973119148 |     285.503234927806 |           0 |   0.0137828 |   -2.9378178 |            0
                8 |        18000801 |        18000831 |       283.446536497916 |     284.123973119148 |           0 | 0.085211387 |    -1.521377 |            0
                9 |        18000901 |        18000930 |       283.804390949679 |     283.446536497916 |           0 | 0.080506201 |   0.67814524 |            0
               10 |        18001001 |        18001031 |       284.746604208416 |     283.804390949679 |           0 | 0.029561255 |    1.9679309 |            0
               11 |        18001101 |        18001130 |       285.512727618743 |     284.746604208416 |           0 | -0.060409568 |    1.6845912 |            0
               12 |        18001201 |        18001231 |       285.861238235414 |     285.512727618743 |           0 | -0.095653637 |   0.83449614 |            0
    

Simulations ESM sans transport de carbone

On part de la fin du piControl2 : 31/12/2500. Le run piControl2 ici

- config : /work/cont003/p86caub/CMIP5/modipsl/config/IPSLCM5A/piControl2
- restart: /dmnfs09/cont003/p86caub/IGCM_OUT/IPSLCM5A/PROD/piControl/piControl2
  • Une année de run pour initialiser le fichier co2.log : CpiControl00 ( 18500101-18501230 )
- config : /work/cont003/p48ethe/IPSLCM5A-C_PROD/modipsl/config/IPSLCM5A_C/CpiControl0
- outputs : /dmnfs10/cont003/p48ethe/IGCM_OUT/IPSLCM5A_C/PROD/CpiControl/CpiControl00
  • La simulation de control : CpiControl01 ( 18500101-20991230 )
    - Etat initial : 31/12/1850 de CpiControl00
       * restart : /dmnfs10/cont003/p48ethe/IGCM_OUT/IPSLCM5A_C/PROD/CpiControl/CpiControl00/
       * co2.log : /work/cont003/p48ethe/IPSLCM5A-C_PROD/modipsl/config/IPSLCM5A_C/CpiControl0
    - config : /work/cont003/p48ethe/IPSLCM5A-C_PROD/modipsl/config/IPSLCM5A_C/CpiControl1
    - outputs : /dmnfs10/cont003/p48ethe/IGCM_OUT/IPSLCM5A_C/PROD/CpiControl/CpiControl01
    - Bug corrigé des sorties diaptr.F90 ( svn update sous NEMO/OPA_SRC/DIA/diaptr.F90 à partir de 1855/01/01 )
    
  • La simulation historique Chistorical01 ( 18500101-20091230 )
    - Etat initial : 31/12/1849 de CpiControl01
       * restart : /dmnfs10/cont003/p48ethe/IGCM_OUT/IPSLCM5A_C/PROD/CpiControl/CpiControl01/
       * co2.log : /work/cont003/p48ethe/IPSLCM5A-C_PROD/modipsl/config/IPSLCM5A_C/CpiControl1
    - config : /work/cont003/p86cadul/IPSLCM5A-C_PROD/modipsl/config/IPSLCM5A_C/Chistorical1
    - outputs : /dmnfs12/cont003/p86cadul/IGCM_OUT/IPSLCM5A_C/PROD/Chistorical/Chistorical01
    - Bug corrigé des sorties diaptr.F90 ( svn update sous NEMO/OPA_SRC/DIA/diaptr.F90 )
    

Problème niveaux de sorties

Patricia a écrit :

Salut Christian,
je viens de regarder avec Arnaud le tableau de niveau de sorties demandé pour CMIP5 (pour nos simulations), et nous n'avons malheureusement pas activé le bon niveau.

1) Il faut modifier le fichier iodef.xml et passer les variables ci -dessous au niveau 2 :
- <field ref="uice_ipa"     name="iicevelu"   description="Ice velocity along i-axis at I-point (ice presence average)"  level="3"    />
- <field ref="vice_ipa"     name="iicevelv"   description="Ice velocity along j-axis at I-point (ice presence average)"  level="3"    />
- <field ref="ice_cover"    name="ileadfra"   description="sea_ice_area_fraction"                                        level="3"    />
- <field ref="icethic_cea"  name="iicethic"   description="sea_ice_thickness"                                            level="3"    />
+ <field ref="uice_ipa"     name="iicevelu"   description="Ice velocity along i-axis at I-point (ice presence average)"  level="2"    />
+ <field ref="vice_ipa"     name="iicevelv"   description="Ice velocity along j-axis at I-point (ice presence average)"  level="2"    />
+ <field ref="ice_cover"    name="ileadfra"   description="sea_ice_area_fraction"                                        level="2"    />
+ <field ref="icethic_cea"  name="iicethic"   description="sea_ice_thickness"                                            level="2"    />

2) il faut modifier le fichier physiq.def_L39  et passer les variables ci -dessous au niveau 5 :
-lev_histhf=2
+lev_histhf=5

-lev_histday=2
+lev_histday=5

-lev_histmth=2
+lev_histmth=5

Peux-tu garder une trace de la date de la simulation au moment de la modification ?
Pas la peine de relancer la simulation ! 
- Christian a corrigé le problème dans la simulation '''Cpicontrol01''' à partir de '''19050101'''

- Pour information, Christian a démarré la simulation de là: http://forge.ipsl.jussieu.fr/igcmg/browser/CONFIG/IPSLCM/IPSLCM5A/piControl/PARAM/physiq.def_L39

- Les daily sont demandées pour toute la période du piControl carbone, il faut refaire les 115 premières années de la simulation Cpicontrol01

- On garde le même nom de simu mais sous DEVT plutôt que PROD et on vérifie que les solvers sont identiques : 
  sdiff -s /dmnfs10/cont003/p48ethe/IGCM_OUT/IPSLCM5A_C/DEVT/CpiControl/CpiControl01/OCE/Debug/CpiControl01_19151201_19151231_solver.stat  /dmnfs10/cont003/p48ethe/IGCM_OUT/IPSLCM5A_C/PROD/CpiControl/CpiControl01/OCE/Debug/. 

- Cp DEVT/CpiControl/CpiControl01/HF ( ATM & SRF )  et 1D - histday.nc  PROD/CpiControl/CpiControl01
Last modified 13 years ago Last modified on 06/27/11 10:29:41