Changeset 4563


Ignore:
Timestamp:
Jun 7, 2023, 9:56:11 PM (12 months ago)
Author:
evignon
Message:

correction de l'evaporation max dans la param d'evaporation des precips
de ludo

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

Legend:

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

    r4562 r4563  
    1717  INTEGER,SAVE :: iflag_evap_prec=1             ! precipitation evaporation flag. 0: nothing, 1: "old way",
    1818                                                ! 2: Max cloud fraction above to calculate the max of reevaporation
    19                                                 ! 4: LTP'method i.e. evaporation in the clear-sky fraction of the mesh only
     19                                                ! >=4: LTP'method i.e. evaporation in the clear-sky fraction of the mesh only
     20                                                ! pay attention that iflag_evap_prec=4 may lead to unrealistic and overestimated
     21                                                ! evaporation. Use 5 instead
    2022  !$OMP THREADPRIVATE(iflag_evap_prec)
    2123
  • LMDZ6/trunk/libf/phylmd/lscp_mod.F90

    r4562 r4563  
    415415            IF (zrfl(i)+zifl(i).GT.0.) THEN
    416416
    417             ! LudoTP: we only account for precipitation evaporation in the clear-sky (iflag_evap_prec=4).
     417            ! LudoTP: we only account for precipitation evaporation in the clear-sky (iflag_evap_prec>=4).
    418418            ! c_iso: likely important to distinguish cs from neb isotope precipitation
    419419
    420                 IF (iflag_evap_prec.EQ.4) THEN
     420                IF (iflag_evap_prec.GE.4) THEN
    421421                    zrfl(i) = zrflclr(i)
    422422                    zifl(i) = ziflclr(i)
     
    429429                ENDIF
    430430
    431                 IF (iflag_evap_prec.EQ.4) THEN
     431                IF (iflag_evap_prec.GT.4) THEN
     432                ! Max evaporation not to saturate the clear sky precip fraction
     433                ! i.e. the fraction where evaporation occurs
     434                    zqev0 = MAX(0.0, (zqs(i)-zq(i))*znebprecipclr(i))
     435                ELSEIF (iflag_evap_prec .EQ. 4) THEN
    432436                ! Max evaporation not to saturate the whole mesh
     437                ! Pay attention -> lead to unrealistic and excessive evaporation
    433438                    zqev0 = MAX(0.0, zqs(i)-zq(i))
    434439                ELSE
     
    440445                ! dP/dz=beta*(1-q/qsat)*sqrt(P)
    441446                ! formula from Sundquist 1988, Klemp & Wilhemson 1978
    442                 ! LTP: evaporation only in the clear sky part (iflag_evap_prec=4)
     447                ! LTP: evaporation only in the clear sky part (iflag_evap_prec>=4)
    443448
    444449                IF (iflag_evap_prec.EQ.3) THEN
     
    446451                    *SQRT(zrfl(i)/max(1.e-4,znebprecip(i)))        &
    447452                    *(paprs(i,k)-paprs(i,k+1))/pplay(i,k)*zt(i)*RD/RG
    448                 ELSE IF (iflag_evap_prec.EQ.4) THEN
     453                ELSE IF (iflag_evap_prec.GE.4) THEN
    449454                     zqevt = znebprecipclr(i)*coef_eva*(1.0-zq(i)/qsl(i)) &
    450455                    *SQRT(zrfl(i)/max(1.e-8,znebprecipclr(i))) &
     
    463468                    *SQRT(zifl(i)/max(1.e-4,znebprecip(i))) &
    464469                    *(paprs(i,k)-paprs(i,k+1))/pplay(i,k)*zt(i)*RD/RG
    465                 ELSE IF (iflag_evap_prec.EQ.4) THEN
     470                ELSE IF (iflag_evap_prec.GE.4) THEN
    466471                     zqevti = znebprecipclr(i)*coef_eva_i*(1.0-zq(i)/qsi(i)) &
    467472                    *SQRT(zifl(i)/max(1.e-8,znebprecipclr(i))) &
     
    518523                                           
    519524
    520                 IF (iflag_evap_prec.EQ.4) THEN
     525                IF (iflag_evap_prec.GE.4) THEN
    521526                    zrflclr(i) = zrfl(i)
    522527                    ziflclr(i) = zifl(i)
     
    536541
    537542                ! update of rainfall and snowfall due to melting
    538                 IF (iflag_evap_prec.EQ.4) THEN
     543                IF (iflag_evap_prec.GE.4) THEN
    539544                    zrflclr(i)=zrflclr(i)+zmelt*ziflclr(i)
    540545                    zrflcld(i)=zrflcld(i)+zmelt*ziflcld(i)
     
    885890
    886891    ! LTP:
    887     IF (iflag_evap_prec==4) THEN
     892    IF (iflag_evap_prec .GE. 4) THEN
    888893
    889894        !Partitionning between precipitation coming from clouds and that coming from CS
     
    10771082    DO i = 1, klon
    10781083           
    1079             IF (iflag_evap_prec.EQ.4) THEN
     1084            IF (iflag_evap_prec.GE.4) THEN
    10801085                ziflprev(i)=ziflcld(i)
    10811086            ELSE
     
    11191124                    ! c_iso : mv here condensation of isotopes + redispatchage en precip
    11201125
    1121                 IF (iflag_evap_prec.EQ.4) THEN
     1126                IF (iflag_evap_prec.GE.4) THEN
    11221127                    zrflcld(i) = zrflcld(i)+zqprecl(i) &
    11231128                    *(paprs(i,k)-paprs(i,k+1))/(RG*dtime)
     
    11401145
    11411146    ! LTP: limit of surface cloud fraction covered by precipitation when the local intensity of the flux is below rain_int_min
    1142     ! if iflag_evap_pre=4
    1143     IF (iflag_evap_prec.EQ.4) THEN
     1147    ! if iflag_evap_prec>=4
     1148    IF (iflag_evap_prec.GE.4) THEN
    11441149
    11451150        DO i=1,klon
Note: See TracChangeset for help on using the changeset viewer.