Changeset 4225


Ignore:
Timestamp:
Jul 23, 2022, 5:20:34 PM (2 years ago)
Author:
oboucher
Message:

More tuning parameters to be read from def list

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/ice_sursat_mod.F90

    r4099 r4225  
    33IMPLICIT NONE
    44
     5!--flight inventories
     6!
    57REAL, SAVE, ALLOCATABLE :: flight_m(:,:)    !--flown distance m s-1 per cell
    68!$OMP THREADPRIVATE(flight_m)
    79REAL, SAVE, ALLOCATABLE :: flight_h2o(:,:)  !--emitted kg H2O s-1 per cell
    810!$OMP THREADPRIVATE(flight_h2o)
    9 
    10 !--parameters for gamma function
    11 !--Karcher and Lohmann (2002)
    12 !--gamma = 2.583 - t / 207.83
    13 ! REAL, SAVE, PARAMETER :: gamma0=2.583, Tgamma=207.83
    14 !--Ren and MacKenzie (2005) reused by Kärcher
    15 !--gamma = 2.349 - t / 259.0
    16 REAL, PARAMETER :: gamma0=2.349, Tgamma=259.0
    17 !
    18 !--number of clouds in cell (needs to be parametrized at some point)
    19 REAL, PARAMETER :: N_cld = 100.
     11!
     12!--Fixed Parameters
    2013!
    2114!--safety parameters for ERF function
     
    4336!  alpha_cld ). Dans le rapport il est appelé beta. Il varie entre 0 et 5
    4437!  (tun_ratqs = 0 => pas de modification de ratqs).
    45 
     38!
     39!--gamma0 and Tgamma: define RHcrit limit above which heterogeneous freezing occurs as a function of T
     40!--Karcher and Lohmann (2002)
     41!--gamma = 2.583 - t / 207.83
     42!--Ren and MacKenzie (2005) reused by Kärcher
     43!--gamma = 2.349 - t / 259.0
     44!
     45!--N_cld: number of clouds in cell (needs to be parametrized at some point)
     46!
     47!--contrail cross section: typical value found in Freudenthaler et al, GRL, 22, 3501-3504, 1995
     48!--in m2, 1000x200 = 200 000 m2 after 15 min
     49!
    4650REAL, SAVE :: chi=1.1, l_turb=50.0, tun_N=1.3, tun_ratqs=3.0
    47 !$OMP THREADPRIVATE(chi,l_turb,tun_N,tun_ratqs)
    48 !
    49 !--contrail cross section, typical value found in Freudenthaler et al, GRL, 22, 3501-3504, 1995
    50 !--in m2, 1000x200 = 200 000 m2 after 15 min
    51 REAL, PARAMETER :: contrail_cross_section=200000.0 
     51REAL, SAVE :: gamma0=2.349, Tgamma=259.0, N_cld=100, contrail_cross_section=200000.0
     52!$OMP THREADPRIVATE(chi,l_turb,tun_N,tun_ratqs,gamma0,Tgamma,N_cld,contrail_cross_section)
    5253
    5354CONTAINS
     
    6667  CALL getin_p('flag_tun_N',tun_N)
    6768  CALL getin_p('flag_tun_ratqs',tun_ratqs)
    68 
     69  CALL getin_p('gamma0',gamma0)
     70  CALL getin_p('Tgamma',Tgamma)
     71  CALL getin_p('N_cld',N_cld)
     72  CALL getin_p('contrail_cross_section',contrail_cross_section)
     73
     74  WRITE(lunout,*) 'Parameters for ice_sursat param'
    6975  WRITE(lunout,*) 'flag_chi = ', chi
    7076  WRITE(lunout,*) 'flag_l_turb = ', l_turb
    7177  WRITE(lunout,*) 'flag_tun_N = ', tun_N
    7278  WRITE(lunout,*) 'flag_tun_ratqs = ', tun_ratqs
     79  WRITE(lunout,*) 'gamma0 = ', gamma0
     80  WRITE(lunout,*) 'Tgamma = ', Tgamma
     81  WRITE(lunout,*) 'N_cld = ', N_cld
     82  WRITE(lunout,*) 'contrail_cross_section = ', contrail_cross_section
    7383
    7484END SUBROUTINE ice_sursat_init
     
    384394     !
    385395     !--Estimating gamma
    386      gamma_ss = gamma0 - t_actuel/Tgamma
    387      !gamma_prec = gamma0 - t_ancien(i,k)/Tgamma      !--formulation initiale d Audran
    388      gamma_prec = gamma0 - t/Tgamma                   !--autre formulation possible basée sur le T du pas de temps
     396     gamma_ss = MAX(1.0, gamma0 - t_actuel/Tgamma)
     397     !gamma_prec = MAX(1.0, gamma0 - t_ancien(i,k)/Tgamma)      !--formulation initiale d Audran
     398     gamma_prec = MAX(1.0, gamma0 - t/Tgamma)                   !--autre formulation possible basée sur le T du pas de temps
    389399     !
    390400     ! Initialisation de qvc : q_sat du pas de temps precedent
Note: See TracChangeset for help on using the changeset viewer.