Changeset 6021


Ignore:
Timestamp:
Jan 13, 2026, 11:42:56 AM (4 days ago)
Author:
evignon
Message:

petites modifs pour:

  • adapter le diag de rhliq et rhice (revision papier mixed-phase dans ACP)
  • mettre les precip totales en inout de call_lscp
Location:
LMDZ6/trunk/libf/phylmd
Files:
2 edited

Legend:

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

    r6011 r6021  
    1919                        sigma2_icefracturb, sigma2_icefracturbth, &
    2020                        mean_icefracturb, mean_icefracturbth, &
    21                         radocond, radicefrac, rain, snow, &
     21                        radocond, radicefrac, rain_lsc, snow_lsc, &
     22                        rain_fall, snow_fall, &
    2223                        frac_impa, frac_nucl, beta, &
    2324                        pfrac_impa, pfrac_nucl, pfrac_1nucl, &
     
    124125      REAL, DIMENSION(klon, klev), INTENT(INOUT)   :: pfrac_nucl   ! product of nucleation scavenging coeff.
    125126      REAL, DIMENSION(klon, klev), INTENT(INOUT)   :: pfrac_1nucl  ! product of nucleation scavenging coeff. (alpha=1)
     127      REAL, DIMENSION(klon), INTENT(INOUT)   :: rain_fall    ! total surface rainfall [kg/m2/s]
     128      REAL, DIMENSION(klon), INTENT(INOUT)   :: snow_fall    ! total surface snowfall [kg/m2/s]
    126129
    127130      ! INPUT/OUTPUT condensation and ice supersaturation
     
    158161      REAL, DIMENSION(klon, klev), INTENT(OUT)  :: radicefrac       ! ice fraction of condensed water for radiation scheme
    159162      REAL, DIMENSION(klon, klev), INTENT(OUT)  :: rhcl             ! clear-sky relative humidity [-]
    160       REAL, DIMENSION(klon), INTENT(OUT)  :: rain             ! surface large-scale rainfall [kg/s/m2]
    161       REAL, DIMENSION(klon), INTENT(OUT)  :: snow             ! surface large-scale snowfall [kg/s/m2]
     163      REAL, DIMENSION(klon), INTENT(OUT)  :: rain_lsc             ! surface large-scale rainfall [kg/s/m2]
     164      REAL, DIMENSION(klon), INTENT(OUT)  :: snow_lsc             ! surface large-scale snowfall [kg/s/m2]
    162165      REAL, DIMENSION(klon, klev + 1), INTENT(OUT)  :: prfl             ! large-scale rainfall flux in the column [kg/s/m2]
    163166      REAL, DIMENSION(klon, klev + 1), INTENT(OUT)  :: psfl             ! large-scale snowfall flux in the column [kg/s/m2]
     
    276279                   sigma2_icefracturb, sigma2_icefracturbth, &
    277280                   mean_icefracturb, mean_icefracturbth, &
    278                    radocond, radicefrac, rain, snow, &
     281                   radocond, radicefrac, rain_lsc, snow_lsc, &
    279282                   frac_impa, frac_nucl, beta, &
    280283                   prfl, psfl, rhcl, &
     
    303306                       temp, qt, ptconv, ratqs, sigma_qtherm, &
    304307                       d_t, d_q, d_ql, d_qi, rneb, rneblsvol, radocond, &
    305                        rain, snow, &
     308                       rain_lsc, snow_lsc, &
    306309                       pfrac_impa, pfrac_nucl, pfrac_1nucl, &
    307310                       frac_impa, frac_nucl, beta, &
     
    318321
    319322      ! rain and snow are set to 0 when negative
    320       WHERE (rain < 0) rain = 0.
    321       WHERE (snow < 0) snow = 0.
     323      WHERE (rain_lsc < 0) rain_lsc = 0.
     324      WHERE (snow_lsc < 0) snow_lsc = 0.
    322325
    323326      ! so-called 'numerical rain' is computed when qlnew=ql+dql>qlmax and qinew=qi+dqi>qimax
     
    346349      END IF
    347350
     351      ! Total precipitation
     352      DO i = 1, klon
     353         rain_fall(i) = rain_fall(i) + rain_lsc(i)
     354         snow_fall(i) = snow_fall(i) + snow_lsc(i)
     355      ENDDO
     356
     357
    348358!===============================================================================
    349359! Add tendencies
  • LMDZ6/trunk/libf/phylmd/physiq_mod.F90

    r6013 r6021  
    35653565    CALL prt_enerbil('convection',itap)
    35663566
     3567    ! total precipitation (rain_lsc and snow_lsc will be added in call_lscp)
     3568    DO i = 1, klon
     3569       rain_fall(i) = rain_con(i)
     3570       snow_fall(i) = snow_con(i)         
     3571    ENDDO
     3572
     3573
    35673574    !-------------------------------------------------------------------------
    35683575
     
    39613968     mean_icefracturb,mean_icefracturbth,               &
    39623969     radocond, radicefrac, rain_lsc, snow_lsc,          &
     3970     rain_fall, snow_fall,                              &
    39633971     frac_impa, frac_nucl, beta,                        &
    39643972     pfrac_impa, pfrac_nucl, pfrac_1nucl,               &
     
    41674175       ENDDO
    41684176    ENDIF
    4169     !
    4170     ! Precipitation totale
    4171     !
    4172     DO i = 1, klon
    4173        rain_fall(i) = rain_con(i) + rain_lsc(i)
    4174        snow_fall(i) = snow_con(i) + snow_lsc(i)
    4175     ENDDO
    41764177    !
    41774178    ! Calculer l'humidite relative pour diagnostique
     
    42004201          zx_rh(i,k) = q_seri(i,k)/zx_qs
    42014202          IF (iflag_ice_thermo .GT. 0) THEN
    4202              zx_rhl(i,k) = q_seri(i,k)/(qsatl(zx_t)/pplay(i,k))
    4203              zx_rhi(i,k) = q_seri(i,k)/(qsats(zx_t)/pplay(i,k))
     4203             zx_rhl(i,k) = MIN(q_seri(i,k)/(qsatl(zx_t)/pplay(i,k)),1.)
     4204             zx_rhi(i,k) = zx_rhl(i,k)*qsatl(zx_t)/qsats(zx_t)
    42044205          ENDIF
    42054206          zqsat(i,k)=zx_qs
Note: See TracChangeset for help on using the changeset viewer.