libsim Versione 7.2.1
|
◆ vol7d_check_vol()
Definizione alla linea 1190 del file vol7d_class.F90. 1191IF (ASSOCIATED(this%anaattr%d) .AND. ASSOCIATED(this%anavarattr%d) .AND. &
1192 .NOT.ASSOCIATED(this%volanaattrd)) THEN
1193 CALL vol7d_force_alloc_ana(this, ini)
1194 ALLOCATE(this%volanaattrd(SIZE(this%ana), SIZE(this%anavarattr%d), &
1195 SIZE(this%network), SIZE(this%anaattr%d)))
1196 IF (linivol) this%volanaattrd(:,:,:,:) = rdmiss
1197ENDIF
1198
1199IF (ASSOCIATED(this%anaattr%i) .AND. ASSOCIATED(this%anavarattr%i) .AND. &
1200 .NOT.ASSOCIATED(this%volanaattri)) THEN
1201 CALL vol7d_force_alloc_ana(this, ini)
1202 ALLOCATE(this%volanaattri(SIZE(this%ana), SIZE(this%anavarattr%i), &
1203 SIZE(this%network), SIZE(this%anaattr%i)))
1204 IF (linivol) this%volanaattri(:,:,:,:) = imiss
1205ENDIF
1206
1207IF (ASSOCIATED(this%anaattr%b) .AND. ASSOCIATED(this%anavarattr%b) .AND. &
1208 .NOT.ASSOCIATED(this%volanaattrb)) THEN
1209 CALL vol7d_force_alloc_ana(this, ini)
1210 ALLOCATE(this%volanaattrb(SIZE(this%ana), SIZE(this%anavarattr%b), &
1211 SIZE(this%network), SIZE(this%anaattr%b)))
1212 IF (linivol) this%volanaattrb(:,:,:,:) = ibmiss
1213ENDIF
1214
1215IF (ASSOCIATED(this%anaattr%c) .AND. ASSOCIATED(this%anavarattr%c) .AND. &
1216 .NOT.ASSOCIATED(this%volanaattrc)) THEN
1217 CALL vol7d_force_alloc_ana(this, ini)
1218 ALLOCATE(this%volanaattrc(SIZE(this%ana), SIZE(this%anavarattr%c), &
1219 SIZE(this%network), SIZE(this%anaattr%c)))
1220 IF (linivol) this%volanaattrc(:,:,:,:) = cmiss
1221ENDIF
1222
1223! Dati
1224IF (ASSOCIATED(this%dativar%r) .AND. .NOT.ASSOCIATED(this%voldatir)) THEN
1225 CALL vol7d_force_alloc_dati(this, ini)
1226 ALLOCATE(this%voldatir(SIZE(this%ana), SIZE(this%time), SIZE(this%level), &
1227 SIZE(this%timerange), SIZE(this%dativar%r), SIZE(this%network)))
1228 IF (linivol) this%voldatir(:,:,:,:,:,:) = rmiss
1229ENDIF
1230
1231IF (ASSOCIATED(this%dativar%d) .AND. .NOT.ASSOCIATED(this%voldatid)) THEN
1232 CALL vol7d_force_alloc_dati(this, ini)
1233 ALLOCATE(this%voldatid(SIZE(this%ana), SIZE(this%time), SIZE(this%level), &
1234 SIZE(this%timerange), SIZE(this%dativar%d), SIZE(this%network)))
1235 IF (linivol) this%voldatid(:,:,:,:,:,:) = rdmiss
1236ENDIF
1237
1238IF (ASSOCIATED(this%dativar%i) .AND. .NOT.ASSOCIATED(this%voldatii)) THEN
1239 CALL vol7d_force_alloc_dati(this, ini)
1240 ALLOCATE(this%voldatii(SIZE(this%ana), SIZE(this%time), SIZE(this%level), &
1241 SIZE(this%timerange), SIZE(this%dativar%i), SIZE(this%network)))
1242 IF (linivol) this%voldatii(:,:,:,:,:,:) = imiss
1243ENDIF
1244
1245IF (ASSOCIATED(this%dativar%b) .AND. .NOT.ASSOCIATED(this%voldatib)) THEN
1246 CALL vol7d_force_alloc_dati(this, ini)
1247 ALLOCATE(this%voldatib(SIZE(this%ana), SIZE(this%time), SIZE(this%level), &
1248 SIZE(this%timerange), SIZE(this%dativar%b), SIZE(this%network)))
1249 IF (linivol) this%voldatib(:,:,:,:,:,:) = ibmiss
1250ENDIF
1251
1252IF (ASSOCIATED(this%dativar%c) .AND. .NOT.ASSOCIATED(this%voldatic)) THEN
1253 CALL vol7d_force_alloc_dati(this, ini)
1254 ALLOCATE(this%voldatic(SIZE(this%ana), SIZE(this%time), SIZE(this%level), &
1255 SIZE(this%timerange), SIZE(this%dativar%c), SIZE(this%network)))
1256 IF (linivol) this%voldatic(:,:,:,:,:,:) = cmiss
1257ENDIF
1258
1259! Attributi dei dati
1260IF (ASSOCIATED(this%datiattr%r) .AND. ASSOCIATED(this%dativarattr%r) .AND. &
1261 .NOT.ASSOCIATED(this%voldatiattrr)) THEN
1262 CALL vol7d_force_alloc_dati(this, ini)
1263 ALLOCATE(this%voldatiattrr(SIZE(this%ana), SIZE(this%time), SIZE(this%level), &
1264 SIZE(this%timerange), SIZE(this%dativarattr%r), SIZE(this%network), &
1265 SIZE(this%datiattr%r)))
1266 IF (linivol) this%voldatiattrr(:,:,:,:,:,:,:) = rmiss
1267ENDIF
1268
1269IF (ASSOCIATED(this%datiattr%d) .AND. ASSOCIATED(this%dativarattr%d) .AND. &
1270 .NOT.ASSOCIATED(this%voldatiattrd)) THEN
1271 CALL vol7d_force_alloc_dati(this, ini)
1272 ALLOCATE(this%voldatiattrd(SIZE(this%ana), SIZE(this%time), SIZE(this%level), &
1273 SIZE(this%timerange), SIZE(this%dativarattr%d), SIZE(this%network), &
1274 SIZE(this%datiattr%d)))
1275 IF (linivol) this%voldatiattrd(:,:,:,:,:,:,:) = rdmiss
1276ENDIF
1277
1278IF (ASSOCIATED(this%datiattr%i) .AND. ASSOCIATED(this%dativarattr%i) .AND. &
1279 .NOT.ASSOCIATED(this%voldatiattri)) THEN
1280 CALL vol7d_force_alloc_dati(this, ini)
1281 ALLOCATE(this%voldatiattri(SIZE(this%ana), SIZE(this%time), SIZE(this%level), &
1282 SIZE(this%timerange), SIZE(this%dativarattr%i), SIZE(this%network), &
1283 SIZE(this%datiattr%i)))
1284 IF (linivol) this%voldatiattri(:,:,:,:,:,:,:) = imiss
1285ENDIF
1286
1287IF (ASSOCIATED(this%datiattr%b) .AND. ASSOCIATED(this%dativarattr%b) .AND. &
1288 .NOT.ASSOCIATED(this%voldatiattrb)) THEN
1289 CALL vol7d_force_alloc_dati(this, ini)
1290 ALLOCATE(this%voldatiattrb(SIZE(this%ana), SIZE(this%time), SIZE(this%level), &
1291 SIZE(this%timerange), SIZE(this%dativarattr%b), SIZE(this%network), &
1292 SIZE(this%datiattr%b)))
1293 IF (linivol) this%voldatiattrb(:,:,:,:,:,:,:) = ibmiss
1294ENDIF
1295
1296IF (ASSOCIATED(this%datiattr%c) .AND. ASSOCIATED(this%dativarattr%c) .AND. &
1297 .NOT.ASSOCIATED(this%voldatiattrc)) THEN
1298 CALL vol7d_force_alloc_dati(this, ini)
1299 ALLOCATE(this%voldatiattrc(SIZE(this%ana), SIZE(this%time), SIZE(this%level), &
|