Ignore:
Timestamp:
May 6, 2020, 4:46:33 PM (5 years ago)
Author:
lrossi
Message:

MARS GCM:
Implementation of HDO in the physics
New tracers hdo_vap and hdo_ice are added. Cf. traceur.def.isotopes in deftank for exemple of traceur.def.
All HDO related computations are activated by flag hdo=.true. in callphys.def. (see callphys.def.hdo in deftank for an example)
Additional option hdofrac (true by default) allows for turning on/off fractionation (for tests).
For now, only functional with simplified cloud scheme (so microphys=.false. and activice=.false. also recommended).
Initialisation of start files can be done with option 'inihdo' in newstart.
LR

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/phymars/phyredem.F90

    r2265 r2312  
    189189  integer :: i_h2o_vap=0
    190190  integer :: i_h2o_ice=0
     191  integer :: i_hdo_vap=0
     192  integer :: i_hdo_ice=0
    191193
    192194 
     
    245247      i_h2o_ice=iq
    246248    endif
     249
     250  ! look for HDO vapour & HDO ice tracers (if any)
     251    if (noms(iq).eq."hdo_vap") then
     252      i_hdo_vap=iq
     253    endif
     254    if (noms(iq).eq."hdo_ice") then
     255      i_hdo_ice=iq
     256    endif
    247257  enddo
     258
    248259 
    249260  if (nq.gt.0) then
     
    264275        endif ! of if (igcm_h2o_ice.eq.igcm_h2o_vap)
    265276      endif ! of if (txt.eq."h2o_vap")
     277
     278      if (txt.eq."hdo_vap") then
     279        write(*,*)"physdem1: skipping HDO vapour tracer"
     280        if (i_hdo_ice.eq.i_hdo_vap) then
     281          ! then there is no "water ice" tracer; but still
     282          ! there is some water ice on the surface
     283          write(*,*)"          writing HDO ice instead"
     284          txt="hdo_ice"
     285        else
     286          ! there is a "water ice" tracer which has been / will be
     287          ! delt with in due time
     288          cycle
     289        endif ! of if (igcm_hdo_ice.eq.igcm_hdo_vap)
     290      endif ! of if (txt.eq."hdo_vap")
     291
    266292      call put_field(trim(txt),"tracer on surface",qsurf(:,iq),time)
    267293    enddo
Note: See TracChangeset for help on using the changeset viewer.