1 SUBROUTINE trans_inq(KRESOL,KSPEC,KSPEC2,KSPEC2G,KSPEC2MX,KNUMP,&
2 &kgptot,kgptotg,kgptotmx,kgptotl,&
3 &kmyms,kasm0,kumpp,kpossp,kptrms,kallms,kdim0g,&
4 &kfrstlat,klstlat,kfrstloff,kptrlat,&
5 &kptrfrstlat,kptrlstlat,kptrfloff,
ksta,konl,&
8 &pmu,pgw,prpnm,klei3,kspolegl,kpms)
117 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(IN) :: KRESOL
119 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KSPEC
120 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KSPEC2
121 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KSPEC2G
122 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KSPEC2MX
123 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KNUMP
124 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KGPTOT
125 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KGPTOTG
126 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KGPTOTMX
127 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KGPTOTL(:,:)
128 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KFRSTLOFF
129 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KPTRFLOFF
131 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KMYMS(:)
132 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KASM0(0:)
133 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KUMPP(:)
134 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KPOSSP(:)
135 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KPTRMS(:)
136 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KALLMS(:)
137 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KDIM0G(0:)
138 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KFRSTLAT(:)
139 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KLSTLAT(:)
140 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KPTRLAT(:)
141 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KPTRFRSTLAT(:)
142 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KPTRLSTLAT(:)
143 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KSTA(:,:)
144 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KONL(:,:)
145 LOGICAL ,
OPTIONAL,
INTENT(OUT) :: LDSPLITLAT(:)
147 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KULTPP(:)
148 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KPTRLS(:)
150 REAL(KIND=JPRB) ,
OPTIONAL,
INTENT(OUT) :: PMU(:)
151 REAL(KIND=JPRB) ,
OPTIONAL,
INTENT(OUT) :: PGW(:)
152 REAL(KIND=JPRB) ,
OPTIONAL,
INTENT(OUT) :: PRPNM(:,:)
153 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KLEI3
154 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KSPOLEGL
155 INTEGER(KIND=JPIM) ,
OPTIONAL,
INTENT(OUT) :: KPMS(0:)
159 INTEGER(KIND=JPIM) :: IU1,IU2
166 IF(
PRESENT(kspec)) kspec =
d%NSPEC
167 IF(
PRESENT(kspec2)) kspec2 =
d%NSPEC2
168 IF(
PRESENT(kspec2g)) kspec2g =
r%NSPEC2_G
169 IF(
PRESENT(kspec2mx)) kspec2mx =
d%NSPEC2MX
170 IF(
PRESENT(knump)) knump =
d%NUMP
171 IF(
PRESENT(kgptot)) kgptot =
d%NGPTOT
172 IF(
PRESENT(kgptotg)) kgptotg =
d%NGPTOTG
173 IF(
PRESENT(kgptotmx)) kgptotmx =
d%NGPTOTMX
174 IF(
PRESENT(kfrstloff)) kfrstloff =
d%NFRSTLOFF
175 IF(
PRESENT(kptrfloff)) kptrfloff =
d%NPTRFLOFF
177 IF(
PRESENT(kgptotl))
THEN
179 CALL abort_trans(
'TRANS_INQ: KGPTOTL DIM 1 TOO SMALL')
181 CALL abort_trans(
'TRANS_INQ: KGPTOTL DIM 2 TOO SMALL')
187 IF(
PRESENT(kmyms))
THEN
188 IF(ubound(kmyms,1) <
d%NUMP)
THEN
191 kmyms(1:
d%NUMP) =
d%MYMS(:)
195 IF(
PRESENT(kasm0))
THEN
196 IF(ubound(kasm0,1) <
r%NSMAX)
THEN
199 kasm0(0:
r%NSMAX) =
d%NASM0(:)
203 IF(
PRESENT(kumpp))
THEN
204 IF(ubound(kumpp,1) <
nprtrw)
THEN
211 IF(
PRESENT(kpossp))
THEN
212 IF(ubound(kpossp,1) <
nprtrw+1)
THEN
215 kpossp(1:
nprtrw+1) =
d%NPOSSP(:)
219 IF(
PRESENT(kptrms))
THEN
220 IF(ubound(kptrms,1) <
nprtrw)
THEN
227 IF(
PRESENT(kallms))
THEN
228 IF(ubound(kallms,1) <
r%NSMAX+1)
THEN
231 kallms(1:
r%NSMAX+1) =
d%NALLMS(:)
235 IF(
PRESENT(kdim0g))
THEN
236 IF(ubound(kdim0g,1) <
r%NSMAX)
THEN
239 kdim0g(0:
r%NSMAX) =
d%NDIM0G(0:
r%NSMAX)
243 IF(
PRESENT(kfrstlat))
THEN
251 IF(
PRESENT(klstlat))
THEN
259 IF(
PRESENT(kptrlat))
THEN
260 IF(ubound(kptrlat,1) <
r%NDGL)
THEN
263 kptrlat(1:
r%NDGL) =
d%NPTRLAT(:)
267 IF(
PRESENT(kptrfrstlat))
THEN
269 CALL abort_trans(
'TRANS_INQ: KPTRFRSTLAT TOO SMALL')
275 IF(
PRESENT(kptrlstlat))
THEN
277 CALL abort_trans(
'TRANS_INQ: KPTRLSTLAT TOO SMALL')
283 IF(
PRESENT(ksta))
THEN
285 CALL abort_trans(
'TRANS_INQ: KSTA DIM 1 TOO SMALL')
287 CALL abort_trans(
'TRANS_INQ: KSTA DIM 2 TOO SMALL')
293 IF(
PRESENT(konl))
THEN
295 CALL abort_trans(
'TRANS_INQ: KONL DIM 1 TOO SMALL')
297 CALL abort_trans(
'TRANS_INQ: KONL DIM 2 TOO SMALL')
303 IF(
PRESENT(ldsplitlat))
THEN
304 IF(ubound(ldsplitlat,1) <
r%NDGL)
THEN
305 CALL abort_trans(
'TRANS_INQ: LDSPLITLAT TOO SMALL')
307 ldsplitlat(1:
r%NDGL) =
d%LSPLITLAT(:)
311 IF(
PRESENT(kultpp))
THEN
312 IF(ubound(kultpp,1) <
nprtrns)
THEN
319 IF(
PRESENT(kptrls))
THEN
320 IF(ubound(kptrls,1) <
nprtrns)
THEN
327 IF(
PRESENT(pmu))
THEN
328 IF(ubound(pmu,1) <
r%NDGL)
THEN
331 pmu(1:
r%NDGL) =
f%RMU
335 IF(
PRESENT(pgw))
THEN
336 IF(ubound(pgw,1) <
r%NDGL)
THEN
343 IF(
PRESENT(prpnm))
THEN
344 iu1 = ubound(prpnm,1)
345 iu2 = ubound(prpnm,2)
346 IF(iu1 <
r%NDGNH)
THEN
347 CALL abort_trans(
'TRANS_INQ:FIRST DIM. OF PRNM TOO SMALL')
349 iu1 = min(iu1,
r%NLEI3)
350 iu2 = min(iu2,
d%NSPOLEGL)
351 prpnm(1:iu1,1:iu2) =
f%RPNM(1:iu1,1:iu2)
354 IF(
PRESENT(klei3))
THEN
357 IF(
PRESENT(kspolegl))
THEN
360 IF(
PRESENT(kpms))
THEN
361 IF(ubound(kpms,1) <
r%NSMAX)
THEN
364 kpms(0:
r%NSMAX) =
d%NPMS(0:
r%NSMAX)
!$Id mode_top_bound COMMON comconstr r
type(fields_type), pointer f
integer(kind=jpim), public n_regions_ns
type(distr_type), pointer d
!$Id ok_orolf LOGICAL ok_limitvrai LOGICAL ok_all_xml INTEGER iflag_ener_conserv REAL solaire RCFC12 RCFC12_act CFC12_ppt!IM ajout CFMIP2 CMIP5 LOGICAL ok_4xCO2atm RCFC12_per CFC12_ppt_per!OM correction du bilan d eau global!OM Correction sur precip KE REAL cvl_corr!OM Fonte calotte dans bilan eau LOGICAL ok_lic_melt!IM simulateur ISCCP INTEGER overlap!IM seuils cdrh REAL cdhmax!IM param stabilite s terres et en dehors REAL ksta
subroutine trans_inq(KRESOL, KSPEC, KSPEC2, KSPEC2G, KSPEC2MX, KNUMP, KGPTOT, KGPTOTG, KGPTOTMX, KGPTOTL, KMYMS, KASM0, KUMPP, KPOSSP, KPTRMS, KALLMS, KDIM0G, KFRSTLAT, KLSTLAT, KFRSTLOFF, KPTRLAT, KPTRFRSTLAT, KPTRLSTLAT, KPTRFLOFF, KSTA, KONL, KULTPP, KPTRLS, LDSPLITLAT, PMU, PGW, PRPNM, KLEI3, KSPOLEGL, KPMS)
subroutine set_resol(KRESOL)
integer(kind=jpim), public n_regions_ew
integer(kind=jpim) nprtrw
integer(kind=jpim) nprtrns
subroutine abort_trans(CDTEXT)