libsim Versione 7.2.0
|
◆ vol7d_dballe_import()
import da DB-all.e
Definizione alla linea 735 del file vol7d_dballe_class.F03. 736end if
737
738
739IF (PRESENT(set_network)) THEN
740 if (c_e(set_network)) then
741 ldegnet = .true.
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
|