source: LMDZ6/branches/Amaury_dev/libf/phylmd/qsat_seawater2.F90 @ 5218

Last change on this file since 5218 was 5101, checked in by abarral, 5 months ago

Handle DEBUG_IO in lmdz_cppkeys_wrapper.F90
Transform some files .F -> .[fF]90
[ne compile pas à cause de writefield_u non défini - en attente de réponse Laurent]

File size: 3.5 KB
RevLine 
[4661]1!-------------------------------------------------------------------------------
[5099]2
[4661]3!     ######################################
4REAL      FUNCTION QSAT_SEAWATER2(PT,PP,PSSS)
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) and salinity S (PSSS), the saturation vapor
19!!    pressure es(T,S) (FOES(PT,PSSS)) is computed following Weiss and Price
20!!    (1980).
21!!
22!!      Then, the specific humidity at saturation is deduced.
23!! 
24!!
25!!    EXTERNAL
26!!    --------
27!!      NONE
28!!
29!!    IMPLICIT ARGUMENTS
30!!    ------------------
31!!      Module MODD_CST : contains physical constants
32!!     
33!!    REFERENCE
34!!    ---------
35!!      Weiss, R.F., and Price, B.A., 1980 : Nitrous oxide solubility in water
[5093]36!!      and seawater. Marine Chemistry, n°8, pp 347-359.
[4661]37!!
38!!
39!!    AUTHOR
40!!    ------
41!!      S. Belamari     * Meteo France *
42!!
43!!    MODIFICATIONS
44!!    -------------
45!!      Original    19/03/2014
46!-------------------------------------------------------------------------------
[5099]47
[4661]48!*       0.    DECLARATIONS
49!              ------------
[5099]50
[5101]51USE MODD_CSTS, ONLY: XRD, XRV
[4661]52USE dimphy
53USE indice_sol_mod
[5099]54
[4661]55IMPLICIT NONE
[5099]56
[4661]57!*       0.1   Declarations of arguments and results
[5099]58
59
[4661]60REAL, DIMENSION(klon), INTENT(IN)                :: PT     ! Temperature
61                                                        ! (Kelvin)
62REAL, DIMENSION(klon), INTENT(IN)                :: PP     ! Pressure
63                                                        ! (Pascal)
64REAL, DIMENSION(klon), INTENT(IN)                :: PSSS   ! Salinity
65                                                        ! (g/kg)
66REAL, DIMENSION(SIZE(PT))                   :: PQSATA  ! saturation vapor
67                                                        ! specific humidity
68                                                        ! with respect to
69                                                        ! water (kg/kg)
[5099]70
[4661]71!*       0.2   Declarations of local variables
[5099]72
[4661]73REAL, DIMENSION(SIZE(PT))                   :: ZFOES  ! saturation vapor
74                                                        ! pressure
75                                                        ! (Pascal)
[5099]76
[4661]77REAL, DIMENSION(SIZE(PT))                   :: ZWORK1
78REAL                                        :: ZWORK2
79!REAL(KIND=JPRB) :: ZHOOK_HANDLE
80!-------------------------------------------------------------------------------
[5099]81
[4661]82!IF (LHOOK) CALL DR_HOOK('MODE_THERMOS:QSATSEAW2_1D',0,ZHOOK_HANDLE)
[5099]83
[4661]84!*       1.    COMPUTE SATURATION VAPOR PRESSURE
85!              ---------------------------------
[5099]86
[4661]87ZFOES(:) = EXP( 24.4543 -67.4509*(100.0/PT(:)) -4.8489*LOG(PT(:)/100.0)   &
88                -5.44E-04*(PSSS(:)/1.00472) ) !see Sharqawy et al (2010) Eq32 p368
89ZFOES(:) = ZFOES(:)*1013.25E+02             !convert from atm to Pa
[5099]90
[4661]91ZWORK1(:) = ZFOES(:)/PP(:)
92ZWORK2    = XRD/XRV
[5099]93
[4661]94!*       2.    COMPUTE SATURATION SPECIFIC HUMIDITY
95!              ------------------------------------
[5099]96
[4661]97PQSATA(:) = ZWORK2*ZWORK1(:) / (1.0+(ZWORK2-1.0)*ZWORK1(:))
[5099]98
[4661]99!IF (LHOOK) CALL DR_HOOK('MODE_THERMOS:QSATSEAW2_1D',1,ZHOOK_HANDLE)
100!-------------------------------------------------------------------------------
[5099]101
[4661]102END FUNCTION QSAT_SEAWATER2
[5099]103
[4661]104!-------------------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.