Changeset 4099 for LMDZ6/trunk


Ignore:
Timestamp:
Mar 15, 2022, 2:06:03 PM (2 years ago)
Author:
oboucher
Message:

update to ice_sursat module

Location:
LMDZ6/trunk/libf/phylmd
Files:
2 edited

Legend:

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

    r4074 r4099  
    2222REAL, PARAMETER :: erf_lim = 5., eps = 1.e-10
    2323!
    24 !--Parametres de tuning
    25 REAL, PARAMETER :: chi=1.1, l_turb=50.0, tun_N=1.3, tun_ratqs=3.0
     24!--Tuning parameters (and their default values)
     25!
     26!--chi gère la répartition statistique de la longueur des frontières
     27!  entre les zones nuages et ISSR/ciel clair sous-saturé. Gamme de valeur :
     28!  chi > 1, je n'ai pas regardé de limite max (pour chi = 1, la longueur de
     29!  la frontière entre ne nuage et l'ISSR est proportionnelle à la
     30!  répartition ISSR/ciel clair sous-sat dans la maille, i.e. il n'y a pas
     31!  de favorisation de la localisation de l'ISSR près de nuage. Pour chi = inf,
     32!  le nuage n'est en contact qu'avec de l'ISSR, quelle que soit la taille
     33!  de l'ISSR dans la maille.)
     34!
     35!--l_turb est la longueur de mélange pour la turbulence.
     36!  dans les tests, ça n'a jamais été modifié pour l'instant.
     37!
     38!--tun_N est le paramètre qui contrôle l'importance relative de N_2 par rapport à N_1.
     39!  La valeur est comprise entre 1 et 2 (tun_N = 1 => N_1 = N_2)
     40!
     41!--tun_ratqs : paramètre qui modifie ratqs en fonction de la valeur de
     42!  alpha_cld selon la formule ratqs_new = ratqs_old / ( 1 + tun_ratqs *
     43!  alpha_cld ). Dans le rapport il est appelé beta. Il varie entre 0 et 5
     44!  (tun_ratqs = 0 => pas de modification de ratqs).
     45
     46REAL, 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)
    2648!
    2749!--contrail cross section, typical value found in Freudenthaler et al, GRL, 22, 3501-3504, 1995
     
    3254
    3355!*******************************************************************
    34 
     56!
     57SUBROUTINE ice_sursat_init()
     58
     59  USE print_control_mod, ONLY: lunout
     60  USE ioipsl_getin_p_mod, ONLY : getin_p
     61
     62  IMPLICIT NONE
     63
     64  CALL getin_p('flag_chi',chi)
     65  CALL getin_p('flag_l_turb',l_turb)
     66  CALL getin_p('flag_tun_N',tun_N)
     67  CALL getin_p('flag_tun_ratqs',tun_ratqs)
     68
     69  WRITE(lunout,*) 'flag_chi = ', chi
     70  WRITE(lunout,*) 'flag_l_turb = ', l_turb
     71  WRITE(lunout,*) 'flag_tun_N = ', tun_N
     72  WRITE(lunout,*) 'flag_tun_ratqs = ', tun_ratqs
     73
     74END SUBROUTINE ice_sursat_init
     75
     76!*******************************************************************
     77!
    3578SUBROUTINE airplane(debut,pphis,pplay,paprs,t_seri)
    3679
     
    97140      !
    98141      IF ( klona /= klon_glo ) THEN
    99         WRITE(lunout,*), 'klona & klon_glo =', klona, klon_glo
     142        WRITE(lunout,*) 'klona & klon_glo =', klona, klon_glo
    100143        CALL abort_physic(modname,'problem klon in aircraft_phy.nc file',1)
    101144      ENDIF
    102145      !
    103146      IF ( ntimea /= 12 ) THEN
    104         WRITE(lunout,*), 'ntimea=', ntimea
     147        WRITE(lunout,*) 'ntimea=', ntimea
    105148        CALL abort_physic(modname,'problem ntime<>12 in aircraft_phy.nc file',1)
    106149      ENDIF
     
    207250
    208251!********************************************************************
    209 ! temporary routine to initialise flight_m and test a flight corridor
     252! simple routine to initialise flight_m and test a flight corridor
     253!--Olivier Boucher - 2021
     254!
    210255SUBROUTINE flight_init()
    211256  USE dimphy
  • LMDZ6/trunk/libf/phylmd/lscp_mod.F90

    r4072 r4099  
    279279  !$OMP THREADPRIVATE(itap)
    280280
    281 
    282281  LOGICAL lognormale(klon)
    283282  LOGICAL convergence(klon)
     
    286285  !$OMP THREADPRIVATE(appel1er)
    287286
    288 
    289287  CHARACTER (len = 20) :: modname = 'lscp'
    290288  CHARACTER (len = 80) :: abort_message
    291 
    292289 
    293290  DATA appel1er /.TRUE./
    294 
    295 
    296 
    297291
    298292!===============================================================================
     
    370364    ENDDO
    371365
     366    IF (ok_ice_sursat) CALL ice_sursat_init()
     367
    372368    appel1er = .FALSE.
    373369
     
    378374zfrac_lessi = 0.
    379375
    380  
    381376! Initialisation of output variables (JYG):
    382377prfl(:,:) = 0.0
     
    11981193    ! --------------------------------
    11991194
    1200 
    12011195    ! Outputs:
    12021196    ! Precipitation fluxes at layer interfaces
     
    12101204        d_t(i,k) = zt(i) - t(i,k)
    12111205    ENDDO
    1212      
    12131206
    12141207
Note: See TracChangeset for help on using the changeset viewer.