Changeset 2810 for trunk/LMDZ.GENERIC


Ignore:
Timestamp:
Oct 29, 2022, 8:09:31 PM (2 years ago)
Author:
emillour
Message:

Generic GCM:
Minor fix related to the RGCS scheme: when not using it, "iaero_generic(1)"
was tested although not defined; using tests on "aerogeneric" (number
of generic aerosols) works better.
EM

Location:
trunk/LMDZ.GENERIC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.GENERIC/README

    r2785 r2810  
    17341734Tracer names are extracted from traceur.def via initracer.F90 and no
    17351735longer transfered from the dynamics to the physics
     1736
     1737== 19/10/2022 == LT
     1738Initialisation of Radiative Generic Condensable Aerosols
     1739We can activate the scheme by putting aerogeneric = # of aerosols in callphys.def. This is the only needed thing for activating the radiative effects. They must be tracer in modern tracer.def
     1740Commented out the abort if we use more than 4 aerosols
     1741Added reading of optprop files for Radiative Generic Condensable Aerosols
     1742We use the same file for IR and VI channel. For now, only MnS, Cr,Fe and Mg2SiO4 can be read. If you want to add another specie, check the code, it is explained how to quickly do that (right above the Initializations)
     1743Added radii calculation for Radiative Generic Condensable aerosols
     1744Changed the hardcoded size of the totalemit array
     1745The hardcoded size is now 1900 instead of 100 so we don't exceed the array size when working at high spectral resolution (very rare case)
     1746Added opacity computation for Radiative Generic Condensable aerosols
     1747We do this computation in the same fashion as what's performed on water and dust.
     1748switch iniaerosol and initracer order, to prepare for the RGCS scheme
     1749Needed to switch the order of initialization so we can use the RGCS scheme without the assumption that ice and vap tracer of the same specie are following each other in the traceur.def fil
     1750The RGCS scheme: Now we can use this scheme to take into account radiative effect of a Generic Condensable Specie. One needs to add the keyword is_rgcs=1 to the ModernTraceur.def to activate the scheme + specify the number of aerogeneric specie in callphys.def. Also, one needs to go into suaer_corrk.F90 to add the Mie scattering file into the code for the specie you want. Currently, MnS, Fe, Cr, Mg2SiO4 are available. This has been tested on a Hot Jupiter case, might have issue in different configuration. Also, the numerical stability of the scheme is not guaranted when using strong scatterers such as silicates. Physical oscillations in the evaporation/condensation can occur, and need fixing. This will be for another commit.
     1751
     1752== 29/10/2022 == EM
     1753Minor fix related to the RGCS scheme: when not using it, "iaero_generic(1)"
     1754was tested although not defined; using tests on "aerogeneric" (number
     1755of generic aerosols) works better.
  • trunk/LMDZ.GENERIC/libf/phystd/aeropacity.F90

    r2804 r2810  
    33
    44       use radinc_h, only : L_TAUMAX,naerkind
    5        use aerosol_mod
     5       use aerosol_mod, only: iaero_nlay, iaero_generic, &
     6                              iaero_aurora, iaero_back2lay, iaero_co2, &
     7                              iaero_dust, iaero_h2o, iaero_h2so4, &
     8                              iaero_nh3, i_rgcs_ice, noaero
    69       USE tracer_h, only: noms,rho_co2,rho_ice,rho_q,mmol
    710       use comcstfi_mod, only: g, pi, mugaz, avocado
     
    145148          print*,'iaero_aurora= ',iaero_aurora
    146149        endif
    147         if (iaero_generic(1) .ne. 0) then
     150        if (aerogeneric .ne. 0) then
    148151          print*,"iaero_generic= ",iaero_generic(:)
    149152        endif
     
    658661!    Lucas Teinturier (2022)
    659662!===========================================================================
    660       if (iaero_generic(1) .ne. 0) then ! we enter the scheme
     663      if (aerogeneric .ne. 0) then ! we enter the scheme
    661664        do ia=1,aerogeneric
    662665          iaer = iaero_generic(ia)
     
    674677          enddo !ig=1,ngrid
    675678        enddo !ia=1,aerogeneric
    676       endif !iaergo_generic(1) .ne. 0
     679      endif !aerogeneric .ne. 0
    677680
    678681! --------------------------------------------------------------------------
  • trunk/LMDZ.GENERIC/libf/phystd/callkeys_mod.F90

    r2803 r2810  
    88      logical,save :: season,diurnal,tlocked,rings_shadow,lwrite
    99!$OMP THREADPRIVATE(season,diurnal,tlocked,rings_shadow,lwrite)
    10       logical,save :: callstats,calleofdump
    11 !$OMP THREADPRIVATE(callstats,calleofdump)
     10      logical,save :: callstats ! .true. to output stats.nc files
     11!$OMP THREADPRIVATE(callstats)
    1212      logical,save :: callgasvis,continuum,graybody
    1313!$OMP THREADPRIVATE(callgasvis,continuum,graybody)
     
    5050      logical,save :: aerofixco2,aerofixh2o
    5151!$OMP THREADPRIVATE(aerofixco2,aerofixh2o)
    52       integer,save :: aerogeneric
     52      integer,save :: aerogeneric ! number of aerosols of "generic" kind
    5353!$OMP THREADPRIVATE(aerogeneric)
    5454      logical,save :: hydrology
Note: See TracChangeset for help on using the changeset viewer.