libsim  Versione7.2.1

◆ vol7d_check_vol()

logical function vol7d_class::vol7d_check_vol ( type(vol7d), intent(in)  this)
Parametri
[in]thisoggetto da controllare

Definizione alla linea 1201 del file vol7d_class.F90.

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
1205 ENDIF
1206 
1207 IF (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
1213 ENDIF
1214 
1215 IF (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
1221 ENDIF
1222 
1223 ! Dati
1224 IF (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
1229 ENDIF
1230 
1231 IF (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
1236 ENDIF
1237 
1238 IF (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
1243 ENDIF
1244 
1245 IF (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
1250 ENDIF
1251 
1252 IF (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
1257 ENDIF
1258 
1259 ! Attributi dei dati
1260 IF (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
1267 ENDIF
1268 
1269 IF (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
1276 ENDIF
1277 
1278 IF (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
1285 ENDIF
1286 
1287 IF (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
1294 ENDIF
1295 
1296 IF (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), &
1300  SIZE(this%timerange), SIZE(this%dativarattr%c), SIZE(this%network), &
1301  SIZE(this%datiattr%c)))
1302  IF (linivol) this%voldatiattrc(:,:,:,:,:,:,:) = cmiss
1303 ENDIF
1304 
1305 ! Catch-all method
1306 CALL vol7d_force_alloc(this)
1307 
1308 ! Creo gli indici var-attr
1309 

Generated with Doxygen.