libsim  Versione8.0.0

◆ 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 746 del file vol7d_dballe_class.F03.

746  if (c_e(set_network)) then
747  ldegnet = .true.
748  else
749  ldegnet = .false.
750  end if
751 ELSE
752  ldegnet = .false.
753 ENDIF
754 
755 
756 
757 !!--------------------------------------------------------------------------
758 !! find vars, starvars, anavars, anastarvars
759 !!
760 
761 ! create lists of all
762  ! data
763 do 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
773 end do
774 
775 !count and put in vector of unuique key
776 ndativar = count_distinct(toarray_charl(dativarl) , back=.true.)
777 allocate(dativara(ndativar))
778 call pack_distinct_c (toarray_charl(dativarl) , dativara , back=.true.)
779 status = dativarl%delete()
780 allocate (vars%dcv(ndativar))
781 
782 nanavar = count_distinct(toarray_charl(anavarl) , back=.true.)
783 allocate(anavara(nanavar))
784 call pack_distinct_c (toarray_charl(anavarl) , anavara , back=.true.)
785 status = anavarl%delete()
786 allocate (anavars%dcv(nanavar))
787 
788 
789 an: 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
800 end do an
801 
802 bn: do n=1,nanavar
803  do i =1, size(metaanddatav)
804  do j=1, size(metaanddatav(i)%dataattrv%dataattr)
805  if (.not. c_e(metaanddatav(i)%metadata%datetime%datetime)) then
806  if (metaanddatav(i)%dataattrv%dataattr(j)%dat%btable == anavara(n)) then
807  allocate(anavars%dcv(n)%dat,source=metaanddatav(i)%dataattrv%dataattr(j)%dat)
808  cycle bn
809  end if
810  end if

Generated with Doxygen.