1187 mask=(this(i)%griddim == gridinfov%array(1:gridinfov%arraysize)%griddim) &
1188 .AND. .NOT.isanavar(:), back=.true.)
1190 ntimerange = count_distinct(gridinfov%array(1:gridinfov%arraysize)%timerange, &
1191 mask=(this(i)%griddim == gridinfov%array(1:gridinfov%arraysize)%griddim) &
1192 .AND. .NOT.isanavar(:), back=.true.)
1194 nlevel = count_distinct(gridinfov%array(1:gridinfov%arraysize)%level, &
1195 mask=(this(i)%griddim == gridinfov%array(1:gridinfov%arraysize)%griddim), &
1197 nvar = count_distinct(gridinfov%array(1:gridinfov%arraysize)%var, &
1198 mask=(this(i)%griddim == gridinfov%array(1:gridinfov%arraysize)%griddim), &
1202 CALL l4f_category_log(this(i)%category,l4f_debug,
"alloc volgrid6d index: "//t2c(i))
1205 CALL volgrid6d_alloc(this(i),this(i)%griddim%dim,ntime=ntime, &
1206 ntimerange=ntimerange,nlevel=nlevel,nvar=nvar)
1208 IF (ltime_definition == 1 .OR. ltime_definition == 2)
THEN 1209 this(i)%time = pack_distinct(correctedtime, ntime, &
1210 mask=(this(i)%griddim == gridinfov%array(1:gridinfov%arraysize)%griddim) &
1211 .AND. .NOT.isanavar(:), back=.true.)
1213 this(i)%time = pack_distinct(gridinfov%array(1:gridinfov%arraysize)%time, ntime, &
1214 mask=(this(i)%griddim == gridinfov%array(1:gridinfov%arraysize)%griddim) &
1215 .AND. .NOT.isanavar(:), back=.true.)
1217 CALL sort(this(i)%time)
1219 IF (ltime_definition == 2)
THEN 1220 this(i)%timerange = pack_distinct(correctedtimerange, ntimerange, &
1221 mask=(this(i)%griddim == gridinfov%array(1:gridinfov%arraysize)%griddim) &
1222 .AND. .NOT.isanavar(:), back=.true.)
1224 this(i)%timerange = pack_distinct(gridinfov%array(1:gridinfov%arraysize)%timerange, &
1225 ntimerange, mask=(this(i)%griddim == gridinfov%array(1:gridinfov%arraysize)%griddim) &
1226 .AND. .NOT.isanavar(:), back=.true.)
1228 CALL sort(this(i)%timerange)
1230 this(i)%level=pack_distinct(gridinfov%array(1:gridinfov%arraysize)%level, &
1231 nlevel,mask=(this(i)%griddim == gridinfov%array(1:gridinfov%arraysize)%griddim), &
1233 CALL sort(this(i)%level)
1235 this(i)%var=pack_distinct(gridinfov%array(1:gridinfov%arraysize)%var, nvar, &
1236 mask=(this(i)%griddim == gridinfov%array(1:gridinfov%arraysize)%griddim), &
1240 CALL l4f_category_log(this(i)%category,l4f_debug,
"alloc_vol volgrid6d index: "//t2c(i))
1242 CALL volgrid6d_alloc_vol(this(i), decode=decode)
1246 IF (ltime_definition == 1 .OR. ltime_definition == 2)
DEALLOCATE(correctedtime)
1247 IF (ltime_definition == 2)
DEALLOCATE(correctedtimerange)
1249 DO i = 1, gridinfov%arraysize
1252 CALL l4f_category_log(category,l4f_debug,
"import from gridinfov index: "//t2c(i))
1253 CALL l4f_category_log(category,l4f_info, &