55 USE yomhook
,ONLY : lhook, dr_hook
56 USE parkind1
,ONLY : jprb
69 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
76 CHARACTER(LEN=12) :: yrecfm
77 CHARACTER(LEN=80) :: ycomment
82 REAL,
DIMENSION(TG%NDIM) :: zwork
83 REAL(KIND=JPRB) :: zhook_handle
86 IF (lhook) CALL dr_hook(
'READ_PGD_TEB_IRRIG_N',0,zhook_handle)
92 hprogram,yrecfm,iversion,iresp)
95 hprogram,yrecfm,ibugfix,iresp)
97 IF (iversion<7 .OR. (iversion==7 .AND. ibugfix<=3))
THEN
99 tir%LPAR_GD_IRRIG = .false.
100 tir%LPAR_GR_IRRIG = .false.
101 tir%LPAR_RD_IRRIG = .false.
105 yrecfm=
'L_PAR_GD_IRR'
107 hprogram,yrecfm,tir%LPAR_GD_IRRIG,iresp)
108 yrecfm=
'L_PAR_GR_IRR'
110 hprogram,yrecfm,tir%LPAR_GR_IRRIG,iresp)
111 yrecfm=
'L_PAR_RD_IRR'
113 hprogram,yrecfm,tir%LPAR_RD_IRRIG,iresp)
119 IF (tir%LPAR_GD_IRRIG)
THEN
120 ALLOCATE(tir%XGD_START_MONTH(tg%NDIM))
123 hprogram,yrecfm,tir%XGD_START_MONTH(:),iresp,hcomment=ycomment)
125 ALLOCATE(tir%XGD_END_MONTH (tg%NDIM))
128 hprogram,yrecfm,tir%XGD_END_MONTH (:),iresp,hcomment=ycomment)
130 ALLOCATE(tir%XGD_START_HOUR (tg%NDIM))
133 hprogram,yrecfm,tir%XGD_START_HOUR (:),iresp,hcomment=ycomment)
135 ALLOCATE(tir%XGD_END_HOUR (tg%NDIM))
138 hprogram,yrecfm,tir%XGD_END_HOUR (:),iresp,hcomment=ycomment)
140 ALLOCATE(tir%XGD_24H_IRRIG (tg%NDIM))
143 hprogram,yrecfm,tir%XGD_24H_IRRIG (:),iresp,hcomment=ycomment)
145 ALLOCATE(tir%XGD_START_MONTH(0))
146 ALLOCATE(tir%XGD_END_MONTH (0))
147 ALLOCATE(tir%XGD_START_HOUR (0))
148 ALLOCATE(tir%XGD_END_HOUR (0))
149 ALLOCATE(tir%XGD_24H_IRRIG (0))
154 IF (tir%LPAR_GR_IRRIG)
THEN
155 ALLOCATE(tir%XGR_START_MONTH(tg%NDIM))
158 hprogram,yrecfm,tir%XGR_START_MONTH(:),iresp,hcomment=ycomment)
160 ALLOCATE(tir%XGR_END_MONTH (tg%NDIM))
163 hprogram,yrecfm,tir%XGR_END_MONTH (:),iresp,hcomment=ycomment)
165 ALLOCATE(tir%XGR_START_HOUR (tg%NDIM))
168 hprogram,yrecfm,tir%XGR_START_HOUR (:),iresp,hcomment=ycomment)
170 ALLOCATE(tir%XGR_END_HOUR (tg%NDIM))
173 hprogram,yrecfm,tir%XGR_END_HOUR (:),iresp,hcomment=ycomment)
175 ALLOCATE(tir%XGR_24H_IRRIG (tg%NDIM))
178 hprogram,yrecfm,tir%XGR_24H_IRRIG (:),iresp,hcomment=ycomment)
180 ALLOCATE(tir%XGR_START_MONTH(0))
181 ALLOCATE(tir%XGR_END_MONTH (0))
182 ALLOCATE(tir%XGR_START_HOUR (0))
183 ALLOCATE(tir%XGR_END_HOUR (0))
184 ALLOCATE(tir%XGR_24H_IRRIG (0))
189 IF (tir%LPAR_RD_IRRIG)
THEN
190 ALLOCATE(tir%XRD_START_MONTH(tg%NDIM))
193 hprogram,yrecfm,tir%XRD_START_MONTH(:),iresp,hcomment=ycomment)
195 ALLOCATE(tir%XRD_END_MONTH (tg%NDIM))
198 hprogram,yrecfm,tir%XRD_END_MONTH (:),iresp,hcomment=ycomment)
200 ALLOCATE(tir%XRD_START_HOUR (tg%NDIM))
203 hprogram,yrecfm,tir%XRD_START_HOUR (:),iresp,hcomment=ycomment)
205 ALLOCATE(tir%XRD_END_HOUR (tg%NDIM))
208 hprogram,yrecfm,tir%XRD_END_HOUR (:),iresp,hcomment=ycomment)
210 ALLOCATE(tir%XRD_24H_IRRIG (tg%NDIM))
213 hprogram,yrecfm,tir%XRD_24H_IRRIG (:),iresp,hcomment=ycomment)
215 ALLOCATE(tir%XRD_START_MONTH(0))
216 ALLOCATE(tir%XRD_END_MONTH (0))
217 ALLOCATE(tir%XRD_START_HOUR (0))
218 ALLOCATE(tir%XRD_END_HOUR (0))
219 ALLOCATE(tir%XRD_24H_IRRIG (0))
223 IF (lhook) CALL dr_hook(
'READ_PGD_TEB_IRRIG_N',1,zhook_handle)
subroutine get_luout(HPROGRAM, KLUOUT)
subroutine read_pgd_teb_irrig_n(TG, TIR, HPROGRAM)