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/conf_phys.F90

    r1143 r1150  
    1212 &                     iflag_cldcon, &
    1313 &                     iflag_ratqs,ratqsbas,ratqshaut, &
    14  &                     ok_ade, ok_aie, aerosol_couple, &
     14 &                     ok_ade, ok_aie, aerosol_couple, &
     15 &                     flag_aerosol, new_aod, &
    1516 &                     bl95_b0, bl95_b1,&
    1617 &                     iflag_thermals,nsplit_thermals,tau_thermals, &
     
    6061  logical              :: ok_LES
    6162  LOGICAL              :: ok_ade, ok_aie, aerosol_couple
     63  INTEGER              :: flag_aerosol
     64  LOGICAL              :: new_aod
    6265  REAL                 :: bl95_b0, bl95_b1
    6366  real                 :: fact_cldcon, facttemps,ratqsbas,ratqshaut
     
    7174  logical,SAVE        :: ok_LES_omp   
    7275  LOGICAL,SAVE        :: ok_ade_omp, ok_aie_omp, aerosol_couple_omp
     76  INTEGER, SAVE       :: flag_aerosol_omp
     77  LOGICAL, SAVE       :: new_aod_omp
    7378  REAL,SAVE           :: bl95_b0_omp, bl95_b1_omp
    7479  REAL,SAVE           :: freq_ISCCP_omp, ecrit_ISCCP_omp
     
    239244  CALL getin('aerosol_couple',aerosol_couple_omp)
    240245
     246!
     247!Config Key  = flag_aerosol
     248!Config Desc = which aerosol is use for coupled model
     249!Config Def  = 1
     250!Config Help = Used in physiq.F
     251!
     252! - flag_aerosol=1 => so4 only (defaut)
     253! - flag_aerosol=2 => bc  only
     254! - flag_aerosol=3 => pom only
     255! - flag_aerosol=4 => all aerosol
     256! - flag_aerosol=5 => bcpom
     257! - flag_aerosol=6 => pomsulf
     258
     259  flag_aerosol_omp = 1
     260  CALL getin('flag_aerosol',flag_aerosol_omp)
     261
     262! Temporary variable for testing purpose!!
     263!Config Key  = new_aod
     264!Config Desc = which calcul of aeropt
     265!Config Def  = false
     266!Config Help = Used in physiq.F
     267!
     268  new_aod_omp = .true.
     269  CALL getin('new_aod',new_aod_omp)
     270
    241271!
    242272!Config Key  = aer_type
    243273!Config Desc = Use a constant field for the aerosols
    244274!Config Def  = scenario
    245 !Config Help = Used in readsulfate.F
     275!Config Help = Used in readaerosol.F90
    246276!
    247277  aer_type_omp = 'scenario'
     
    918948!Config Help =
    919949!
    920   iflag_coupl = 0
     950  iflag_coupl_omp = 0
    921951  call getin('iflag_coupl',iflag_coupl_omp)
    922952
     
    927957!Config Help =
    928958!
    929   iflag_clos = 1
     959  iflag_clos_omp = 1
    930960  call getin('iflag_clos',iflag_clos_omp)
    931961!
     
    935965!Config Help =
    936966!
    937   iflag_cvl_sigd = 0
     967  iflag_cvl_sigd_omp = 0
    938968  call getin('iflag_cvl_sigd',iflag_cvl_sigd_omp)
    939969
     
    943973!Config Help =
    944974!
    945   iflag_wake = 0
     975  iflag_wake_omp = 0
    946976  call getin('iflag_wake',iflag_wake_omp)
    947977
     
    12661296    ok_aie = ok_aie_omp
    12671297    aerosol_couple = aerosol_couple_omp
     1298    flag_aerosol=flag_aerosol_omp
     1299    new_aod=new_aod_omp
    12681300    aer_type = aer_type_omp
    12691301    bl95_b0 = bl95_b0_omp
     
    13261358       WRITE(numout,*)' ERROR version_ocean=',version_ocean,' not valid with slab ocean'
    13271359       CALL abort_gcm('conf_phys','version_ocean not valid',1)
     1360    END IF
     1361
     1362! Test sur new_aod. Ce flag permet de retrouver les resultats de l'AR4
     1363! il n'est utilisable que lors du couplage avec le SO4 seul
     1364    IF (ok_ade .OR. ok_aie) THEN
     1365       IF ( .NOT. new_aod .AND.  flag_aerosol .NE. 1) THEN
     1366          CALL abort_gcm('conf_phys','new_aod=.FALSE. not compatible avec flag_aerosol=1',1)
     1367       END IF
    13281368    END IF
    13291369
     
    13961436  write(numout,*)' ok_aie = ',ok_aie
    13971437  write(numout,*)' aerosol_couple = ', aerosol_couple
     1438  write(numout,*)' flag_aerosol = ', flag_aerosol
     1439  write(numout,*)' new_aod = ', new_aod
    13981440  write(numout,*)' aer_type = ',aer_type
    13991441  write(numout,*)' bl95_b0 = ',bl95_b0
     
    14091451  write(numout,*)' type_run = ',type_run
    14101452  write(numout,*)' ok_isccp = ',ok_isccp
    1411   WRITE(numout,*)' solarlong0 = ', solarlong0
     1453  write(numout,*)' solarlong0 = ', solarlong0
    14121454  write(numout,*)' qsol0 = ', qsol0
    14131455  write(numout,*)' inertie_sol = ', inertie_sol
Note: See TracChangeset for help on using the changeset viewer.