|
libsim Versione 8.0.0
|
◆ vol7d_dballe_import()
import da DB-all.e
Definizione alla linea 735 del file vol7d_dballe_class.F03. 736end if
737
738if (ltime_definition == 2) then
739 do i =1,size(metaanddatav)
740 metaanddatav(i)%metadata%timerange%vol7d_timerange%p1 = 0
741 end do
742end if
743
744
745IF (PRESENT(set_network)) THEN
746 if (c_e(set_network)) then
747 ldegnet = .true.
748 else
749 ldegnet = .false.
750 end if
751ELSE
752 ldegnet = .false.
753ENDIF
754
755
756
757!!--------------------------------------------------------------------------
758!! find vars, starvars, anavars, anastarvars
759!!
760
761! create lists of all
762 ! data
763do i =1, size(metaanddatav)
764 do j=1, size(metaanddatav(i)%dataattrv%dataattr)
765 if (c_e(metaanddatav(i)%metadata%datetime%datetime)) then
766 !print *,"dativarl: ", metaanddatav(i)%dataattrv%dataattr(j)%dat%btable
767 call dativarl%append(metaanddatav(i)%dataattrv%dataattr(j)%dat%btable)
768 else
769 !print *,"anavarl: ", metaanddatav(i)%dataattrv%dataattr(j)%dat%btable
770 call anavarl%append(metaanddatav(i)%dataattrv%dataattr(j)%dat%btable)
771 end if
772 end do
773end do
774
775!count and put in vector of unuique key
776ndativar = count_distinct(toarray_charl(dativarl) , back=.true.)
777allocate(dativara(ndativar))
778call pack_distinct_c (toarray_charl(dativarl) , dativara , back=.true.)
779status = dativarl%delete()
780allocate (vars%dcv(ndativar))
781
782nanavar = count_distinct(toarray_charl(anavarl) , back=.true.)
783allocate(anavara(nanavar))
784call pack_distinct_c (toarray_charl(anavarl) , anavara , back=.true.)
785status = anavarl%delete()
786allocate (anavars%dcv(nanavar))
787
788
789an: do n=1,ndativar
790 do i =1, size(metaanddatav)
791 do j=1, size(metaanddatav(i)%dataattrv%dataattr)
792 if (c_e(metaanddatav(i)%metadata%datetime%datetime)) then
793 if (metaanddatav(i)%dataattrv%dataattr(j)%dat%btable == dativara(n)) then
794 allocate(vars%dcv(n)%dat,source=metaanddatav(i)%dataattrv%dataattr(j)%dat)
795 cycle an
796 end if
797 end if
798 end do
799 end do
800end do an
|