Ignore:
Timestamp:
Apr 17, 2009, 5:34:01 PM (16 years ago)
Author:
jghattas
Message:

Ajoute possiblilite de forcer avec d'autre aersols avec le meme principe que pour les so4.

Par default la convergence est rempu avec flag_aersosol=1 + ok_ade=ok_aie=y. Exactement les memes resultats peuvent etre retrouver avec new_aod=n. Les resultats sont exactement les memes sans prise en compte aucun aerosol, avec ok_ade=ok_aie=n.

  • flag_aerosol indique quel aersosol ou combinasion a utiliser (=1 uniquement les SO4 comme avant)
  • les fichiers d'entree so4.runXXXX.cdf change du nom pour majescule SO4.runXXXX.cdf
  • readsulfate change du nom pour readaerosol qui trait tous les aerosols
  • radlwsw change du nom pour radlwsw_aero.
  • aeropt_2bands.F90 et aeropt_5wv.F90 correspond a un reecriture de aeropt.F (premier et deuxieme moitie respectivement)
  • aeropt.F est gardé pour retrouver la convergence si demande avec new_aod=false (=true default)
  • sw_aero est un version evolue de sw_lmdar4 (dans fichier radiation_ar4.F)

ACo + JG

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/LMDZ4-dev/libf/phylmd/phys_state_var_mod.F90

    r1054 r1150  
    255255!$OMP THREADPRIVATE(snow_con)
    256256!
    257 ! sulfate_pi : SO4 aerosol concentration [ug/m3] (pre-industrial value)
    258 
    259       REAL,SAVE,ALLOCATABLE :: sulfate_pi(:, :)
    260 !$OMP THREADPRIVATE(sulfate_pi)
    261257      REAL,SAVE,ALLOCATABLE :: rlonPOS(:)
    262258!$OMP THREADPRIVATE(rlonPOS)
     
    269265! ok_aie=T ->
    270266!       ok_ade=T -AIE=topswai-topswad
    271 !        ok_ade=F -AIE=topswai-topsw
     267!       ok_ade=F -AIE=topswai-topsw
    272268!
    273269!topswad, solswad : Aerosol direct effect
     
    277273      REAL,SAVE,ALLOCATABLE :: topswai(:), solswai(:)
    278274!$OMP THREADPRIVATE(topswai,solswai)
    279       REAL,SAVE,ALLOCATABLE :: tau_ae(:,:,:), piz_ae(:,:,:)
    280 !$OMP THREADPRIVATE(tau_ae,piz_ae)
    281       REAL,SAVE,ALLOCATABLE :: cg_ae(:,:,:)
    282 !$OMP THREADPRIVATE(cg_ae)
    283 
    284 ! Les variables suivants uniquement pour un configuration avec INCA
    285 ! topswad_inca, solswad_inca : Aerosol direct effect
    286       REAL,SAVE,ALLOCATABLE :: topswad_inca(:), solswad_inca(:)
    287 !$OMP THREADPRIVATE(topswad_inca,solswad_inca)
    288 ! topswad0_inca, solswad0_inca : Aerosol direct effect
    289       REAL,SAVE,ALLOCATABLE :: topswad0_inca(:), solswad0_inca(:)
    290 !$OMP THREADPRIVATE(topswad0_inca,solswad0_inca)
    291 ! topswai_inca, solswai_inca : Aerosol indirect effect
    292       REAL,SAVE,ALLOCATABLE :: topswai_inca(:), solswai_inca(:)
    293 !$OMP THREADPRIVATE(topswai_inca,solswai_inca)
    294       REAL,SAVE,ALLOCATABLE :: topsw_inca(:,:), solsw_inca(:,:)
    295 !$OMP THREADPRIVATE(topsw_inca,solsw_inca)
    296       REAL,SAVE,ALLOCATABLE :: topsw0_inca(:,:), solsw0_inca(:,:)
    297 !$OMP THREADPRIVATE(topsw0_inca,solsw0_inca)
    298       REAL,SAVE,ALLOCATABLE :: tau_inca(:,:,:,:)
    299 !$OMP THREADPRIVATE(tau_inca)
    300       REAL,SAVE,ALLOCATABLE :: piz_inca(:,:,:,:)
    301 !$OMP THREADPRIVATE(piz_inca)
    302       REAL,SAVE,ALLOCATABLE :: cg_inca(:,:,:,:)
    303 !$OMP THREADPRIVATE(cg_inca)
     275
    304276      REAL,SAVE,ALLOCATABLE :: ccm(:,:,:)
    305277!$OMP THREADPRIVATE(ccm)
     
    402374      ALLOCATE(ibas_con(klon), itop_con(klon))
    403375      ALLOCATE(rain_con(klon), snow_con(klon))
    404 !
    405       ALLOCATE(sulfate_pi(klon, klev))
    406376      ALLOCATE(rlonPOS(klon))
    407377      ALLOCATE(newsst(klon))
     
    409379      ALLOCATE(topswad(klon), solswad(klon))
    410380      ALLOCATE(topswai(klon), solswai(klon))
    411       ALLOCATE(tau_ae(klon,klev,2), piz_ae(klon,klev,2))
    412       ALLOCATE(cg_ae(klon,klev,2))
    413 
    414       IF (config_inca /= 'none') THEN
    415          ALLOCATE(topswad_inca(klon), solswad_inca(klon))
    416          ALLOCATE(topswad0_inca(klon), solswad0_inca(klon))
    417          ALLOCATE(topswai_inca(klon), solswai_inca(klon))
    418          ALLOCATE(topsw_inca(klon,9), solsw_inca(klon,9))
    419          ALLOCATE(topsw0_inca(klon,9), solsw0_inca(klon,9))
    420       END IF
    421       ! Following 4 variables are needed only by INCA but must be
    422       ! allocated as they exist in the phytrac argument list
    423       ALLOCATE(tau_inca(klon,klev,9,2))
    424       ALLOCATE(piz_inca(klon,klev,9,2))
    425       ALLOCATE(cg_inca(klon,klev,9,2))
     381
    426382      ALLOCATE(ccm(klon,klev,2))
    427383
     
    505461      deallocate(ibas_con, itop_con)
    506462      deallocate(rain_con, snow_con)
    507 !
    508       deallocate(sulfate_pi)
    509463      deallocate(rlonPOS)
    510464      deallocate(newsst)
     
    513467      deallocate(topswai, solswai)
    514468
    515       deallocate(tau_ae, piz_ae)
    516       deallocate(cg_ae)
    517 
    518       IF (config_inca /= 'none') THEN
    519          deallocate(topswad_inca, solswad_inca)
    520          deallocate(topswad0_inca, solswad0_inca)
    521          deallocate(topswai_inca, solswai_inca)
    522          deallocate(topsw_inca, solsw_inca)
    523          deallocate(topsw0_inca, solsw0_inca)
    524       END IF
    525       deallocate(tau_inca)
    526       deallocate(piz_inca)
    527       deallocate(cg_inca)
    528469      deallocate(ccm)
    529470       
Note: See TracChangeset for help on using the changeset viewer.