Changeset 3064 for trunk


Ignore:
Timestamp:
Sep 30, 2023, 5:09:20 PM (14 months ago)
Author:
abierjon
Message:

Mars GCM:
Following r3061 and r3062 :

  • adapt files callphys.def.GCM6 and callphys.def.MCD6 in deftank/ to match with the new orthograph of temp_dependent_m
  • restore the possibility to run with a temperature-dependent contact parameter without using the cloud adaptative subtimestep (MCD6.1 configuration, mteta = linear fit of temp)

AB

Location:
trunk/LMDZ.MARS
Files:
5 edited

Legend:

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

    r3063 r3064  
    42184218Following previous commit, correction of a spelling mistake "temp_dependant_m"
    42194219is actually "temp_dependent_m". Sorry about that.
     4220
     4221== 30/09/2023 == AB
     4222Following r3061 and r3062 :
     4223- adapt files callphys.def.GCM6 and callphys.def.MCD6 in deftank/ to match with the new orthograph of temp_dependent_m
     4224- restore the possibility to run with a temperature-dependent contact parameter without using the cloud adaptative subtimestep
     4225  (MCD6.1 configuration, mteta = linear fit of temp)
  • trunk/LMDZ.MARS/deftank/callphys.def.GCM6

    r3058 r3064  
    171171#        distribution of ice particles ?
    172172nuice_sed=0.1
    173 # WATER: contact parameter (only if temp_dependant_m = .false.)
     173# WATER: contact parameter (only if temp_dependent_m = .false.)
    174174##mteta = 0.95
    175 # Temperature-dependant water contact parameter
    176 temp_dependant_m = .true.
     175# Temperature-dependent water contact parameter
     176temp_dependent_m = .true.
    177177# WATER: current permanent caps at both poles. True IS RECOMMENDED
    178178#        (with .true., North cap is a source of water and South pole
  • trunk/LMDZ.MARS/deftank/callphys.def.MCD6

    r3058 r3064  
    171171#        distribution of ice particles ?
    172172nuice_sed=0.1
    173 # WATER: contact parameter (only if temp_dependant_m = .false.)
     173# WATER: contact parameter (only if temp_dependent_m = .false.)
    174174##mteta = 0.95
    175 # Temperature-dependant water contact parameter
    176 temp_dependant_m = .true.
     175# Temperature-dependent water contact parameter
     176temp_dependent_m = .true.
    177177# WATER: current permanent caps at both poles. True IS RECOMMENDED
    178178#        (with .true., North cap is a source of water and South pole
  • trunk/LMDZ.MARS/libf/phymars/conf_phys.F

    r3062 r3064  
    768768! temperature dependent contact parameter (otherwise the
    769769! global water cycle is nuts !)
     770! However one can use the temperature dependent contact parameter
     771! without the adaptative timestep (MCD6.1 configuration)
    770772       
    771         if ((cloud_adapt_ts.and..not.temp_dependent_m).or.
    772      &       (temp_dependent_m.and..not.cloud_adapt_ts)) then
    773            print*,'Water cycle v6 : cloud_adapt_ts and '
    774            print*,'temp_dependent_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)
     773        if (cloud_adapt_ts.and..not.temp_dependent_m) then
     774           print*,'Water cycle v6 : if cloud_adapt_ts is used'
     775           print*,'then temp_dependent_m must be used!'
     776           print*,'Otherwise the water cycle is unrealistic.'
     777           call abort_physic(modname,
     778     &          "cloud_adapt_ts requires temp_dependent_m",1)
    779779        endif
    780780! scavenging
  • trunk/LMDZ.MARS/libf/phymars/nuclea.F

    r3062 r3064  
    6161      IF (temp_dependent_m) THEN
    6262c     J.Naar - sep 2023 :
    63 c     Simple linear parametrisation from Maattaanen 2014
    64 c     Maxed out at 0.97 for physical realism
    65 c     Used to tune the WC without adaptative ts of microphy
    66 c         mtetalocal = min(0.0044*temp + 0.1831,0.97)
    67 c     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))
    69       ENDIF ! (temp_dependent_m) THEN
     63        if (.not.cloud_adapt_ts) then
     64          ! Simple linear parametrisation from Maattaanen 2014
     65          ! Maxed out at 0.97 for physical realism
     66          ! Used to tune the WC without adaptative ts of microphy (MCD6.1 configuration)
     67          mtetalocal = min(0.0044*temp + 0.1831,0.97)
     68        else
     69          ! With adapt_ts, need to use this relation (same paper, tanh relation):
     70          mtetalocal = 0.469+((0.972-0.469)*tanh((temp/158.282)**4.244))
     71        endif ! (.not.cloud_adapt_ts)
     72      ENDIF ! (temp_dependent_m)
    7073cccccccccccccccccccccccccccccccccccccccccccccccccc
    7174ccccccccccc ESSAIS TN MTETA = F (T) cccccccccccccc
     
    8487cccccccccccccccccccccccccccccccccccccccccccccccccc
    8588      IF (firstcall.and.temp_dependent_m) THEN
     89        if (.not.cloud_adapt_ts) then
     90          print*, ' ' 
     91          print*, 'dear user, please keep in mind that'
     92          print*, 'contact parameter IS NOT constant ;'
     93          print*, 'Using the following linear fit from'
     94          print*, 'Maattanen et al. 2014 (SM linear fit) :'
     95          print*, 'm=min(0.0044*temp + 0.1831,0.97)'
     96          print*, ' '
     97        else !cloud_adapt_ts=.true.
    8698          print*, ' ' 
    8799          print*, 'dear user, please keep in mind that'
     
    90102          print*, 'Maattanen et al. 2014 (10.1016/j.grj.2014.09.002) :'
    91103          print*, 'm=0.469+((0.972-0.469)*tanh((temp/158.282)**4.244))'
    92           print*, ' ' 
    93          firstcall=.false.
     104          print*, ' '
     105        endif
     106        firstcall=.false.
    94107      ELSE IF (firstcall.and.(.not.(temp_dependent_m))) THEN
    95           print*, ' ' 
    96           print*, 'dear user, please keep in mind that'
    97           print*, 'contact parameter IS constant'
    98           print*, ' ' 
    99          firstcall=.false.
     108        print*, ' ' 
     109        print*, 'dear user, please keep in mind that'
     110        print*, 'contact parameter IS constant'
     111        print*, ' ' 
     112        firstcall=.false.
    100113      END IF
    101114cccccccccccccccccccccccccccccccccccccccccccccccccc
Note: See TracChangeset for help on using the changeset viewer.