Changeset 2252


Ignore:
Timestamp:
Mar 6, 2020, 5:46:50 PM (5 years ago)
Author:
abierjon
Message:

Mars GCM:
Bug fix following r2248 in aeropacity_mod and topmons_mod : since dsodust, dsords and dsotop are diagnostic physiq_mod variables, we don't want them to be reinitialized at each call of aeropacity_mod and topmons_mod, but we initialize them once and for all at the beginning of physiq_mod instead.
AB

Location:
trunk/LMDZ.MARS
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/README

    r2248 r2252  
    28722872== 04/03/2020 == AB
    28732873Bug fixes in the slope winds parametrization and its interactions with rocketduststorm : now, it is considered that the sub-grid dust storm is decorrelated from the dust entrainment above the sub-grid scale topography, so that : 1) the background dust available for slope winds is updated after the rocketduststorm parametrization ; 2) the extra-heating on top of the mountains is calculated regarding topdust and background dust tracers' optical depths only (and not stormdust optical depth).
     2874
     2875== 06/03/2020 == AB
     2876Bug fix following r2248 in aeropacity_mod and topmons_mod : since dsodust, dsords and dsotop are diagnostic physiq_mod variables, we don't want them to be reinitialized at each call of aeropacity_mod and topmons_mod, but we initialize them once and for all at the beginning of physiq_mod instead.
  • trunk/LMDZ.MARS/libf/phymars/aeropacity_mod.F

    r2246 r2252  
    8989      REAL, INTENT(OUT) :: tau(ngrid,naerkind)
    9090      REAL, INTENT(OUT) :: aerosol(ngrid,nlayer,naerkind)
    91       REAL, INTENT(OUT) ::  dsodust(ngrid,nlayer)
    92       REAL, INTENT(OUT) ::  dsords(ngrid,nlayer) !dso of stormdust
    93       REAL, INTENT(OUT) ::  dsotop(ngrid,nlayer) !dso of topdust 
     91      REAL, INTENT(INOUT) ::  dsodust(ngrid,nlayer)
     92      REAL, INTENT(INOUT) ::  dsords(ngrid,nlayer) !dso of stormdust
     93      REAL, INTENT(INOUT) ::  dsotop(ngrid,nlayer) !dso of topdust 
    9494      REAL, INTENT(INOUT) :: reffrad(ngrid,nlayer,naerkind)
    9595      REAL, INTENT(IN) :: QREFvis3d(ngrid,nlayer,naerkind)
     
    169169      INTEGER,SAVE :: naerdust ! number of dust scatterers
    170170
     171! initializations
    171172      tau(1:ngrid,1:naerkind)=0
    172       dsords(:,:)=0. !CW17: initialize dsords
    173       dsodust(:,:)=0.
    174       dsotop(:,:)=0.
    175173
    176174! identify tracers
     
    243241#endif
    244242
    245       END IF
     243      END IF ! end of if firstcall
    246244
    247245c     Vertical column optical depth at "odpref" Pa
  • trunk/LMDZ.MARS/libf/phymars/callradite_mod.F

    r2246 r2252  
    193193                               !   (direct comparison with TES)
    194194      REAL,INTENT(OUT) :: aerosol(ngrid,nlayer,naerkind)
    195       REAL,INTENT(OUT) :: dsodust(ngrid,nlayer)
     195      REAL,INTENT(INOUT) :: dsodust(ngrid,nlayer)
    196196      REAL,INTENT(OUT) :: rdust(ngrid,nlayer)  ! Dust geometric mean radius (m)
    197197      REAL,INTENT(OUT) :: rice(ngrid,nlayer)   ! Ice geometric mean radius (m)
     
    203203      REAL,INTENT(IN) :: totstormfract(ngrid) ! dust storm mesh fraction
    204204      REAL,INTENT(OUT) :: rstormdust(ngrid,nlayer)  ! Storm dust geometric mean radius (m)
    205       REAL,INTENT(OUT) :: dsords(ngrid,nlayer) ! density scaled opacity for rocket dust storm dust
     205      REAL,INTENT(INOUT) :: dsords(ngrid,nlayer) ! density scaled opacity for rocket dust storm dust
    206206     
    207207c     entrainment by slope wind
     
    209209      REAL, INTENT(IN) :: alpha_hmons(ngrid) ! sub-grid scale topography mesh fraction
    210210      REAL,INTENT(OUT) :: rtopdust(ngrid,nlayer)  ! Topdust geometric mean radius (m)
    211       REAL,INTENT(OUT) :: dsotop(ngrid,nlayer) ! density scaled opacity for topmons dust
     211      REAL,INTENT(INOUT) :: dsotop(ngrid,nlayer) ! density scaled opacity for topmons dust
    212212     
    213213c     sub-grid scale water ice clouds
  • trunk/LMDZ.MARS/libf/phymars/physiq_mod.F

    r2248 r2252  
    672672      zdtsurf(:)=0
    673673      dqsurf(:,:)=0
    674      
     674      dsodust(:,:)=0.
     675      dsords(:,:)=0.
     676      dsotop(:,:)=0.
     677
    675678#ifdef DUSTSTORM
    676679      pq_tmp(:,:,:)=0
     
    11241127           hsummit(:)=14000.
    11251128         endif
    1126          clearatm=.true.
     1129         clearatm=.true. ! stormdust is not accounted in the extra heating on top of the mountains
    11271130         nohmons=.false.
    11281131         pdqtop(:,:,:)=0. 
  • trunk/LMDZ.MARS/libf/phymars/rocketduststorm_mod.F90

    r2246 r2252  
    9292      REAL, INTENT(OUT) :: pdqrds(ngrid,nlayer,nq) ! tendancy field for dust when detraining
    9393      REAL, INTENT(OUT) :: wrad(ngrid,nlayer+1)   ! vertical speed within the rocket dust storm
    94       REAL, INTENT(OUT) :: dsodust(ngrid,nlayer) ! density scaled opacity of env. dust
    95       REAL, INTENT(OUT) :: dsords(ngrid,nlayer) ! density scaled opacity of storm dust
    96       REAL, INTENT(OUT) :: dsotop(ngrid,nlayer) ! density scaled opacity of topmons dust
     94      REAL, INTENT(INOUT) :: dsodust(ngrid,nlayer) ! density scaled opacity of env. dust
     95      REAL, INTENT(INOUT) :: dsords(ngrid,nlayer) ! density scaled opacity of storm dust
     96      REAL, INTENT(INOUT) :: dsotop(ngrid,nlayer) ! density scaled opacity of topmons dust
    9797      REAL, INTENT(OUT) :: tauref(ngrid)
    9898
  • trunk/LMDZ.MARS/libf/phymars/topmons_mod.F90

    r2248 r2252  
    9393      REAL, INTENT(OUT) :: wfin(ngrid,nlayer+1)     ! final vertical wind velocity: combination of both wup and wrad
    9494                                                    ! wfin < 0 means upward wind (in pressure levels/s)
    95       REAL, INTENT(OUT) :: dsodust(ngrid,nlayer)
    9695
    9796!     output for second radiative transfer
    9897      REAL, INTENT(OUT) :: aerosol(ngrid,nlayer,naerkind)
    99       REAL, INTENT(OUT) :: dsords(ngrid,nlayer)
    100       REAL, INTENT(OUT) :: dsotop(ngrid,nlayer)
     98      REAL, INTENT(INOUT) :: dsodust(ngrid,nlayer)
     99      REAL, INTENT(INOUT) :: dsords(ngrid,nlayer)
     100      REAL, INTENT(INOUT) :: dsotop(ngrid,nlayer)
    101101      REAL, INTENT(OUT) :: tauref(ngrid)
    102102
     
    210210      ! **********************************************************************
    211211      aerosol(:,:,:)=0.
    212       dsodust(:,:)=0.
    213       dsords(:,:)=0.
    214       dsotop(:,:)=0.
    215212      pdqtop(:,:,:) = 0.
    216213      dqvl_topdust_mass(:,:)=0.
Note: See TracChangeset for help on using the changeset viewer.