Changeset 5144 for LMDZ6/branches/Amaury_dev/libf/phylmd/evappot.F90
- Timestamp:
- Jul 29, 2024, 11:01:04 PM (8 weeks ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/phylmd/evappot.F90
r5143 r5144 1 SUBROUTINE evappot(klon,nbsrf,ftsol,pplay,cdragh, & 2 t_seri,q_seri,u_seri,v_seri,evap_pot) 3 USE lmdz_YOETHF 4 USE lmdz_fcttre, ONLY: foeew, foede, qsats, qsatl, dqsats, dqsatl, thermcep 1 SUBROUTINE evappot(klon, nbsrf, ftsol, pplay, cdragh, & 2 t_seri, q_seri, u_seri, v_seri, evap_pot) 3 USE lmdz_yoethf 4 USE lmdz_fcttre, ONLY: foeew, foede, qsats, qsatl, dqsats, dqsatl, thermcep 5 USE lmdz_yomcst 5 6 6 IMPLICIT NONE7 IMPLICIT NONE 7 8 8 INCLUDE "YOMCST.h" 9 INTEGER :: klon, nbsrf 10 REAL, DIMENSION(klon, nbsrf) :: ftsol, evap_pot 11 REAL, DIMENSION(klon) :: pplay, t_seri, wind, q_seri, u_seri, v_seri, cdragh 9 12 13 INTEGER :: nsrf, i 14 REAL, DIMENSION(klon, nbsrf) :: qsat_ftsol 15 REAL, DIMENSION(klon) :: rhos, norme_u 16 REAL :: t_coup 10 17 11 INTEGER :: klon, nbsrf 12 REAL, DIMENSION(klon,nbsrf) :: ftsol,evap_pot 13 REAL, DIMENSION(klon) :: pplay,t_seri,wind,q_seri,u_seri,v_seri,cdragh 18 t_coup = 234. ! Quelle horreur !!!!! 14 19 15 INTEGER :: nsrf,i 16 REAL, DIMENSION(klon,nbsrf) :: qsat_ftsol 17 REAL, DIMENSION(klon) :: rhos, norme_u 18 REAL :: t_coup 20 DO nsrf = 1, nbsrf 21 DO i = 1, klon 22 IF (ftsol(i, nsrf)<t_coup) THEN 23 qsat_ftsol(i, nsrf) = qsats(ftsol(i, nsrf)) / pplay(i) 24 ELSE 25 qsat_ftsol(i, nsrf) = qsatl(ftsol(i, nsrf)) / pplay(i) 26 ENDIF 27 ENDDO 28 ENDDO 29 ! ========================================================== c 30 ! Calcul de l'evaporation Potentielle 19 31 20 t_coup=234. ! Quelle horreur !!!!! 21 22 DO nsrf = 1, nbsrf 23 DO i = 1, klon 24 IF (ftsol(i,nsrf)<t_coup) THEN 25 qsat_ftsol(i,nsrf) = qsats(ftsol(i,nsrf))/pplay(i) 26 ELSE 27 qsat_ftsol(i,nsrf) = qsatl(ftsol(i,nsrf))/pplay(i) 28 ENDIF 29 ENDDO 30 ENDDO 31 ! ========================================================== c 32 ! Calcul de l'evaporation Potentielle 33 34 35 rhos(:) = pplay(:)/(RD*t_seri(:)) 36 norme_u(:)=1.+sqrt(u_seri(:)*u_seri(:)+v_seri(:)*v_seri(:)) 37 DO nsrf = 1, nbsrf 38 evap_pot(:,nsrf)=rhos(:)*cdragh(:)*norme_u(:)*(qsat_ftsol(:,nsrf)-q_seri(:)) 39 ENDDO 40 RETURN 32 rhos(:) = pplay(:) / (RD * t_seri(:)) 33 norme_u(:) = 1. + sqrt(u_seri(:) * u_seri(:) + v_seri(:) * v_seri(:)) 34 DO nsrf = 1, nbsrf 35 evap_pot(:, nsrf) = rhos(:) * cdragh(:) * norme_u(:) * (qsat_ftsol(:, nsrf) - q_seri(:)) 36 ENDDO 37 RETURN 41 38 42 39 END
Note: See TracChangeset
for help on using the changeset viewer.