wiki:LMDZINCA_v3

Version 6 (modified by acosce, 15 years ago) (diff)

--

LMDZINCA_v3

La prochaine version du modÚle sera référencée sous la configuration modipsl : LMDZINCA_v3



Rappel

Installation de modispl Utilisation de LMDZINCA_v2



Parallélisation

En plus de MPI cette version supporte une parallélisation via OpenMP



Executable

L'exécutable du couplage des modÚles LMDZ et INCA pourra également être utilisé pour faire tourner le modÚle LMDZ seul. La compilation ne tient désormais plus compte du nombre de traceurs. Celui-ci est lu soit dans le fichier traceur.def, soit importé du code INCA.
Pour gérer cette option nous avons rajouté un flag config_inca (dans physiq.def)

flag valeur signification
config_inca none exécution de LMDZ seul
config_inca aero couplage avec INCA AER/CH4_AER/NMHC_AER
config_inca chem couplage avec INCA NMHC/CH4/GES



Aérosols

Cette version de LMDZINCA permet d'activer l'action des aérosols sur le climat. Pour cela nous avons repris les travaux de thÚse de Céline Déandreis. Ce couplage peut être offline (lecture des masses d'aérosols dans des fichiers) ou online (calcul de ces aérosols par le modÚle INCA). Nous avons introduit différents flags permettant de gérer ces nouvelles options : aerosol_couple, flag_aerosol, et new_aod (dans physiq.def). Pour l'instant les aérosols utilisables dans ce couplage sont : SO4, BC(soluble et insoluble), et POM (soluble et insoluble)

flag valeur signification
aerosol_couple n couplage offline
aerosol_couple y couplage online
flag_aerosol 1 SO4 seul
flag_aerosol 2 BC (AS/AI) seul
flag_aerosol 3 POM (AS/AI) seul
flag_aerosol 4 tous
flag_aerosol 5 BC & POM
flag_aerosol 6 POM & SO4

Le flag new_aod=.false. permet de retrouver les résultats de l'ancienne version dans le cas où flag_aerosol=1. Sinon new_aod=.true. active les nouveaux calculs d'épaisseur optique et de forçage radiatif.

Pour activer le calcul des forçages radiatifs LMDZ propose deux flags : ok_ade, ok_aie

flag valeur signification
ok_ade y/n calcul (ou non) de l'effet direct des aérosols
ok_aie y/n calcul (ou non) de l'effet indirect des aérosols



Utiliser LMDZINCA_v3

LMDZINCA_AER avec couplage et calcul online des aérosols

config_inca=aero
aerosol_couple=y
ok_ade=y
ok_aie=y

Dans ce cas là les flags flag_aerosol et new_aod sont inutiles

LMDZINCA_AER avec couplage offline et lecture des masses d'aérosols

config_inca=aero
aerosol_couple=n
ok_ade=y
ok_aie=y
new_aod=y
flag_aerosol= .... ce que l'on veut

LMDZ avec couplage offline et lecture des masses d'aérosols

config_inca=none
aerosol_couple=n
ok_ade=y
ok_aie=y
new_aod=y
flag_aerosol= .... ce que l'on veut



Compléter lmdz.card

Si vous voulez travailler dans le mode offline vous devez indiquer en entrée d'une simulation les fichiers de masses.

dans lmdz.card : 

ListNonDel= (${R_BC}/CHM/LMDZINCA/${RESOL_ATM}/limit.nc, limit.nc)\
		(/workdir/cont003/p86cozic/BRANCHE_DEBRANCHE/TEST_DEBRANCHE/TEST_FILES/so4.run_AEROCOM96x73dim.nc     ,SO4.run2000.cdf    )\
		(/workdir/cont003/p86cozic/BRANCHE_DEBRANCHE/TEST_DEBRANCHE/TEST_FILES/ASSO4M.run.nat_AEROCOM96x73.nc ,SO4.run.nat.cdf    )\
		(/workdir/cont003/p86cozic/BRANCHE_DEBRANCHE/TEST_DEBRANCHE/TEST_FILES/AIBCM.run2000_AEROCOM96x73.nc  ,AIBCM.run2000.cdf  )\
		(/workdir/cont003/p86cozic/BRANCHE_DEBRANCHE/TEST_DEBRANCHE/TEST_FILES/AIBCM.run.nat_inca96x73.nc     ,AIBCM.run.nat.cdf  )\
		(/workdir/cont003/p86cozic/BRANCHE_DEBRANCHE/TEST_DEBRANCHE/TEST_FILES/ASBCM.run2000_AEROCOM96x73.nc  ,ASBCM.run2000.cdf  )\
		(/workdir/cont003/p86cozic/BRANCHE_DEBRANCHE/TEST_DEBRANCHE/TEST_FILES/ASBCM.run.nat_inca96x73.nc     ,ASBCM.run.nat.cdf  )\
		(/workdir/cont003/p86cozic/BRANCHE_DEBRANCHE/TEST_DEBRANCHE/TEST_FILES/AIPOMM.run2000_AEROCOM96x73.nc ,AIPOMM.run2000.cdf )\
		(/workdir/cont003/p86cozic/BRANCHE_DEBRANCHE/TEST_DEBRANCHE/TEST_FILES/AIPOMM.run.nat_inca96x73.nc    ,AIPOMM.run.nat.cdf )\
		(/workdir/cont003/p86cozic/BRANCHE_DEBRANCHE/TEST_DEBRANCHE/TEST_FILES/ASPOMM.run2000_AEROCOM96x73.nc ,ASPOMM.run2000.cdf )\
		(/workdir/cont003/p86cozic/BRANCHE_DEBRANCHE/TEST_DEBRANCHE/TEST_FILES/ASPOMM.run.nat_inca96x73.nc    ,ASPOMM.run.nat.cdf )

Attention par défaut le modÚle LMDZ s'attend à avoir deux fichiers pour le présent et pour chaque aérosol. Si ce n'est pas le cas (comme dans l'exemple ci-dessus), il faut le spécifier dans readaerosol.F90 : lonlyone=.true.



Comment rajouter un aérosol dans le cas offline

Nous n'allons voir ici que le cas où l'on veut rajouter un aérosol prédéfinit. (Par exemple les Dust)

  • Il faut définir une valeur de flag_aerosol pour ce nouvel aérosol (par exemple flag_aerosol=7)
  • Dans aerosol_optic il faut repérer à quel numéro correspond cet aérosol (dans notre exemple : 6)
Numéro Aérosol
1 SSSSM
2 ASSSM
3 ASBCM
4 ASPOMM
5 ASSO4M
6 CIDUSTM
7 AIBCM
8 AIPOMM
  • Dans aerosol_optic il faut rajouter le cas de cet aérosol (en n'oubliant pas de définir les variables nécessaires,

ici cidust et cidust_pi).

CALL readaerosol(numéro, rjourvrai,debut,varmass) 

Dans notre exemple :

   IF ( flag_aerosol .EQ. 7 ) THEN

     CALL readaerosol(6,rjourvrai, debut,cidust)
     CALL readaerosol_preind(6,rjourvrai,debut,cidust_pi )

     maerosol(:,:) = maerosol(:,:) + cidust
     maerosol_pi(:,:) = maerosol_pi(:,:) + cidust_pi
  ENDIF

  • Dans aerosol_optic il faut compléter la variable m_allaer
      m_allaer(:,:,1) = 0.                ! SSSSM || CSSSM
      m_allaer(:,:,2) = 0.                ! ASSSM
      m_allaer(:,:,3) = bcsol(:,:)        ! ASBCM
      m_allaer(:,:,4) = pomsol(:,:)       ! ASPOMM
      m_allaer(:,:,5) = sulfate(:,:)      ! ASSO4M || CSSO4M   
      m_allaer(:,:,6) = cidust(:,:)       ! CIDUSTM
      m_allaer(:,:,7) = bcins(:,:)        ! AIBCM
      m_allaer(:,:,8) = pomins(:,:)       ! AIPOMM
    

A partir de là le code prendra en compte ce nouvel aérosol et fera les calculs nécessaires.