libsim  Versione 7.1.7

◆ vol7d_dballe_import()

subroutine vol7d_dballe_class::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
745 ELSE
746  ldegnet = .false.
747 ENDIF
748 
749 
750 
751 !!--------------------------------------------------------------------------
752 !! find vars, starvars, anavars, anastarvars
753 !!
754 
755 ! create lists of all
756  ! data
757 do 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
767 end do
768 
769 !count and put in vector of unuique key
770 ndativar = count_distinct(toarray_charl(dativarl) , back=.true.)
771 allocate(dativara(ndativar))
772 call pack_distinct_c (toarray_charl(dativarl) , dativara , back=.true.)
773 status = dativarl%delete()
774 allocate (vars%dcv(ndativar))
775 
776 nanavar = count_distinct(toarray_charl(anavarl) , back=.true.)
777 allocate(anavara(nanavar))
778 call pack_distinct_c (toarray_charl(anavarl) , anavara , back=.true.)
779 status = anavarl%delete()
780 allocate (anavars%dcv(nanavar))
781 
782 
783 an: 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
794 end do an
795 
796 bn: 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.