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