source: LMDZ6/branches/Amaury_dev/libf/phylmd/qsat_seawater.F90 @ 5185

Last change on this file since 5185 was 5099, checked in by abarral, 5 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.1 KB
Line 
1!-------------------------------------------------------------------------------
2
3!     ######################################
4REAL      FUNCTION QSAT_SEAWATER(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
89REAL, DIMENSION(SIZE(PT))                   :: ZWORK1
90REAL                                        :: ZWORK2
91!REAL(KIND=JPRB) :: ZHOOK_HANDLE
92!-------------------------------------------------------------------------------
93
94!IF (LHOOK) CALL DR_HOOK('MODE_THERMOS:QSATSEAW_1D',0,ZHOOK_HANDLE)
95
96!ZFOES  = 1 !PSAT(PT(:))
97!ZFOES  = 0.98*ZFOES
98!ZFOES(:) = ZFOES(:)*1013.25E+02             !convert from atm to Pa
99ZFOES = 0.98*EXP( XALPW - XBETAW/PT - XGAMW*LOG(PT)  )
100! vapor pressure reduction of 2% over saline seawater could have a significant
101! impact on the computation of surface latent heat flux under strong wind
102! conditions (Zeng et al, 1998).
103
104ZWORK1 = ZFOES/PP
105ZWORK2    = XRD/XRV
106
107!*       2.    COMPUTE SATURATION HUMIDITY
108!              ---------------------------
109
110PQSAT = ZWORK2*ZWORK1 / (1.+(ZWORK2-1.)*ZWORK1)
111
112!IF (LHOOK) CALL DR_HOOK('MODE_THERMOS:QSATSEAW_1D',1,ZHOOK_HANDLE)
113!-------------------------------------------------------------------------------
114
115END FUNCTION QSAT_SEAWATER
116
117!-------------------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.