source: LMDZ6/trunk/libf/phylmd/qsatseaw_1D.f90 @ 5308

Last change on this file since 5308 was 5268, checked in by abarral, 8 days ago

.f90 <-> .F90 depending on cpp key use

File size: 4.0 KB
Line 
1!-------------------------------------------------------------------------------
2!
3!     ######################################
4REAL       FUNCTION QSATSEAW_1D(PT,PP)
5!     ######################################
6!
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
14!     
15!
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
50!!      TOGA COARE and TAO data. Journal of Climate, vol 11, n�10, pp 2628--2644
51!!
52!!
53!!    AUTHOR
54!!    ------
55!!      C. Lebeaupin    * Meteo France *
56!!
57!!    MODIFICATIONS
58!!    -------------
59!!      Original    6/04/2005
60!-------------------------------------------------------------------------------
61!
62!*       0.    DECLARATIONS
63!              ------------
64!
65USE MODD_CSTS
66USE dimphy
67USE indice_sol_mod
68
69IMPLICIT NONE
70
71!*       0.1   Declarations of arguments and results
72!
73!
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)
82!
83!*       0.2   Declarations of local variables
84!
85REAL, DIMENSION(SIZE(PT))                   :: ZFOES  ! saturation vapor
86                                                        ! pressure
87                                                        ! (Pascal)
88!
89INTEGER                         :: JJ   ! loop index
90!REAL(KIND=JPRB) :: ZHOOK_HANDLE
91!-------------------------------------------------------------------------------
92!
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!              ---------------------------------
97!
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).
102!
103!*       2.    COMPUTE SATURATION HUMIDITY
104!              ---------------------------
105!
106PQSAT = XRD/XRV*ZFOES/PP /(1.+(XRD/XRV-1.)*ZFOES/PP) 
107!
108!ENDDO
109!IF (LHOOK) CALL DR_HOOK('MODE_THERMOS:QSATSEAW_1D',1,ZHOOK_HANDLE)
110!-------------------------------------------------------------------------------
111!
112END FUNCTION QSATSEAW_1D
113!------------------------------------
Note: See TracBrowser for help on using the repository browser.