1 | !------------------------------------------------------------------------------- |
---|
2 | |
---|
3 | ! ###################################### |
---|
4 | REAL FUNCTION QSAT_SEAWATER2(PT,PP,PSSS) |
---|
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) 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 |
---|
36 | !! and seawater. Marine Chemistry, n°8, pp 347-359. |
---|
37 | !! |
---|
38 | !! |
---|
39 | !! AUTHOR |
---|
40 | !! ------ |
---|
41 | !! S. Belamari * Meteo France * |
---|
42 | !! |
---|
43 | !! MODIFICATIONS |
---|
44 | !! ------------- |
---|
45 | !! Original 19/03/2014 |
---|
46 | !------------------------------------------------------------------------------- |
---|
47 | |
---|
48 | !* 0. DECLARATIONS |
---|
49 | ! ------------ |
---|
50 | |
---|
51 | USE MODD_CSTS, ONLY: XRD, XRV |
---|
52 | USE dimphy |
---|
53 | USE indice_sol_mod |
---|
54 | |
---|
55 | IMPLICIT NONE |
---|
56 | |
---|
57 | !* 0.1 Declarations of arguments and results |
---|
58 | |
---|
59 | |
---|
60 | REAL, DIMENSION(klon), INTENT(IN) :: PT ! Temperature |
---|
61 | ! (Kelvin) |
---|
62 | REAL, DIMENSION(klon), INTENT(IN) :: PP ! Pressure |
---|
63 | ! (Pascal) |
---|
64 | REAL, DIMENSION(klon), INTENT(IN) :: PSSS ! Salinity |
---|
65 | ! (g/kg) |
---|
66 | REAL, DIMENSION(SIZE(PT)) :: PQSATA ! saturation vapor |
---|
67 | ! specific humidity |
---|
68 | ! with respect to |
---|
69 | ! water (kg/kg) |
---|
70 | |
---|
71 | !* 0.2 Declarations of local variables |
---|
72 | |
---|
73 | REAL, DIMENSION(SIZE(PT)) :: ZFOES ! saturation vapor |
---|
74 | ! pressure |
---|
75 | ! (Pascal) |
---|
76 | |
---|
77 | REAL, DIMENSION(SIZE(PT)) :: ZWORK1 |
---|
78 | REAL :: ZWORK2 |
---|
79 | !REAL(KIND=JPRB) :: ZHOOK_HANDLE |
---|
80 | !------------------------------------------------------------------------------- |
---|
81 | |
---|
82 | !IF (LHOOK) CALL DR_HOOK('MODE_THERMOS:QSATSEAW2_1D',0,ZHOOK_HANDLE) |
---|
83 | |
---|
84 | !* 1. COMPUTE SATURATION VAPOR PRESSURE |
---|
85 | ! --------------------------------- |
---|
86 | |
---|
87 | ZFOES(:) = 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 |
---|
89 | ZFOES(:) = ZFOES(:)*1013.25E+02 !convert from atm to Pa |
---|
90 | |
---|
91 | ZWORK1(:) = ZFOES(:)/PP(:) |
---|
92 | ZWORK2 = XRD/XRV |
---|
93 | |
---|
94 | !* 2. COMPUTE SATURATION SPECIFIC HUMIDITY |
---|
95 | ! ------------------------------------ |
---|
96 | |
---|
97 | PQSATA(:) = ZWORK2*ZWORK1(:) / (1.0+(ZWORK2-1.0)*ZWORK1(:)) |
---|
98 | |
---|
99 | !IF (LHOOK) CALL DR_HOOK('MODE_THERMOS:QSATSEAW2_1D',1,ZHOOK_HANDLE) |
---|
100 | !------------------------------------------------------------------------------- |
---|
101 | |
---|
102 | END FUNCTION QSAT_SEAWATER2 |
---|
103 | |
---|
104 | !------------------------------------------------------------------------------- |
---|