Ignore:
Timestamp:
Jan 5, 2026, 5:09:54 PM (8 days ago)
Author:
evignon
Message:

nettoyage d'une option obsolete de ratqs_multi

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/lmdz_ratqs_multi.f90

    r5820 r5995  
    3838
    3939!========================================================================
    40 ! L. d'Alen??on, 25/02/2021
     40! L. d'Alencon, 25/02/2021
    4141! Cette subroutine calcule une valeur de ratqsbas interactive 
    4242! Elle est appel??e par la subroutine ratqs lorsque iflag_ratqs = 11.
     
    8484      enddo
    8585!-------------------------------------------------------------------------
    86 !  Caclul du terme de d??trainement de la variance pour les thermiques
     86!  Caclul du terme de detrainement de la variance pour les thermiques
    8787!-------------------------------------------------------------------------
    8888
     
    102102      detr0(:,:) = detr_therm(:,:)
    103103
    104 ! calcul du carr?? de l'humidit?? sp??cifique et circulation dans les thermiques
     104! calcul du carre de l'humidite specifique et circulation dans les thermiques
    105105      po(:,:) = q_seri(:,:)
    106106      call thermcell_dq(klon,klev,dqimpl,pdtphys,fm0,entr0,zmasse,  &
     
    115115
    116116
    117 ! variance de l'humidit?? sp??cifique totale dans les thermiques     
     117! variance de l'humidit?? specifique totale dans les thermiques     
    118118      do k=1,klev
    119119         do i=1,klon     
     
    364364!=============================================
    365365
    366 SUBROUTINE ratqs_tke(klon,klev,pdtphys,temp,q,qsat,pplay,paprs,omega,tke,tke_dissip,lmix,wprime,ratqs_tke_)
    367 
    368 ! References:
    369 !
    370 ! Etienne Vignon: effect of subgrid turbulence on ratqs
    371 !
    372 ! Field, P.R., Hill, A., Furtado, K., Korolev, A., 2014b. Mixed-phase clouds in a turbulent environment. Part
    373 ! 2: analytic treatment. Q. J. R. Meteorol. Soc. 21, 2651???2663. https://doi.org/10.1002/qj.2175.
    374 !
    375 ! Furtado, K., Field, P.R., Boutle, I.A., Morcrette, C.R., Wilkinson, J., 2016. A physically-based, subgrid
    376 ! parametrization for the production and maintenance of mixed-phase clouds in a general circulation
    377 ! model. J. Atmos. Sci. 73, 279???291. https://doi.org/10.1175/JAS-D-15-0021.
    378 
    379 USE lmdz_ratqs_ini, ONLY : RG,RV,RD,RCPD,RLSTT,RLVTT,RTT
    380 
    381 IMPLICIT NONE
    382 
    383 ! INPUTS
    384 
    385 INTEGER, INTENT(IN) :: klon                             ! number of horizontal grid points
    386 INTEGER, INTENT(IN) :: klev                             ! number of vertical layers
    387 REAL, INTENT(IN) :: pdtphys                             ! physics time step [s]
    388 REAL, DIMENSION(klon,klev), INTENT(IN) :: temp          ! air temperature [K]
    389 REAL, DIMENSION(klon,klev), INTENT(IN) :: q             ! specific humidity [kg/kg]
    390 REAL, DIMENSION(klon,klev), INTENT(IN) :: qsat          ! saturation specific humidity [kg/kg]
    391 REAL, DIMENSION(klon,klev), INTENT(IN) :: pplay         ! air pressure, layer's center [Pa]
    392 REAL, DIMENSION(klon,klev+1), INTENT(IN) :: paprs       ! air pressure, lower inteface [Pa]
    393 REAL, DIMENSION(klon,klev), INTENT(IN) :: omega       ! air pressure, lower inteface [Pa]
    394 REAL, DIMENSION(klon,klev+1), INTENT(IN) :: tke         ! Turbulent Kinetic Energy [m2/s2]
    395 REAL, DIMENSION(klon,klev+1), INTENT(IN) :: tke_dissip  ! Turbulent Kinetic Energy Dissipation rate [m2/s3]
    396 REAL, DIMENSION(klon,klev+1), INTENT(IN) :: lmix  ! Turbulent mixing length
    397 REAL, DIMENSION(klon,klev+1), INTENT(IN) :: wprime      ! Turbulent vertical velocity scale [m/s]
    398 
    399 ! OUTPUTS
    400 
    401 REAL, DIMENSION(klon,klev), INTENT(out) :: ratqs_tke_  ! ratsq profile due to subgrid TKE
    402 
    403 ! LOCAL
    404 INTEGER :: i, k
    405 REAL :: AA, DD, NW, AAprime, VARLOG,rho,Lvs,taue,lhomo,dissmin,maxvarlog
    406 REAL, DIMENSION(klon,klev) :: sigmaw,w
    407 REAL, PARAMETER :: C0=10.0
    408 REAL, PARAMETER :: lmin=0.001
    409 REAL, PARAMETER :: ratqsmin=1E-6
    410 REAL, PARAMETER :: ratqsmax=0.5
    411 
    412 
    413 ! Calculation of large scale and turbulent vertical velocities
    414 !---------------------------------------------------------------
    415 
    416 DO k=1,klev
    417     DO i=1,klon
    418         rho=pplay(i,k)/temp(i,k)/RD
    419         w(i,k)=-rho*RG*omega(i,k)
    420         sigmaw(i,k)=0.5*(wprime(i,k+1)+wprime(i,k)) ! turbulent vertical velocity at the middle of model layers.
    421     END DO
    422 END DO
    423 
    424 ! Calculation of ratqs
    425 !---------------------------------------------------------------
    426 ratqs_tke_(:,1)=ratqsmin ! set to a very low value to avoid division by 0 in order parts
    427                         ! of the code
    428 DO k=2,klev ! we start from second model level since TKE is not defined at k=1
    429     DO i=1,klon
    430 
    431        IF (temp(i,k) .LT. RTT) THEN
    432            Lvs=RLSTT
    433        ELSE
    434            Lvs=RLVTT
    435        ENDIF
    436        dissmin=0.01*(0.5*(tke(i,k)+tke(i,k+1))/pdtphys)
    437        maxvarlog=LOG(1.0+ratqsmax**2)! to prevent ratqs from exceeding an arbitrary threshold value
    438        AA=RG*(Lvs/(RCPD*temp(i,k)*temp(i,k)*RV) - 1./(RD*temp(i,k)))
    439        lhomo=MAX(0.5*(lmix(i,k)+lmix(i,k+1)),lmin)
    440        taue=(lhomo*lhomo/MAX(0.5*(tke_dissip(i,k)+tke_dissip(i,k+1)),dissmin))**(1./3) ! Fields et al. 2014
    441        DD=1.0/taue
    442        NW=(sigmaw(i,k)**2)*SQRT(2./(C0*MAX(0.5*(tke_dissip(i,k)+tke_dissip(i,k+1)),dissmin)))
    443        AAprime=AA*NW
    444        VARLOG=AAprime/2./DD
    445        VARLOG=MIN(VARLOG,maxvarlog)
    446        ratqs_tke_(i,k)=SQRT(MAX(EXP(VARLOG)-1.0,ratqsmin))
    447        END DO
    448 END DO
    449 END SUBROUTINE ratqs_tke
    450 
    451366END MODULE lmdz_ratqs_multi
Note: See TracChangeset for help on using the changeset viewer.