|
◆ 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 1736 del file vol7d_dballe_class.F03.
1738 IF (unit == -1) RETURN 1740 OPEN(unit, file=path, status= 'old', iostat = i) 1742 CALL l4f_log(l4f_info, 'dballe file '//trim(path)// ' opened') 1746 CALL l4f_log(l4f_error, 'dballe file '//trim(filename)// ' not found') 1750 END FUNCTION open_dballe_file 1764 SUBROUTINE vol7d_dballe_export_old(this, network, coordmin, coordmax,& 1765 timei, timef,level,timerange,var,attr,anavar,anaattr,ana,dataonly,anaonly,template,attr_only) 1767 TYPE(vol7d_dballe), INTENT(inout) :: this 1768 character(len=network_name_len), INTENT(in), optional :: network 1771 TYPE(geo_coord), INTENT(in), optional :: coordmin,coordmax 1773 TYPE(datetime), INTENT(in), optional :: timei, timef 1774 TYPE(vol7d_level), INTENT(in), optional :: level 1775 TYPE(vol7d_timerange), INTENT(in), optional :: timerange 1778 CHARACTER(len=*), INTENT(in), OPTIONAL :: var(:),attr(:),anavar(:),anaattr(:) 1783 TYPE(vol7d_ana), INTENT(inout), optional :: ana 1784 logical, intent(in), optional :: dataonly 1785 logical, intent(in), optional :: anaonly 1788 character(len=*), intent(in), optional :: template 1789 logical, intent(in), optional :: attr_only 1792 type(dbadcv) :: vars,starvars,anavars,anastarvars 1793 type(dbafilter) :: filter 1794 type(dbacoord) :: mydbacoordmin, mydbacoordmax 1795 type(dbaana) :: mydbaana 1796 type(dbadatetime) :: mydatetimemin, mydatetimemax 1797 type(dbatimerange) :: mydbatimerange 1798 type(dbalevel) :: mydbalevel 1799 type(dbanetwork) :: mydbanetwork 1802 LOGICAL :: lattr, lanaattr 1803 integer :: nanaattr,nattr,nanavar,nvar 1812 if ( present(var)) then 1813 nvar=count(c_e(var)) 1815 allocate (vars%dcv(nvar)) 1817 if (c_e(var(i))) then 1818 allocate (vars%dcv(i)%dat,source=dbadatac(var(i))) 1824 if ( present(anavar)) then 1825 nanavar=count(c_e(anavar)) 1826 if (nanavar > 0) then 1827 allocate (anavars%dcv(nanavar)) 1829 if (c_e(anavar(i))) then 1830 allocate (anavars%dcv(i)%dat,source=dbadatac(anavar(i))) 1837 if ( present(attr)) then 1838 nattr=count(c_e(attr)) 1841 allocate (starvars%dcv(nattr)) 1843 if (c_e(attr(i))) then 1844 allocate (starvars%dcv(i)%dat,source=dbadatac(attr(i))) 1851 if ( present(anaattr)) then 1852 nanaattr=count(c_e(anaattr)) 1853 if (nanaattr > 0) then 1855 allocate (anastarvars%dcv(nanaattr)) 1856 do i=1, size(anaattr) 1857 if (c_e(anaattr(i))) then 1858 allocate (anastarvars%dcv(i)%dat,source=dbadatac(anaattr(i))) 1866 mydbacoordmin=dbacoord() 1867 if ( present(coordmin)) mydbacoordmin%geo_coord=coordmin 1868 mydbacoordmax=dbacoord() 1869 if ( present(coordmax)) mydbacoordmax%geo_coord=coordmax 1871 if ( present(ana)) mydbaana%vol7d_ana=ana 1872 mydatetimemin=dbadatetime() 1873 if ( present(timei)) mydatetimemin%datetime=timei 1874 mydatetimemax=dbadatetime() 1875 if ( present(timef)) mydatetimemax%datetime=timef 1876 mydbatimerange=dbatimerange() 1877 if ( present(timerange)) mydbatimerange%vol7d_timerange=timerange 1878 mydbalevel=dbalevel() 1879 if ( present(level)) mydbalevel%vol7d_level=level 1880 mydbanetwork=dbanetwork() 1881 if ( present(network)) call init(mydbanetwork%vol7d_network,name=network) 1886 filter=dbafilter(coordmin=mydbacoordmin,coordmax=mydbacoordmax,ana=mydbaana, & 1887 datetimemin=mydatetimemin,datetimemax=mydatetimemax, & 1888 timerange=mydbatimerange,level=mydbalevel,network=mydbanetwork,& 1889 vars=vars,starvars=starvars,anavars=anavars,anastarvars=anastarvars,& 1890 dataonly=dataonly,anaonly=anaonly) 1895 call export (this, filter,template,attr_only) 1897 end SUBROUTINE vol7d_dballe_export_old 1900 subroutine vol7d_dballe_export (this, filter, template, attr_only) 1902 TYPE(vol7d_dballe), INTENT(inout) :: this 1903 type(dbafilter), intent(in) :: filter 1906 character(len=*), intent(in), optional :: template 1907 logical, intent(in), optional :: attr_only 1909 character(len=40) :: ltemplate 1911 type(dbametaanddatalist) :: metaanddatal 1914 metaanddatal=dbametaanddatalist() 1916 call v7d2dba(this%vol7d,metaanddatal) 1920 if (this%file) call this%handle%remove_all() 1923 call metaanddatal%extrude(session=this%handle,filter=filter,attronly=attr_only,template=template) 1936 call filter%dbaset(this%handle) 1938 ltemplate=this%handle%template 1939 if ( present(template)) then 1943 call this%handle%messages_write_next(ltemplate) 1946 call this%handle%remove_all() 1950 stat = metaanddatal%delete() 1952 end subroutine vol7d_dballe_export 1955 subroutine v7d2dba(v7d,metaanddatal) 1956 TYPE(vol7d), INTENT(in) :: v7d 1957 type(dbametaanddatalist), intent(inout) :: metaanddatal 1959 TYPE(vol7d_serialize_dballe) :: serialize 1961 serialize = vol7d_serialize_dballe_new() 1962 serialize%anaonly=.true. 1963 call serialize%vol7d_serialize_setup(v7d) 1964 call serialize%vol7d_serialize_export(metaanddatal) 1966 serialize = vol7d_serialize_dballe_new() 1967 serialize%dataonly=.true. 1968 call serialize%vol7d_serialize_setup(v7d) 1969 call serialize%vol7d_serialize_export(metaanddatal) 1971 end subroutine v7d2dba 1989 classe per import ed export di volumi da e in DB-All.e
|