Ignore:
Timestamp:
Jan 21, 2026, 1:20:47 PM (8 hours ago)
Author:
evignon
Message:

move diagnostics of relative humidity in call_lscp
loss of convergence in prod mode but not in debug

File:
1 edited

Legend:

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

    r6033 r6042  
    39593959     abortphy, flag_inhib_tend, itap,                             &
    39603960     nqo, pdtphys, missing_val, ok_new_lscp,                      &
    3961      paprs, pplay, omega, t_seri, q_seri, ql_seri, qs_seri,       &
     3961     paprs, pplay, omega, t_seri, q_seri,                         &
    39623962     zmasse, ptconv, ratqsc, ratqs, ratqs_inter_, sigma_qtherm,   &
    39633963     qtc_cv, sigt_cv,detrain_cv,fm_cv,fqd,fqcomp,       &
     
    39893989     qraindiag, qsnowdiag, dqreva, dqssub, dqrauto,     &
    39903990     dqrcol, dqrmelt, dqrfreez, dqsauto, dqsagg, dqsrim,&
    3991      dqsmelt, dqsfreez)
     3991     dqsmelt, dqsfreez, zx_rh, zx_rhl, zx_rhi)
    39923992
    39933993    !===============================================================================
     
    41694169       ENDDO
    41704170    ENDIF
    4171 
    4172     !
    4173     ! Calculer l'humidite relative pour diagnostique
    4174     !
    4175     ! A inclure dans lmdz_call_lscp via un appel à lmdz_lscp_tools
    4176     DO k = 1, klev
    4177        DO i = 1, klon
    4178           zx_t = t_seri(i,k)
    4179           IF (thermcep) THEN
    4180              zdelta = MAX(0.,SIGN(1.,rtt-zx_t))
    4181              zx_qs  = r2es * FOEEW(zx_t,zdelta)/pplay(i,k)
    4182              zx_qs  = MIN(0.5,zx_qs)
    4183              zcor   = 1./(1.-retv*zx_qs)
    4184              zx_qs  = zx_qs*zcor
    4185           ELSE
    4186              IF (zx_t.LT.rtt) THEN                 
    4187                 zx_qs = qsats(zx_t)/pplay(i,k)
    4188              ELSE
    4189                 zx_qs = qsatl(zx_t)/pplay(i,k)
    4190              ENDIF
    4191           ENDIF
    4192           zx_rh(i,k) = q_seri(i,k)/zx_qs
    4193           IF (iflag_ice_thermo .GT. 0) THEN
    4194              zx_rhl(i,k) = MIN(q_seri(i,k)/(qsatl(zx_t)/pplay(i,k)),1.)
    4195              zx_rhi(i,k) = zx_rhl(i,k)*qsatl(zx_t)/qsats(zx_t)
    4196           ENDIF
    4197           zqsat(i,k)=zx_qs
    4198        ENDDO
    4199     ENDDO
    42004171
    42014172    !===============================================================================
Note: See TracChangeset for help on using the changeset viewer.