Ignore:
Timestamp:
Jul 29, 2024, 11:01:04 PM (8 weeks ago)
Author:
abarral
Message:

Put YOMCST.h into modules

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
     1SUBROUTINE 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
    56
    6 IMPLICIT NONE
     7  IMPLICIT NONE
    78
    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
    912
     13  INTEGER :: nsrf, i
     14  REAL, DIMENSION(klon, nbsrf) :: qsat_ftsol
     15  REAL, DIMENSION(klon) :: rhos, norme_u
     16  REAL :: t_coup
    1017
    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 !!!!!
    1419
    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
    1931
    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
    4138
    4239END
Note: See TracChangeset for help on using the changeset viewer.