Ignore:
Timestamp:
Dec 13, 2019, 2:06:35 PM (5 years ago)
Author:
mvals
Message:

Mars GCM:
Implementation of a new parametrization of the dust entrainment by slope winds above the sub-grid scale topography. The parametrization is activated with the flag slpwind=.true. (set to "false" by
default) in callphys.def. The new parametrization involves the new tracers topdust_mass and topdust_number.
MV

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/phymars/conf_phys.F

    r2184 r2199  
    298298        write(*,*)" coeff_detrainment = ",coeff_detrainment
    299299
     300! entrainment by slope wind scheme
     301         write(*,*)"call slope wind lifting parametrization"
     302         slpwind=.false. ! default value
     303         call getin("slpwind",slpwind)
     304         write(*,*)" slpwind = ",slpwind
     305
    300306! latent heat release from ground water ice sublimation/condensation
    301307         write(*,*)"latent heat release during sublimation",
     
    430436           endif
    431437         endif
    432 ! rocket dust storm
     438! rocket dust storm and entrainment by slope wind
    433439! Test of incompatibility:
    434 ! if rdstorm is used, then doubleq should be true
    435          if (rdstorm.and..not.doubleq) then
    436            print*,'if rdstorm is used, then doubleq should be used !'
    437            stop
    438          endif
    439          if (rdstorm.and..not.active) then
    440            print*,'if rdstorm is used, then active should be used !'
     440! if rdstorm or slpwind is used, then doubleq should be true
     441         if ((rdstorm.or.slpwind).and..not.doubleq) then
     442           print*,'if rdstorm or slpwind is used, then doubleq
     443     &            should be used !'
     444           stop
     445         endif
     446         if ((rdstorm.or.slpwind).and..not.active) then
     447           print*,'if rdstorm or slpwind is used, then active
     448     &            should be used !'
    441449           stop
    442450         endif
    443451         if (rdstorm.and..not.lifting) then
    444            print*,'if rdstorm is used, then lifting should be used !'
    445            stop
    446          endif
    447          if (rdstorm.and..not.freedust) then
    448            print*,'if rdstorm is used, then freedust should be used !'
     452           print*,'if rdstorm is used, then lifting
     453     &            should be used !'
     454           stop
     455         endif
     456         if ((rdstorm.or.slpwind).and..not.freedust) then
     457           print*,'if rdstorm or slpwind is used, then freedust
     458     &            should be used !'
    449459           stop
    450460         endif
    451461         if (rdstorm.and.(dustinjection.eq.0)) then
    452            print*,'if rdstorm is used, then dustinjection should
    453      &            be used !'
     462           print*,'if rdstorm is used, then dustinjection
     463     &            should be used !'
    454464           stop
    455465         endif
     
    765775          ! and picky compilers who know name_iaer(2) is out of bounds
    766776          j=2
    767          IF (rdstorm.AND..NOT.activice) name_iaer(2) =
     777         IF (rdstorm.AND..NOT.activice.AND..NOT.slpwind) name_iaer(2) =
    768778     &                       "stormdust_doubleq" !! storm dust two-moment scheme
    769          IF (rdstorm.AND.water.AND.activice) name_iaer(3) =
    770      &                                             "stormdust_doubleq"
     779         IF (rdstorm.AND.water.AND.activice.AND..NOT.slpwind)
     780     &              name_iaer(3) = "stormdust_doubleq"
     781         IF (slpwind.AND..NOT.activice.AND..NOT.rdstorm) name_iaer(2) =
     782     &                       "topdust_doubleq" !! storm dust two-moment scheme
     783         IF (slpwind.AND.water.AND.activice.AND..NOT.rdstorm)
     784     &              name_iaer(3) =  "topdust_doubleq"
     785         IF (rdstorm.AND.slpwind.AND..NOT.activice) THEN
     786             name_iaer(2) = "stormdust_doubleq"
     787             name_iaer(3) = "topdust_doubleq"
     788         ENDIF
     789         IF (rdstorm.AND.slpwind.AND.water.AND.activice) THEN
     790             name_iaer(3) = "stormdust_doubleq"
     791             name_iaer(4) = "topdust_doubleq"
     792         ENDIF
    771793         IF (water.AND.activice) name_iaer(j) = "h2o_ice"      !! radiatively-active clouds
    772794         IF (submicron.AND.active) name_iaer(j) = "dust_submicron" !! JBM experimental stuff
Note: See TracChangeset for help on using the changeset viewer.