Changeset 3061 for trunk


Ignore:
Timestamp:
Sep 28, 2023, 3:23:58 PM (21 months ago)
Author:
jnaar
Message:

Adaptative timestep and temperature-dependent contact parameter now required together to run. Actualized relation and coefficients corresponding to the latest tuning of the global water cycle. JN

Location:
trunk/LMDZ.MARS
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/changelog.txt

    r3060 r3061  
    42344234== 28/09/2023 == JBC
    42354235Related to commit r3056, correction of bugs and some adaptations of the subroutine 'init_testphys1d'.
     4236
     4237
     4238== 28/09/2023 == JN
     4239Finalization of adaptative timestep of cloud microphysics :
     4240- conf_phys.F : Checking that both flags "cloud_adapt_ts" and "temp_dependant_m" needs to be
     4241activated in order to run with an acceptable water cycle
     4242- nuclea.F : "temp_dependant_m" now actualized to be compatible with "cloud_adapt_ts" as
     4243in the latest release
     4244- improvedclouds.F : "cloud_adapt_ts" powerlaw coefficients actualized for conservative
     4245present-day computations
     4246- Explicit comments in several sections of the code with these infos
     4247
  • trunk/LMDZ.MARS/libf/phymars/conf_phys.F

    r3008 r3061  
    748748        temp_dependant_m  = .false. ! default value
    749749        call getin_p("temp_dependant_m",temp_dependant_m)
    750         if (temp_dependant_m) then
     750        if (temp_dependant_m) then !(JN 2023)
    751751           print*,'You have chosen a temperature-dependant water'
    752752           print*,'contact parameter ! From Maattanen et al. 2014'
     
    763763         call getin_p("cloud_adapt_ts",cloud_adapt_ts)
    764764         write(*,*)"cloud_adapt_ts= ",cloud_adapt_ts
     765
     766! Test of incompatibility:
     767! If you want the adaptative timestep, you should use the
     768! temperature dependent contact parameter (otherwise the
     769! global water cycle is nuts !)
    765770       
     771        if ((cloud_adapt_ts.and..not.temp_dependant_m).or.
     772     &       (temp_dependant_m.and..not.cloud_adapt_ts)) then
     773           print*,'Water cycle v6 : cloud_adapt_ts and '
     774           print*,'temp_dependant_m must be used together !'
     775           print*,'Otherwise water cycle is off. At least one '
     776           print*,'of these flags is turned off. '
     777           call abort_physic(modname,
     778     &          "water cycle v6 needs cloud_adapt_ts and temp_dep_m",1)
     779        endif
    766780! scavenging
    767781        write(*,*)"Dust scavenging by H2O/CO2 snowfall ?"
  • trunk/LMDZ.MARS/libf/phymars/improvedclouds_mod.F

    r3017 r3061  
    740740      integer,intent(out) :: zimicro ! number of ptimestep division
    741741
    742 c       zimicro = 30
    743 c      Coefficients good enough for present-day Mars :
    744 c       alpha = 1.87485684e+09
    745 c       beta = 1.45655856e+00
    746 c      Coefficients covering high obliquity scenarios :
    747        alpha=3.36711332e+15
    748        beta=1.98636414e+00
    749 c       nimicro=min(max(alpha*abs(potcond)**beta,5.),7000.)
    750 c       zimicro=ceiling((ptimestep/timeleft)*nimicro)
    751 c       zimicro=ceiling((timeleft/ptimestep)*nimicro)
     742c      Conservative coefficients :
     743       alpha=1.81846504e+11
     744       beta=1.54550140e+00
    752745       zimicro=ceiling(min(max(alpha*abs(potcond)**beta,5.),7000.))
    753746
  • trunk/LMDZ.MARS/libf/phymars/nuclea.F

    r3008 r3061  
    6060
    6161      IF (temp_dependant_m) THEN
     62c     J.Naar - sep 2023 :
    6263c     Simple linear parametrisation from Maattaanen 2014
    63 c     Smectite sample
    6464c     Maxed out at 0.97 for physical realism
    65          mtetalocal = min(0.0044*temp + 0.1831,0.97)
     65c     Used to tune the WC without adaptative ts of microphy
     66c         mtetalocal = min(0.0044*temp + 0.1831,0.97)
     67c     With adapt_ts need to use this relation (same paper, tanh):
     68         mtetalocal = 0.469+((0.972-0.469)*tanh((temp/158.282)**4.244))
    6669      ENDIF ! (temp_dependant_m) THEN
    6770cccccccccccccccccccccccccccccccccccccccccccccccccc
     
    8487          print*, 'dear user, please keep in mind that'
    8588          print*, 'contact parameter IS NOT constant ;'
    86           print*, 'Using the following linear fit from'
    87           print*, 'Maattanen et al. 2014 (SM linear fit) :'
    88           print*, 'min(0.0044*temp + 0.1831,0.97)'
     89          print*, 'Using the tanh fit n2 (jsc sample) from'
     90          print*, 'Maattanen et al. 2014 (10.1016/j.grj.2014.09.002) :'
     91          print*, 'm=0.469+((0.972-0.469)*tanh((temp/158.282)**4.244))'
    8992          print*, ' ' 
    9093         firstcall=.false.
Note: See TracChangeset for help on using the changeset viewer.