libsim Versione 7.1.11

◆ vol7d_dballe_import()

subroutine vol7d_dballe_import ( type(vol7d_dballe), intent(inout)  this,
type(dbafilter), intent(in)  filter,
type(vol7d_network), intent(in), optional  set_network 
)
private

import da DB-all.e

Parametri
[in,out]thisoggetto vol7d_dballe

Definizione alla linea 741 del file vol7d_dballe_class.F03.

742 else
743 ldegnet = .false.
744 end if
745ELSE
746 ldegnet = .false.
747ENDIF
748
749
750
751!!--------------------------------------------------------------------------
752!! find vars, starvars, anavars, anastarvars
753!!
754
755! create lists of all
756 ! data
757do i =1, size(metaanddatav)
758 do j=1, size(metaanddatav(i)%dataattrv%dataattr)
759 if (c_e(metaanddatav(i)%metadata%datetime%datetime)) then
760 !print *,"dativarl: ", metaanddatav(i)%dataattrv%dataattr(j)%dat%btable
761 call dativarl%append(metaanddatav(i)%dataattrv%dataattr(j)%dat%btable)
762 else
763 !print *,"anavarl: ", metaanddatav(i)%dataattrv%dataattr(j)%dat%btable
764 call anavarl%append(metaanddatav(i)%dataattrv%dataattr(j)%dat%btable)
765 end if
766 end do
767end do
768
769!count and put in vector of unuique key
770ndativar = count_distinct(toarray_charl(dativarl) , back=.true.)
771allocate(dativara(ndativar))
772call pack_distinct_c (toarray_charl(dativarl) , dativara , back=.true.)
773status = dativarl%delete()
774allocate (vars%dcv(ndativar))
775
776nanavar = count_distinct(toarray_charl(anavarl) , back=.true.)
777allocate(anavara(nanavar))
778call pack_distinct_c (toarray_charl(anavarl) , anavara , back=.true.)
779status = anavarl%delete()
780allocate (anavars%dcv(nanavar))
781
782
783an: do n=1,ndativar
784 do i =1, size(metaanddatav)
785 do j=1, size(metaanddatav(i)%dataattrv%dataattr)
786 if (c_e(metaanddatav(i)%metadata%datetime%datetime)) then
787 if (metaanddatav(i)%dataattrv%dataattr(j)%dat%btable == dativara(n)) then
788 allocate(vars%dcv(n)%dat,source=metaanddatav(i)%dataattrv%dataattr(j)%dat)
789 cycle an
790 end if
791 end if
792 end do
793 end do
794end do an
795
796bn: do n=1,nanavar
797 do i =1, size(metaanddatav)
798 do j=1, size(metaanddatav(i)%dataattrv%dataattr)
799 if (.not. c_e(metaanddatav(i)%metadata%datetime%datetime)) then
800 if (metaanddatav(i)%dataattrv%dataattr(j)%dat%btable == anavara(n)) then
801 allocate(anavars%dcv(n)%dat,source=metaanddatav(i)%dataattrv%dataattr(j)%dat)
802 cycle bn
803 end if
804 end if
805 end do
806 end do

Generated with Doxygen.