|
◆ vol7d_dballe_set_var_du()
subroutine, public vol7d_dballe_class::vol7d_dballe_set_var_du |
( |
type(vol7d) |
this | ) |
|
Integra il vettore delle variabili in vol7d con le descrizioni e le unità di misura eventualmente mancanti.
- Parametri
-
this | oggetto vol7d con le variabili da completare |
Definizione alla linea 1743 del file vol7d_dballe_class.F03.
1756 SUBROUTINE vol7d_dballe_export_old(this, network, coordmin, coordmax,& 1757 timei, timef,level,timerange,var,attr,anavar,anaattr,ana,dataonly,anaonly,template,attr_only) 1759 TYPE(vol7d_dballe), INTENT(inout) :: this 1760 character(len=network_name_len), INTENT(in), optional :: network 1763 TYPE(geo_coord), INTENT(in), optional :: coordmin,coordmax 1765 TYPE(datetime), INTENT(in), optional :: timei, timef 1766 TYPE(vol7d_level), INTENT(in), optional :: level 1767 TYPE(vol7d_timerange), INTENT(in), optional :: timerange 1770 CHARACTER(len=*), INTENT(in), OPTIONAL :: var(:),attr(:),anavar(:),anaattr(:) 1775 TYPE(vol7d_ana), INTENT(inout), optional :: ana 1776 logical, intent(in), optional :: dataonly 1777 logical, intent(in), optional :: anaonly 1780 character(len=*), intent(in), optional :: template 1781 logical, intent(in), optional :: attr_only 1784 type(dbadcv) :: vars,starvars,anavars,anastarvars 1785 type(dbafilter) :: filter 1786 type(dbacoord) :: mydbacoordmin, mydbacoordmax 1787 type(dbaana) :: mydbaana 1788 type(dbadatetime) :: mydatetimemin, mydatetimemax 1789 type(dbatimerange) :: mydbatimerange 1790 type(dbalevel) :: mydbalevel 1791 type(dbanetwork) :: mydbanetwork 1794 LOGICAL :: lattr, lanaattr 1795 integer :: nanaattr,nattr,nanavar,nvar 1804 if ( present(var)) then 1805 nvar=count( c_e(var)) 1807 allocate (vars%dcv(nvar)) 1809 if ( c_e(var(i))) then 1810 allocate (vars%dcv(i)%dat,source=dbadatac(var(i))) 1816 if ( present(anavar)) then 1817 nanavar=count( c_e(anavar)) 1818 if (nanavar > 0) then 1819 allocate (anavars%dcv(nanavar)) 1821 if ( c_e(anavar(i))) then 1822 allocate (anavars%dcv(i)%dat,source=dbadatac(anavar(i))) 1829 if ( present(attr)) then 1830 nattr=count( c_e(attr)) 1833 allocate (starvars%dcv(nattr)) 1835 if ( c_e(attr(i))) then 1836 allocate (starvars%dcv(i)%dat,source=dbadatac(attr(i))) 1843 if ( present(anaattr)) then 1844 nanaattr=count( c_e(anaattr)) 1845 if (nanaattr > 0) then 1847 allocate (anastarvars%dcv(nanaattr)) 1848 do i=1, size(anaattr) 1849 if ( c_e(anaattr(i))) then 1850 allocate (anastarvars%dcv(i)%dat,source=dbadatac(anaattr(i))) 1858 mydbacoordmin=dbacoord() 1859 if ( present(coordmin)) mydbacoordmin%geo_coord=coordmin 1860 mydbacoordmax=dbacoord() 1861 if ( present(coordmax)) mydbacoordmax%geo_coord=coordmax 1863 if ( present(ana)) mydbaana%vol7d_ana=ana 1864 mydatetimemin=dbadatetime() 1865 if ( present(timei)) mydatetimemin%datetime=timei 1866 mydatetimemax=dbadatetime() 1867 if ( present(timef)) mydatetimemax%datetime=timef 1868 mydbatimerange=dbatimerange() 1869 if ( present(timerange)) mydbatimerange%vol7d_timerange=timerange 1870 mydbalevel=dbalevel() 1871 if ( present(level)) mydbalevel%vol7d_level=level 1872 mydbanetwork=dbanetwork() 1873 if ( present(network)) call init(mydbanetwork%vol7d_network,name=network) 1878 filter=dbafilter(coordmin=mydbacoordmin,coordmax=mydbacoordmax,ana=mydbaana, & 1879 datetimemin=mydatetimemin,datetimemax=mydatetimemax, & 1880 timerange=mydbatimerange,level=mydbalevel,network=mydbanetwork,& 1881 vars=vars,starvars=starvars,anavars=anavars,anastarvars=anastarvars,& 1882 dataonly=dataonly,anaonly=anaonly) 1887 call export (this, filter,template,attr_only) 1889 end SUBROUTINE vol7d_dballe_export_old 1892 subroutine vol7d_dballe_export (this, filter, template, attr_only) 1894 TYPE(vol7d_dballe), INTENT(inout) :: this 1895 type(dbafilter), intent(in) :: filter 1898 character(len=*), intent(in), optional :: template 1899 logical, intent(in), optional :: attr_only 1901 character(len=40) :: ltemplate 1903 type(dbametaanddatalist) :: metaanddatal 1906 metaanddatal=dbametaanddatalist() 1908 call v7d2dba(this%vol7d,metaanddatal) 1912 if (this%file) call this%handle%remove_all() 1915 call metaanddatal%extrude(session=this%handle,filter=filter,attronly=attr_only,template=template) 1928 call filter%dbaset(this%handle) 1930 ltemplate=this%handle%template 1931 if ( present(template)) then 1935 call this%handle%messages_write_next(ltemplate) 1938 call this%handle%remove_all() 1942 stat = metaanddatal%delete() 1944 end subroutine vol7d_dballe_export 1947 subroutine v7d2dba(v7d,metaanddatal) 1948 TYPE(vol7d), INTENT(in) :: v7d 1949 type(dbametaanddatalist), intent(inout) :: metaanddatal 1951 TYPE(vol7d_serialize_dballe) :: serialize 1953 serialize = vol7d_serialize_dballe_new() 1954 serialize%anaonly=.true. 1955 call serialize%vol7d_serialize_setup(v7d) 1956 call serialize%vol7d_serialize_export(metaanddatal) 1958 serialize = vol7d_serialize_dballe_new() 1959 serialize%dataonly=.true. 1960 call serialize%vol7d_serialize_setup(v7d) 1961 call serialize%vol7d_serialize_export(metaanddatal) 1963 end subroutine v7d2dba 1981 classe per import ed export di volumi da e in DB-All.e
Costruttori per le classi datetime e timedelta.
|