| [4661] | 1 | !------------------------------------------------------------------------------- |
|---|
| [5099] | 2 | |
|---|
| [4661] | 3 | ! ###################################### |
|---|
| 4 | REAL 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] | 65 | USE MODD_CSTS |
|---|
| 66 | USE dimphy |
|---|
| 67 | USE indice_sol_mod |
|---|
| 68 | |
|---|
| 69 | IMPLICIT NONE |
|---|
| 70 | |
|---|
| 71 | !* 0.1 Declarations of arguments and results |
|---|
| [5099] | 72 | |
|---|
| 73 | |
|---|
| [4661] | 74 | REAL, DIMENSION(klon), INTENT(IN) :: PT ! Temperature |
|---|
| 75 | ! (Kelvin) |
|---|
| 76 | REAL, DIMENSION(klon), INTENT(IN) :: PP ! Pressure |
|---|
| 77 | ! (Pa) |
|---|
| 78 | REAL, 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] | 85 | REAL, DIMENSION(SIZE(PT)) :: ZFOES ! saturation vapor |
|---|
| 86 | ! pressure |
|---|
| 87 | ! (Pascal) |
|---|
| [5099] | 88 | |
|---|
| [4661] | 89 | INTEGER :: 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] | 98 | ZFOES = 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] | 106 | PQSAT = 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] | 112 | END FUNCTION QSATSEAW_1D |
|---|
| 113 | !------------------------------------ |
|---|