1 |
|
1 |
SUBROUTINE SUPHY(KULOUT) |
2 |
|
|
|
3 |
|
|
USE YOMCT0 , ONLY : NCONF |
4 |
|
|
USE YOMHOOK ,ONLY : LHOOK, DR_HOOK |
5 |
|
|
|
6 |
|
|
!**** *SUPHY* - Calls physic specific set-up routines |
7 |
|
|
|
8 |
|
|
! Purpose. |
9 |
|
|
! -------- |
10 |
|
|
! Calls set-up routines specific to the different physics |
11 |
|
|
! packages that can be used in the IFS/ARPEGE model |
12 |
|
|
|
13 |
|
|
!** Interface. |
14 |
|
|
! ---------- |
15 |
|
|
! *CALL* *SUPHY(KULOUT) |
16 |
|
|
|
17 |
|
|
! Explicit arguments : |
18 |
|
|
! -------------------- |
19 |
|
|
! KULOUT : Logical unit for the output |
20 |
|
|
|
21 |
|
|
! Implicit arguments : |
22 |
|
|
! -------------------- |
23 |
|
|
! COMMON YOMPHY, YOEPHY |
24 |
|
|
|
25 |
|
|
! Method. |
26 |
|
|
! ------- |
27 |
|
|
! See documentation |
28 |
|
|
|
29 |
|
|
! Externals. |
30 |
|
|
! ---------- |
31 |
|
|
|
32 |
|
|
! SUPHEC |
33 |
|
|
! SUPHMF |
34 |
|
|
! SUPHYFL |
35 |
|
|
! SUHLPH |
36 |
|
|
! |
37 |
|
|
! Reference. |
38 |
|
|
! ---------- |
39 |
|
|
! ECMWF Research Department documentation of the IFS |
40 |
|
|
|
41 |
|
|
! or |
42 |
|
|
|
43 |
|
|
! Documentation ARPEGE (depending on which physics will be used) |
44 |
|
|
|
45 |
|
|
! Author. |
46 |
|
|
! ------- |
47 |
|
|
! Mats Hamrud and Philippe Courtier *ECMWF* |
48 |
|
|
! J.-F. Geleyn for the ARPEGE rewriting. |
49 |
|
|
|
50 |
|
|
! Modifications. |
51 |
|
|
! -------------- |
52 |
|
|
! Original : 87-10-15 |
53 |
|
|
! ARPEGE extension 90-9-1 |
54 |
|
|
! ARPEGE modification 90-11-24 |
55 |
|
|
! Modified by M. Deque 91-02-28 (key for Ozone) |
56 |
|
|
! Modified by M. Deque 91-03-18 (key for Negative humidity) |
57 |
|
|
! Modified by M. Deque 91-04-01 (keys for cloudiness and wavedrag) |
58 |
|
|
! Modified by J.-F. Geleyn 91-06-15 (call to SUPHMF and SUPHEC) |
59 |
|
|
! Modified by J.-J. Morcrette 91-11-12 |
60 |
|
|
! Modified by K. YESSAD (MAY 2000): remove call to EC physics setup |
61 |
|
|
! in a 2D model because some dimensionings are inconsistent and |
62 |
|
|
! generate aborts, and because 2D models are purely adiabatic ones. |
63 |
|
|
! M.Hamrud 01-Oct-2003 CY28 Cleaning |
64 |
|
|
! B.Sass 01-June-2006 (call setup for HIRLAM physics) |
65 |
|
|
! ------------------------------------------------------------------ |
66 |
|
|
|
67 |
|
|
USE PARKIND1 ,ONLY : JPIM ,JPRB |
68 |
|
|
|
69 |
|
|
IMPLICIT NONE |
70 |
|
|
|
71 |
|
|
INTEGER(KIND=JPIM),INTENT(IN) :: KULOUT |
72 |
|
|
LOGICAL :: LLSHW, LLVEQ, LL2D |
73 |
|
|
REAL(KIND=JPRB) :: ZHOOK_HANDLE |
74 |
|
|
|
75 |
|
|
#include "suphec.intfb.h" |
76 |
|
|
#include "suphmf.intfb.h" |
77 |
|
|
#include "suhlph.intfb.h" |
78 |
|
|
#include "suphyfl.intfb.h" |
79 |
|
|
#include "sumts.intfb.h" |
80 |
|
|
|
81 |
|
|
! ------------------------------------------------------------------ |
82 |
|
|
|
83 |
|
|
!* 0. Set-up LL2D (2D model switch). |
84 |
|
|
! ------------------------------ |
85 |
|
|
|
86 |
✓✗ |
1 |
IF (LHOOK) CALL DR_HOOK('SUPHY',0,ZHOOK_HANDLE) |
87 |
|
|
LLSHW=NCONF == 201.OR.NCONF == 421.OR.NCONF == 521 |
88 |
|
|
LLVEQ=NCONF == 202.OR.NCONF == 422.OR.NCONF == 522 |
89 |
|
|
LL2D=LLSHW.OR.LLVEQ |
90 |
|
|
|
91 |
|
|
! ------------------------------------------------------------------ |
92 |
|
|
|
93 |
|
|
!* 1. Call initialization of specific physics' commons. |
94 |
|
|
! ------------------------------------------------- |
95 |
|
|
|
96 |
|
|
!* 1.1 Meteo-France Physics |
97 |
|
|
! -------------------- |
98 |
|
|
|
99 |
|
1 |
print *,'---- SUPHY: avant SUPHMF' |
100 |
|
1 |
CALL SUPHMF(KULOUT) |
101 |
|
|
! |
102 |
|
1 |
print *,'---- SUPHY: avant SUGFL' |
103 |
|
|
!SUGFL: Set up unified_treatment grid-point fields |
104 |
|
1 |
CALL SUGFL |
105 |
|
|
|
106 |
|
|
|
107 |
|
|
!* 1.2 ECMWF Physics |
108 |
|
|
! ------------- |
109 |
|
|
|
110 |
|
|
! IF Commente par MPL 20.11.08 |
111 |
|
|
!IF (.NOT.LL2D) THEN |
112 |
|
1 |
CALL SUPHEC(KULOUT) |
113 |
|
|
!ENDIF |
114 |
|
|
|
115 |
|
|
! 1.3 Initialize HIRLAM physics |
116 |
|
|
! ------------------------- |
117 |
|
|
! Commente par MPL 20.11.08 |
118 |
|
|
!CALL SUHLPH(KULOUT) |
119 |
|
|
! |
120 |
|
|
! ------------------------------------------------------------------ |
121 |
|
|
|
122 |
|
|
!* 2. Initialize physics' flags commons. |
123 |
|
|
! ---------------------------------- |
124 |
|
|
|
125 |
|
|
! Commente par MPL 20.11.08 |
126 |
|
|
!CALL SUPHYFL |
127 |
|
|
|
128 |
|
|
! ------------------------------------------------------------------ |
129 |
|
|
|
130 |
|
|
!* 3. Initialize "model to satellite" RTTOV parameters. |
131 |
|
|
! ------------------------------------------------ |
132 |
|
|
|
133 |
|
|
! Commente par MPL 20.11.08 |
134 |
|
|
!CALL SUMTS |
135 |
|
|
|
136 |
|
|
! ------------------------------------------------------------------ |
137 |
|
|
|
138 |
✓✗ |
1 |
IF (LHOOK) CALL DR_HOOK('SUPHY',1,ZHOOK_HANDLE) |
139 |
|
1 |
END SUBROUTINE SUPHY |