64 TYPE(
grid_t),
INTENT(INOUT) :: G
67 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
74 CHARACTER(LEN=12) :: YRECFM
75 CHARACTER(LEN=80) :: YCOMMENT
80 REAL,
DIMENSION(G%NDIM) :: ZWORK
81 REAL(KIND=JPRB) :: ZHOOK_HANDLE
84 IF (
lhook)
CALL dr_hook(
'READ_PGD_TEB_IRRIG_N',0,zhook_handle)
89 CALL read_surf(hprogram,yrecfm,iversion,iresp)
91 CALL read_surf(hprogram,yrecfm,ibugfix,iresp)
93 IF (iversion<7 .OR. (iversion==7 .AND. ibugfix<=3))
THEN 95 tir%LPAR_GD_IRRIG = .false.
96 tir%LPAR_GR_IRRIG = .false.
97 tir%LPAR_RD_IRRIG = .false.
101 yrecfm=
'L_PAR_GD_IRR' 102 CALL read_surf(hprogram,yrecfm,tir%LPAR_GD_IRRIG,iresp)
103 yrecfm=
'L_PAR_GR_IRR' 104 CALL read_surf(hprogram,yrecfm,tir%LPAR_GR_IRRIG,iresp)
105 yrecfm=
'L_PAR_RD_IRR' 106 CALL read_surf(hprogram,yrecfm,tir%LPAR_RD_IRRIG,iresp)
112 IF (tir%LPAR_GD_IRRIG)
THEN 113 ALLOCATE(tir%XGD_START_MONTH(g%NDIM))
115 CALL read_surf(hprogram,yrecfm,tir%XGD_START_MONTH(:),iresp,hcomment=ycomment
117 ALLOCATE(tir%XGD_END_MONTH (g%NDIM))
119 CALL read_surf(hprogram,yrecfm,tir%XGD_END_MONTH (:),iresp,hcomment=ycomment
121 ALLOCATE(tir%XGD_START_HOUR (g%NDIM))
123 CALL read_surf(hprogram,yrecfm,tir%XGD_START_HOUR (:),iresp,hcomment=ycomment
125 ALLOCATE(tir%XGD_END_HOUR (g%NDIM))
127 CALL read_surf(hprogram,yrecfm,tir%XGD_END_HOUR (:),iresp,hcomment=ycomment
129 ALLOCATE(tir%XGD_24H_IRRIG (g%NDIM))
131 CALL read_surf(hprogram,yrecfm,tir%XGD_24H_IRRIG (:),iresp,hcomment=ycomment
133 ALLOCATE(tir%XGD_START_MONTH(0))
134 ALLOCATE(tir%XGD_END_MONTH (0))
135 ALLOCATE(tir%XGD_START_HOUR (0))
136 ALLOCATE(tir%XGD_END_HOUR (0))
137 ALLOCATE(tir%XGD_24H_IRRIG (0))
142 IF (tir%LPAR_GR_IRRIG)
THEN 143 ALLOCATE(tir%XGR_START_MONTH(g%NDIM))
145 CALL read_surf(hprogram,yrecfm,tir%XGR_START_MONTH(:),iresp,hcomment=ycomment
147 ALLOCATE(tir%XGR_END_MONTH (g%NDIM))
149 CALL read_surf(hprogram,yrecfm,tir%XGR_END_MONTH (:),iresp,hcomment=ycomment
151 ALLOCATE(tir%XGR_START_HOUR (g%NDIM))
153 CALL read_surf(hprogram,yrecfm,tir%XGR_START_HOUR (:),iresp,hcomment=ycomment
155 ALLOCATE(tir%XGR_END_HOUR (g%NDIM))
157 CALL read_surf(hprogram,yrecfm,tir%XGR_END_HOUR (:),iresp,hcomment=ycomment
159 ALLOCATE(tir%XGR_24H_IRRIG (g%NDIM))
161 CALL read_surf(hprogram,yrecfm,tir%XGR_24H_IRRIG (:),iresp,hcomment=ycomment
163 ALLOCATE(tir%XGR_START_MONTH(0))
164 ALLOCATE(tir%XGR_END_MONTH (0))
165 ALLOCATE(tir%XGR_START_HOUR (0))
166 ALLOCATE(tir%XGR_END_HOUR (0))
167 ALLOCATE(tir%XGR_24H_IRRIG (0))
172 IF (tir%LPAR_RD_IRRIG)
THEN 173 ALLOCATE(tir%XRD_START_MONTH(g%NDIM))
175 CALL read_surf(hprogram,yrecfm,tir%XRD_START_MONTH(:),iresp,hcomment=ycomment
177 ALLOCATE(tir%XRD_END_MONTH (g%NDIM))
179 CALL read_surf(hprogram,yrecfm,tir%XRD_END_MONTH (:),iresp,hcomment=ycomment
181 ALLOCATE(tir%XRD_START_HOUR (g%NDIM))
183 CALL read_surf(hprogram,yrecfm,tir%XRD_START_HOUR (:),iresp,hcomment=ycomment
185 ALLOCATE(tir%XRD_END_HOUR (g%NDIM))
187 CALL read_surf(hprogram,yrecfm,tir%XRD_END_HOUR (:),iresp,hcomment=ycomment
189 ALLOCATE(tir%XRD_24H_IRRIG (g%NDIM))
191 CALL read_surf(hprogram,yrecfm,tir%XRD_24H_IRRIG (:),iresp,hcomment=ycomment
193 ALLOCATE(tir%XRD_START_MONTH(0))
194 ALLOCATE(tir%XRD_END_MONTH (0))
195 ALLOCATE(tir%XRD_START_HOUR (0))
196 ALLOCATE(tir%XRD_END_HOUR (0))
197 ALLOCATE(tir%XRD_24H_IRRIG (0))
201 IF (
lhook)
CALL dr_hook(
'READ_PGD_TEB_IRRIG_N',1,zhook_handle)
subroutine get_luout(HPROGRAM, KLUOUT)
subroutine read_pgd_teb_irrig_n(G, TIR, HPROGRAM)