1 |
|
|
!----------------------------------------------------------------------- |
2 |
|
|
SUBROUTINE SURHCRI(KULOUT) |
3 |
|
|
!----------------------------------------------------------------------- |
4 |
|
|
! |
5 |
|
|
!**** *SURHCRI * - COMPUTATION OF THE CRTITICAL RELATIVE HUMIDITY |
6 |
|
|
! PROFILE FOR SMITH'S CONDENSATION SCHEME. |
7 |
|
|
! |
8 |
|
|
!** Interface. |
9 |
|
|
! ---------- |
10 |
|
|
! *CALL* *SURHCRI* |
11 |
|
|
! |
12 |
|
|
!----------------------------------------------------------------------- |
13 |
|
|
! |
14 |
|
|
! - ARGUMENTS D'ENTREE./INPUT ARGUMENTS. |
15 |
|
|
! ------------------------------------ |
16 |
|
|
! |
17 |
|
|
!----------------------------------------------------------------------- |
18 |
|
|
! |
19 |
|
|
! - ARGUMENTS IMPLICITES. |
20 |
|
|
! --------------------- |
21 |
|
|
! |
22 |
|
|
! COMMON /YOMPHY/ |
23 |
|
|
! COMMON /YOMPHY0/ |
24 |
|
|
! |
25 |
|
|
!* |
26 |
|
|
!----------------------------------------------------------------------- |
27 |
|
|
! |
28 |
|
|
! Auteur. |
29 |
|
|
! ------- |
30 |
|
|
! 05-03, Luc Gerard (from Ph. Lopez acrhcri) |
31 |
|
|
! |
32 |
|
|
! Modifications. |
33 |
|
|
! -------------- |
34 |
|
|
! 06-10, nettoyage - R. Brozkova |
35 |
|
|
!----------------------------------------------------------------------- |
36 |
|
|
! |
37 |
|
|
USE PARKIND1 ,ONLY : JPIM ,JPRB |
38 |
|
|
USE YOMHOOK ,ONLY : LHOOK, DR_HOOK |
39 |
|
|
! |
40 |
|
|
USE YOMPHY0 , ONLY : RHCRIT1, RHCRIT2, RETAMIN, GRHCMOD, RHCRI ,NRHCRI |
41 |
|
|
USE YOMDIM , ONLY : NFLEVG |
42 |
|
|
USE YOMGC , ONLY : GAW, GM |
43 |
|
|
USE YOMGEM , ONLY : VP00, TEQH |
44 |
|
|
USE YOMPHY , ONLY : LGWRHCRI |
45 |
|
|
USE YOMSTA , ONLY : STPRE |
46 |
|
|
|
47 |
|
|
IMPLICIT NONE |
48 |
|
|
|
49 |
|
|
INTEGER (KIND=JPIM),INTENT(IN) :: KULOUT |
50 |
|
|
|
51 |
|
|
! LOCAL |
52 |
|
|
|
53 |
|
|
REAL(KIND=JPRB) :: ZVETAF |
54 |
|
|
REAL(KIND=JPRB) :: ZGAW0,ZEGAW,ZFACT,ZFACT0,ZFACTA,ZFACTB,ZFACTC, & |
55 |
|
|
& ZA,ZB,ZC |
56 |
|
|
INTEGER (KIND=JPIM) :: JLEV |
57 |
|
|
REAL(KIND=JPRB) :: ZHOOK_HANDLE |
58 |
|
|
IF (LHOOK) CALL DR_HOOK('SURHCRI',0,ZHOOK_HANDLE) |
59 |
|
|
|
60 |
|
|
! ------------------------------------------------------------------ |
61 |
|
|
|
62 |
|
|
IF(NRHCRI == NFLEVG) THEN |
63 |
|
|
|
64 |
|
|
! ------------------------------------------------------------------ |
65 |
|
|
|
66 |
|
|
! CRITICAL RELATIVE HUMIDITY PROFILE |
67 |
|
|
! DEPENDENT ON THE LOCAL RESOLUTION. |
68 |
|
|
! ---------------------------------- |
69 |
|
|
|
70 |
|
|
ZFACT0=(RETAMIN*(RETAMIN-1._JPRB))**2 |
71 |
|
|
ZFACTA=(2._JPRB*RETAMIN-1._JPRB) |
72 |
|
|
ZFACTB=(1._JPRB-3._JPRB*RETAMIN**2) |
73 |
|
|
ZFACTC=(3._JPRB*RETAMIN-2._JPRB)*RETAMIN |
74 |
|
|
IF (LGWRHCRI) THEN |
75 |
|
|
ZGAW0=2.42E-05_JPRB |
76 |
|
|
ZEGAW=(1.0_JPRB-EXP(-GAW(1)/ZGAW0))/ZFACT0 |
77 |
|
|
ELSE |
78 |
|
|
ZEGAW=(1.0_JPRB-GRHCMOD*EXP(-1.0_JPRB/(TEQH*GM(1))))/ZFACT0 |
79 |
|
|
ENDIF |
80 |
|
|
|
81 |
|
|
ZFACT=(RHCRIT2-RHCRIT1)*ZEGAW |
82 |
|
|
ZA=ZFACTA*ZFACT |
83 |
|
|
ZB=ZFACTB*ZFACT |
84 |
|
|
ZC=ZFACTC*ZFACT |
85 |
|
|
|
86 |
|
|
DO JLEV=1,NFLEVG |
87 |
|
|
ZVETAF=STPRE (JLEV)/VP00 |
88 |
|
|
RHCRI(JLEV) = ZA * ZVETAF**3 & |
89 |
|
|
& + ZB * ZVETAF**2 & |
90 |
|
|
& + ZC * ZVETAF & |
91 |
|
|
& + RHCRIT2 |
92 |
|
|
ENDDO |
93 |
|
|
|
94 |
|
|
WRITE(KULOUT,'(A)') 'RHCRI: SMITH SCHEME CRITICAL RH PROFILE:' |
95 |
|
|
WRITE(KULOUT,'((10(G9.3)))') (RHCRI(JLEV),JLEV=1,NFLEVG) |
96 |
|
|
ELSE |
97 |
|
|
WRITE(KULOUT,*) 'NRHCRI=',NRHCRI,': GLOBAL MODEL, NO RHCRI INITIALISATION IN SETUP' |
98 |
|
|
ENDIF |
99 |
|
|
IF (LHOOK) CALL DR_HOOK('SURHCRI',1,ZHOOK_HANDLE) |
100 |
|
|
END SUBROUTINE SURHCRI |