|
◆ vol7d_set_attr_ind()
subroutine vol7d_class::vol7d_set_attr_ind |
( |
type(vol7d), intent(inout) |
this | ) |
|
Metodo per creare gli indici che associano le variabili aventi attributo alle variabili nei relativi descrittori.
Ha senso chiamare questo metodo solo dopo che i descrittori delle variabili e degli attributi desiderati sono stati allocati ed รจ stato assegnato un valore ai relativi membri btable (vedi vol7d_var_class::vol7d_var), se i descrittori non sono stati allocati o assegnati, il metodo non fa niente. - Parametri
-
[in,out] | this | oggetto in cui creare gli indici |
Definizione alla linea 1516 del file vol7d_class.F90.
1518 END SUBROUTINE vol7d_set_attr_ind
1525 SUBROUTINE vol7d_merge(this, that, sort, bestdata, &
1526 ltimesimple, ltimerangesimple, llevelsimple, lanasimple)
1527 TYPE(vol7d), INTENT(INOUT) :: this
1528 TYPE(vol7d), INTENT(INOUT) :: that
1529 LOGICAL, INTENT(IN), OPTIONAL :: sort
1530 LOGICAL, INTENT(in), OPTIONAL :: bestdata
1531 LOGICAL, INTENT(IN), OPTIONAL :: ltimesimple, ltimerangesimple, llevelsimple, lanasimple
1533 TYPE(vol7d) :: v7d_clean
1536 IF (.NOT.c_e(this)) THEN
1538 CALL init(v7d_clean)
1541 CALL vol7d_append(this, that, sort, bestdata, &
1542 ltimesimple, ltimerangesimple, llevelsimple, lanasimple)
1546 END SUBROUTINE vol7d_merge
1577 SUBROUTINE vol7d_append(this, that, sort, bestdata, &
1578 ltimesimple, ltimerangesimple, llevelsimple, lanasimple, lnetworksimple)
1579 TYPE(vol7d), INTENT(INOUT) :: this
1580 TYPE(vol7d), INTENT(IN) :: that
1581 LOGICAL, INTENT(IN), OPTIONAL :: sort
1585 LOGICAL, INTENT(in), OPTIONAL :: bestdata
1586 LOGICAL, INTENT(IN), OPTIONAL :: ltimesimple, ltimerangesimple, llevelsimple, lanasimple, lnetworksimple
1589 TYPE(vol7d) :: v7dtmp
1590 LOGICAL :: lsort, lbestdata
1591 INTEGER, POINTER :: remapt1(:), remapt2(:), remaptr1(:), remaptr2(:), &
1592 remapl1(:), remapl2(:), remapa1(:), remapa2(:), remapn1(:), remapn2(:)
1594 IF (.NOT.c_e(that)) RETURN
1595 IF (.NOT.vol7d_check_vol(that)) RETURN
1596 IF (.NOT.c_e(this)) THEN
1597 CALL vol7d_copy(that, this, sort=sort)
1601 IF (this%time_definition /= that%time_definition) THEN
1602 CALL l4f_log(l4f_fatal, &
1603 'in vol7d_append, cannot append volumes with different &
1605 CALL raise_fatal_error()
1609 CALL vol7d_alloc_vol(this)
1611 CALL init(v7dtmp, time_definition=this%time_definition)
1612 CALL optio(sort, lsort)
1613 CALL optio(bestdata, lbestdata)
1617 IF (optio_log(ltimesimple)) THEN
1618 CALL vol7d_remap2simple_datetime(this%time, that%time, v7dtmp%time, &
1619 lsort, remapt1, remapt2)
1621 CALL vol7d_remap2_datetime(this%time, that%time, v7dtmp%time, &
1622 lsort, remapt1, remapt2)
1624 IF (optio_log(ltimerangesimple)) THEN
1625 CALL vol7d_remap2simple_vol7d_timerange(this%timerange, that%timerange, &
1626 v7dtmp%timerange, lsort, remaptr1, remaptr2)
1628 CALL vol7d_remap2_vol7d_timerange(this%timerange, that%timerange, &
1629 v7dtmp%timerange, lsort, remaptr1, remaptr2)
1631 IF (optio_log(llevelsimple)) THEN
1632 CALL vol7d_remap2simple_vol7d_level(this%level, that%level, v7dtmp%level, &
1633 lsort, remapl1, remapl2)
1635 CALL vol7d_remap2_vol7d_level(this%level, that%level, v7dtmp%level, &
1636 lsort, remapl1, remapl2)
1638 IF (optio_log(lanasimple)) THEN
1639 CALL vol7d_remap2simple_vol7d_ana(this%ana, that%ana, v7dtmp%ana, &
1640 .false., remapa1, remapa2)
1642 CALL vol7d_remap2_vol7d_ana(this%ana, that%ana, v7dtmp%ana, &
1643 .false., remapa1, remapa2)
1645 IF (optio_log(lnetworksimple)) THEN
1646 CALL vol7d_remap2simple_vol7d_network(this%network, that%network, v7dtmp%network, &
1647 .false., remapn1, remapn2)
1649 CALL vol7d_remap2_vol7d_network(this%network, that%network, v7dtmp%network, &
1650 .false., remapn1, remapn2)
1654 CALL vol7d_merge_finalr(this, that, v7dtmp, &
1655 remapa1, remapa2, remapt1, remapt2, remapl1, remapl2, &
1656 remaptr1, remaptr2, remapn1, remapn2, lbestdata)
1657 CALL vol7d_merge_finald(this, that, v7dtmp, &
1658 remapa1, remapa2, remapt1, remapt2, remapl1, remapl2, &
1659 remaptr1, remaptr2, remapn1, remapn2, lbestdata)
1660 CALL vol7d_merge_finali(this, that, v7dtmp, &
1661 remapa1, remapa2, remapt1, remapt2, remapl1, remapl2, &
1662 remaptr1, remaptr2, remapn1, remapn2, lbestdata)
1663 CALL vol7d_merge_finalb(this, that, v7dtmp, &
1664 remapa1, remapa2, remapt1, remapt2, remapl1, remapl2, &
1665 remaptr1, remaptr2, remapn1, remapn2, lbestdata)
1666 CALL vol7d_merge_finalc(this, that, v7dtmp, &
1667 remapa1, remapa2, remapt1, remapt2, remapl1, remapl2, &
1668 remaptr1, remaptr2, remapn1, remapn2, lbestdata)
1671 IF ( ASSOCIATED(remapt1)) DEALLOCATE(remapt1)
1672 IF ( ASSOCIATED(remapt2)) DEALLOCATE(remapt2)
1673 IF ( ASSOCIATED(remaptr1)) DEALLOCATE(remaptr1)
1674 IF ( ASSOCIATED(remaptr2)) DEALLOCATE(remaptr2)
1675 IF ( ASSOCIATED(remapl1)) DEALLOCATE(remapl1)
1676 IF ( ASSOCIATED(remapl2)) DEALLOCATE(remapl2)
1677 IF ( ASSOCIATED(remapa1)) DEALLOCATE(remapa1)
1678 IF ( ASSOCIATED(remapa2)) DEALLOCATE(remapa2)
1679 IF ( ASSOCIATED(remapn1)) DEALLOCATE(remapn1)
1680 IF ( ASSOCIATED(remapn2)) DEALLOCATE(remapn2)
1686 CALL vol7d_set_attr_ind(this)
1688 END SUBROUTINE vol7d_append
|