libsim  Versione6.3.0

◆ vol7d_check_vol()

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

Definizione alla linea 1219 del file vol7d_class.F90.

1219  .NOT.ASSOCIATED(this%volanaattrc)) THEN
1220  CALL vol7d_force_alloc_ana(this, ini)
1221  ALLOCATE(this%volanaattrc(SIZE(this%ana), SIZE(this%anavarattr%c), &
1222  SIZE(this%network), SIZE(this%anaattr%c)))
1223  IF (linivol) this%volanaattrc(:,:,:,:) = cmiss
1224 ENDIF
1225 
1226 ! Dati
1227 IF (ASSOCIATED(this%dativar%r) .AND. .NOT.ASSOCIATED(this%voldatir)) THEN
1228  CALL vol7d_force_alloc_dati(this, ini)
1229  ALLOCATE(this%voldatir(SIZE(this%ana), SIZE(this%time), SIZE(this%level), &
1230  SIZE(this%timerange), SIZE(this%dativar%r), SIZE(this%network)))
1231  IF (linivol) this%voldatir(:,:,:,:,:,:) = rmiss
1232 ENDIF
1233 
1234 IF (ASSOCIATED(this%dativar%d) .AND. .NOT.ASSOCIATED(this%voldatid)) THEN
1235  CALL vol7d_force_alloc_dati(this, ini)
1236  ALLOCATE(this%voldatid(SIZE(this%ana), SIZE(this%time), SIZE(this%level), &
1237  SIZE(this%timerange), SIZE(this%dativar%d), SIZE(this%network)))
1238  IF (linivol) this%voldatid(:,:,:,:,:,:) = rdmiss
1239 ENDIF
1240 
1241 IF (ASSOCIATED(this%dativar%i) .AND. .NOT.ASSOCIATED(this%voldatii)) THEN
1242  CALL vol7d_force_alloc_dati(this, ini)
1243  ALLOCATE(this%voldatii(SIZE(this%ana), SIZE(this%time), SIZE(this%level), &
1244  SIZE(this%timerange), SIZE(this%dativar%i), SIZE(this%network)))
1245  IF (linivol) this%voldatii(:,:,:,:,:,:) = imiss
1246 ENDIF
1247 
1248 IF (ASSOCIATED(this%dativar%b) .AND. .NOT.ASSOCIATED(this%voldatib)) THEN
1249  CALL vol7d_force_alloc_dati(this, ini)
1250  ALLOCATE(this%voldatib(SIZE(this%ana), SIZE(this%time), SIZE(this%level), &
1251  SIZE(this%timerange), SIZE(this%dativar%b), SIZE(this%network)))
1252  IF (linivol) this%voldatib(:,:,:,:,:,:) = ibmiss
1253 ENDIF
1254 
1255 IF (ASSOCIATED(this%dativar%c) .AND. .NOT.ASSOCIATED(this%voldatic)) THEN
1256  CALL vol7d_force_alloc_dati(this, ini)
1257  ALLOCATE(this%voldatic(SIZE(this%ana), SIZE(this%time), SIZE(this%level), &
1258  SIZE(this%timerange), SIZE(this%dativar%c), SIZE(this%network)))
1259  IF (linivol) this%voldatic(:,:,:,:,:,:) = cmiss
1260 ENDIF
1261 
1262 ! Attributi dei dati
1263 IF (ASSOCIATED(this%datiattr%r) .AND. ASSOCIATED(this%dativarattr%r) .AND. &
1264  .NOT.ASSOCIATED(this%voldatiattrr)) THEN
1265  CALL vol7d_force_alloc_dati(this, ini)
1266  ALLOCATE(this%voldatiattrr(SIZE(this%ana), SIZE(this%time), SIZE(this%level), &
1267  SIZE(this%timerange), SIZE(this%dativarattr%r), SIZE(this%network), &
1268  SIZE(this%datiattr%r)))
1269  IF (linivol) this%voldatiattrr(:,:,:,:,:,:,:) = rmiss
1270 ENDIF
1271 
1272 IF (ASSOCIATED(this%datiattr%d) .AND. ASSOCIATED(this%dativarattr%d) .AND. &
1273  .NOT.ASSOCIATED(this%voldatiattrd)) THEN
1274  CALL vol7d_force_alloc_dati(this, ini)
1275  ALLOCATE(this%voldatiattrd(SIZE(this%ana), SIZE(this%time), SIZE(this%level), &
1276  SIZE(this%timerange), SIZE(this%dativarattr%d), SIZE(this%network), &
1277  SIZE(this%datiattr%d)))
1278  IF (linivol) this%voldatiattrd(:,:,:,:,:,:,:) = rdmiss
1279 ENDIF
1280 
1281 IF (ASSOCIATED(this%datiattr%i) .AND. ASSOCIATED(this%dativarattr%i) .AND. &
1282  .NOT.ASSOCIATED(this%voldatiattri)) THEN
1283  CALL vol7d_force_alloc_dati(this, ini)
1284  ALLOCATE(this%voldatiattri(SIZE(this%ana), SIZE(this%time), SIZE(this%level), &
1285  SIZE(this%timerange), SIZE(this%dativarattr%i), SIZE(this%network), &
1286  SIZE(this%datiattr%i)))
1287  IF (linivol) this%voldatiattri(:,:,:,:,:,:,:) = imiss
1288 ENDIF
1289 
1290 IF (ASSOCIATED(this%datiattr%b) .AND. ASSOCIATED(this%dativarattr%b) .AND. &
1291  .NOT.ASSOCIATED(this%voldatiattrb)) THEN
1292  CALL vol7d_force_alloc_dati(this, ini)
1293  ALLOCATE(this%voldatiattrb(SIZE(this%ana), SIZE(this%time), SIZE(this%level), &
1294  SIZE(this%timerange), SIZE(this%dativarattr%b), SIZE(this%network), &
1295  SIZE(this%datiattr%b)))
1296  IF (linivol) this%voldatiattrb(:,:,:,:,:,:,:) = ibmiss
1297 ENDIF
1298 
1299 IF (ASSOCIATED(this%datiattr%c) .AND. ASSOCIATED(this%dativarattr%c) .AND. &
1300  .NOT.ASSOCIATED(this%voldatiattrc)) THEN
1301  CALL vol7d_force_alloc_dati(this, ini)
1302  ALLOCATE(this%voldatiattrc(SIZE(this%ana), SIZE(this%time), SIZE(this%level), &
1303  SIZE(this%timerange), SIZE(this%dativarattr%c), SIZE(this%network), &
1304  SIZE(this%datiattr%c)))
1305  IF (linivol) this%voldatiattrc(:,:,:,:,:,:,:) = cmiss
1306 ENDIF
1307 
1308 ! Catch-all method
1309 CALL vol7d_force_alloc(this)
1310 
1311 ! Creo gli indici var-attr
1312 
1313 #ifdef DEBUG
1314 CALL l4f_log(l4f_debug,"calling: vol7d_set_attr_ind")
1315 #endif
1316 
1317 CALL vol7d_set_attr_ind(this)
1318 
1319 
1320 
1321 END SUBROUTINE vol7d_alloc_vol
1322 
1323 

Generated with Doxygen.