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.