Ignore:
Timestamp:
Sep 23, 2024, 2:23:42 PM (8 hours ago)
Author:
abarral
Message:

Rename lmdz_xer.f90 to slatec_xer.f90
Rename lmdz_libmath_pch.f90 to slatec_libmath_pch.f90
Merge r5138, r5149 from trunk which had been missed in previous merges

Location:
LMDZ6/branches/Amaury_dev
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev

  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/reevap.F90

    r5160 r5218  
    2828    REAL, DIMENSION(klon,klev,nqtot), INTENT(IN) ::     qx
    2929    REAL, DIMENSION(klon,klev), INTENT(OUT) :: d_t_eva
    30     REAL, DIMENSION(klon,klev,nqtot), INTENT(OUT) ::        d_qx_eva
     30    REAL, DIMENSION(klon,klev,nqtot), INTENT(OUT) ::    d_qx_eva
    3131
    3232    REAL za,zb,zdelta,zlvdcp,zlsdcp
     
    3535    !--------Stochastic Boundary Layer Triggering: ALE_BL--------
    3636
    37 DO ixt=1,1+ntiso
     37DO ixt = 1, 1+ntiso
    3838    ! Re-evaporer l'eau liquide nuageuse
    3939
     
    4343!PRINT *,'rrevap ; fl_cor_ebil:',fl_cor_ebil,' iflag_ice_thermo:',iflag_ice_thermo,' RVTMP2',RVTMP2
    4444    DO k = 1, klev  ! re-evaporation de l'eau liquide nuageuse
    45        DO i = 1, klon
     45      DO i = 1, klon
    4646
    47         IF (ixt==1) THEN
     47        IF (ixt == 1) THEN ! water
    4848         IF (fl_cor_ebil > 0) THEN
    4949          !zlvdcp=RLVTT/RCPD/(1.0+RVTMP2*(q_seri(i,k)+ql_seri(i,k)+qs_seri(i,k)))
     
    5151          zlvdcp=RLVTT/RCPD/(1.0+RVTMP2*(qx(i,k,ivapcur)+qx(i,k,iliqcur)+qx(i,k,isolcur)))
    5252          zlsdcp=RLSTT/RCPD/(1.0+RVTMP2*(qx(i,k,ivapcur)+qx(i,k,iliqcur)+qx(i,k,isolcur)))
    53          else
     53         ELSE
    5454           zlvdcp=RLVTT/RCPD/(1.0+RVTMP2*qx(i,k,ivapcur))
    5555           !jyg<
     
    5757           !                  A verifier !!!
    5858           zlsdcp=RLSTT/RCPD/(1.0+RVTMP2*qx(i,k,ivapcur))
    59          end if
     59         END IF
    6060         IF (iflag_ice_thermo == 0) THEN
    6161             zlsdcp=zlvdcp
    62          ENDIF
     62         END IF
    6363          !>jyg
     64        END IF
     65        IF (iflag_ice_thermo == 0) THEN
     66          !pas necessaire a priori
     67
     68          zdelta = MAX(0., SIGN(1., RTT - t_seri(i, k)))
     69          zdelta = 0.
     70          zb = MAX(0.0, qx(i, k, iliqcur))
     71          IF (ixt == 1) THEN
     72            za = - MAX(0.0, qx(i, k, iliqcur)) &
     73                    * (zlvdcp * (1. - zdelta) + zlsdcp * zdelta)
     74            d_t_eva(i, k) = za
     75          END IF
     76          d_qx_eva(i, k, ivapcur) = zb
     77          d_qx_eva(i, k, iliqcur) = -qx(i, k, iliqcur)
     78          d_qx_eva(i, k, isolcur) = 0.
     79
     80        ELSE
     81
    6482             !CR: on r\'e-\'evapore eau liquide et glace
    6583
     
    6886             !        za = - MAX(0.0,ql_seri(i,k)) &
    6987             !             * (zlvdcp*(1.-zdelta)+zlsdcp*zdelta)
    70              za = - MAX(0.0,qx(i,k,iliqcur))*zlvdcp &
    71                   - MAX(0.0,qx(i,k,iliqcur))*zlsdcp
    72              d_t_eva(i,k) = za
     88          IF (ixt == 1) THEN
     89            za = - MAX(0.0, qx(i, k, iliqcur)) * zlvdcp &
     90                    - MAX(0.0, qx(i, k, iliqcur)) * zlsdcp
     91            d_t_eva(i, k) = za
    7392
    74           endif !if (ixt.EQ.1) THEN
     93          END IF
    7594            !zb = MAX(0.0,ql_seri(i,k)+qs_seri(i,k))
    7695            !d_q_eva(i,k) = zb
     
    82101            d_qx_eva(i,k,iliqcur) = -qx(i,k,iliqcur)
    83102            d_qx_eva(i,k,isolcur) = -qx(i,k,isolcur)
     103        END IF
    84104
    85105
    86        ENDDO
    87     ENDDO
     106      END DO
     107    END DO
    88108
    89     enddo ! do ixt=1,1+niso*(nzone +1)
    90 
     109    END DO ! DO ixt = 1, 1+niso*(nzone +1)
    91110
    92111
Note: See TracChangeset for help on using the changeset viewer.