libsim  Versione8.0.0

◆ vol7d_check_vol()

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

Definizione alla linea 1202 del file vol7d_class.F90.

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
1206 ENDIF
1207 
1208 IF (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
1214 ENDIF
1215 
1216 IF (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
1222 ENDIF
1223 
1224 ! Dati
1225 IF (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
1230 ENDIF
1231 
1232 IF (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
1237 ENDIF
1238 
1239 IF (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
1244 ENDIF
1245 
1246 IF (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
1251 ENDIF
1252 
1253 IF (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
1258 ENDIF
1259 
1260 ! Attributi dei dati
1261 IF (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
1268 ENDIF
1269 
1270 IF (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
1277 ENDIF
1278 
1279 IF (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
1286 ENDIF
1287 
1288 IF (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
1295 ENDIF
1296 
1297 IF (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), &
1301  SIZE(this%timerange), SIZE(this%dativarattr%c), SIZE(this%network), &
1302  SIZE(this%datiattr%c)))
1303  IF (linivol) this%voldatiattrc(:,:,:,:,:,:,:) = cmiss
1304 ENDIF
1305 
1306 ! Catch-all method
1307 CALL vol7d_force_alloc(this)
1308 
1309 ! Creo gli indici var-attr
1310 

Generated with Doxygen.