source: LMDZ6/branches/Amaury_dev/libf/phylmd/qsatseaw_1D.F90 @ 5136

Last change on this file since 5136 was 5099, checked in by abarral, 2 months ago

Replace most uses of CPP_DUST by the corresponding logical defined in lmdz_cppkeys_wrapper.F90
Convert several files from .F to .f90 to allow Dust to compile w/o rrtm/ecrad
Create lmdz_yoerad.f90
(lint) Remove "!" on otherwise empty line

File size: 4.0 KB
RevLine 
[4661]1!-------------------------------------------------------------------------------
[5099]2
[4661]3!     ######################################
4REAL       FUNCTION QSATSEAW_1D(PT,PP)
5!     ######################################
[5099]6
[4661]7!!****  *QSATW * - function to compute saturation vapor humidity from
8!!                 temperature
9!!
10!!    PURPOSE
11!!    -------
12!       The purpose of this function is to compute the saturation vapor
13!     pressure from temperature over saline seawater
[5099]14
15
[4661]16!!**  METHOD
17!!    ------
18!!       Given temperature T (PT), the saturation vapor pressure es(T)
19!!    (FOES(PT)) is computed by integration of the Clapeyron equation
20!!    from the triple point temperature Tt (XTT) and the saturation vapor
21!!    pressure of the triple point es(Tt) (XESTT), i.e 
22!!    The reduction due to salinity is compute with the factor 0.98 (reduction of 2%)
23!!     
24!!         es(T)= 0.98*EXP( alphaw - betaw /T - gammaw Log(T) )
25!! 
26!!     with :
27!!       alphaw (XALPW) = LOG(es(Tt))+ betaw/Tt + gammaw Log(Tt)
28!!       betaw (XBETAW) = Lv(Tt)/Rv + gammaw Tt
29!!       gammaw (XGAMW) = (Cl -Cpv) /Rv
30!!
31!!      Then, the specific humidity at saturation is deduced.
32!! 
33!!
34!!    EXTERNAL
35!!    --------
36!!      NONE
37!!
38!!    IMPLICIT ARGUMENTS
39!!    ------------------
40!!      Module MODD_CST : comtains physical constants
41!!        XALPW   : Constant for saturation vapor pressure function
42!!        XBETAW  : Constant for saturation vapor pressure function
43!!        XGAMW   : Constant for saturation vapor pressure function 
44!!     
45!!    REFERENCE
46!!    ---------
47!!      Book2 of documentation of Meso-NH
48!!      Zeng, X., Zhao, M., and Dickinson, R. E., 1998 : Intercomparaison of bulk
49!!      aerodynamic algorithm for the computation of sea surface fluxes using
[5093]50!!      TOGA COARE and TAO data. Journal of Climate, vol 11, n°10, pp 2628--2644
[4661]51!!
52!!
53!!    AUTHOR
54!!    ------
55!!      C. Lebeaupin    * Meteo France *
56!!
57!!    MODIFICATIONS
58!!    -------------
59!!      Original    6/04/2005
60!-------------------------------------------------------------------------------
[5099]61
[4661]62!*       0.    DECLARATIONS
63!              ------------
[5099]64
[4661]65USE MODD_CSTS
66USE dimphy
67USE indice_sol_mod
68
69IMPLICIT NONE
70
71!*       0.1   Declarations of arguments and results
[5099]72
73
[4661]74REAL, DIMENSION(klon), INTENT(IN)                :: PT     ! Temperature
75                                                        ! (Kelvin)
76REAL, DIMENSION(klon), INTENT(IN)                :: PP     ! Pressure
77                                                        ! (Pa)
78REAL, DIMENSION(SIZE(PT))                        :: PQSAT  ! saturation vapor
79                                                        ! specific humidity
80                                                        ! with respect to
81                                                        ! water (kg/kg)
[5099]82
[4661]83!*       0.2   Declarations of local variables
[5099]84
[4661]85REAL, DIMENSION(SIZE(PT))                   :: ZFOES  ! saturation vapor
86                                                        ! pressure
87                                                        ! (Pascal)
[5099]88
[4661]89INTEGER                         :: JJ   ! loop index
90!REAL(KIND=JPRB) :: ZHOOK_HANDLE
91!-------------------------------------------------------------------------------
[5099]92
[4661]93!IF (LHOOK) CALL DR_HOOK('MODE_THERMOS:QSATSEAW_1D',0,ZHOOK_HANDLE)
94!DO JJ = 1, SIZE(PT)
95!*       1.    COMPUTE SATURATION VAPOR PRESSURE
96!              ---------------------------------
[5099]97
[4661]98ZFOES = 0.98*EXP( XALPW - XBETAW/PT - XGAMW*LOG(PT)  )
99! vapor pressure reduction of 2% over saline seawater could have a significant
100! impact on the computation of surface latent heat flux under strong wind
101! conditions (Zeng et al, 1998).
[5099]102
[4661]103!*       2.    COMPUTE SATURATION HUMIDITY
104!              ---------------------------
[5099]105
[4661]106PQSAT = XRD/XRV*ZFOES/PP /(1.+(XRD/XRV-1.)*ZFOES/PP) 
[5099]107
[4661]108!ENDDO
109!IF (LHOOK) CALL DR_HOOK('MODE_THERMOS:QSATSEAW_1D',1,ZHOOK_HANDLE)
110!-------------------------------------------------------------------------------
[5099]111
[4661]112END FUNCTION QSATSEAW_1D
113!------------------------------------
Note: See TracBrowser for help on using the repository browser.