|
|
◆ 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 1742 del file vol7d_dballe_class.F03.
1744 IF (unit == -1) RETURN 1746 OPEN(unit, file=path, status= 'old', iostat = i) 1748 CALL l4f_log(l4f_info, 'dballe file '//trim(path)// ' opened') 1752 CALL l4f_log(l4f_error, 'dballe file '//trim(filename)// ' not found') 1756 END FUNCTION open_dballe_file 1770 SUBROUTINE vol7d_dballe_export_old(this, network, coordmin, coordmax,& 1771 timei, timef,level,timerange,var,attr,anavar,anaattr,ana,dataonly,anaonly,template,attr_only) 1773 TYPE(vol7d_dballe), INTENT(inout) :: this 1774 character(len=network_name_len), INTENT(in), optional :: network 1777 TYPE(geo_coord), INTENT(in), optional :: coordmin,coordmax 1779 TYPE(datetime), INTENT(in), optional :: timei, timef 1780 TYPE(vol7d_level), INTENT(in), optional :: level 1781 TYPE(vol7d_timerange), INTENT(in), optional :: timerange 1784 CHARACTER(len=*), INTENT(in), OPTIONAL :: var(:),attr(:),anavar(:),anaattr(:) 1789 TYPE(vol7d_ana), INTENT(inout), optional :: ana 1790 logical, intent(in), optional :: dataonly 1791 logical, intent(in), optional :: anaonly 1794 character(len=*), intent(in), optional :: template 1795 logical, intent(in), optional :: attr_only 1798 type(dbadcv) :: vars,starvars,anavars,anastarvars 1799 type(dbafilter) :: filter 1800 type(dbacoord) :: mydbacoordmin, mydbacoordmax 1801 type(dbaana) :: mydbaana 1802 type(dbadatetime) :: mydatetimemin, mydatetimemax 1803 type(dbatimerange) :: mydbatimerange 1804 type(dbalevel) :: mydbalevel 1805 type(dbanetwork) :: mydbanetwork 1808 LOGICAL :: lattr, lanaattr 1809 integer :: nanaattr,nattr,nanavar,nvar 1818 if ( present(var)) then 1819 nvar=count(c_e(var)) 1821 allocate (vars%dcv(nvar)) 1823 if (c_e(var(i))) then 1824 allocate (vars%dcv(i)%dat,source=dbadatac(var(i))) 1830 if ( present(anavar)) then 1831 nanavar=count(c_e(anavar)) 1832 if (nanavar > 0) then 1833 allocate (anavars%dcv(nanavar)) 1835 if (c_e(anavar(i))) then 1836 allocate (anavars%dcv(i)%dat,source=dbadatac(anavar(i))) 1843 if ( present(attr)) then 1844 nattr=count(c_e(attr)) 1847 allocate (starvars%dcv(nattr)) 1849 if (c_e(attr(i))) then 1850 allocate (starvars%dcv(i)%dat,source=dbadatac(attr(i))) 1857 if ( present(anaattr)) then 1858 nanaattr=count(c_e(anaattr)) 1859 if (nanaattr > 0) then 1861 allocate (anastarvars%dcv(nanaattr)) 1862 do i=1, size(anaattr) 1863 if (c_e(anaattr(i))) then 1864 allocate (anastarvars%dcv(i)%dat,source=dbadatac(anaattr(i))) 1872 mydbacoordmin=dbacoord() 1873 if ( present(coordmin)) mydbacoordmin%geo_coord=coordmin 1874 mydbacoordmax=dbacoord() 1875 if ( present(coordmax)) mydbacoordmax%geo_coord=coordmax 1877 if ( present(ana)) mydbaana%vol7d_ana=ana 1878 mydatetimemin=dbadatetime() 1879 if ( present(timei)) mydatetimemin%datetime=timei 1880 mydatetimemax=dbadatetime() 1881 if ( present(timef)) mydatetimemax%datetime=timef 1882 mydbatimerange=dbatimerange() 1883 if ( present(timerange)) mydbatimerange%vol7d_timerange=timerange 1884 mydbalevel=dbalevel() 1885 if ( present(level)) mydbalevel%vol7d_level=level 1886 mydbanetwork=dbanetwork() 1887 if ( present(network)) call init(mydbanetwork%vol7d_network,name=network) 1892 filter=dbafilter(coordmin=mydbacoordmin,coordmax=mydbacoordmax,ana=mydbaana, & 1893 datetimemin=mydatetimemin,datetimemax=mydatetimemax, & 1894 timerange=mydbatimerange,level=mydbalevel,network=mydbanetwork,& 1895 vars=vars,starvars=starvars,anavars=anavars,anastarvars=anastarvars,& 1896 dataonly=dataonly,anaonly=anaonly) 1901 call export (this, filter,template,attr_only) 1903 end SUBROUTINE vol7d_dballe_export_old 1906 subroutine vol7d_dballe_export (this, filter, template, attr_only) 1908 TYPE(vol7d_dballe), INTENT(inout) :: this 1909 type(dbafilter), intent(in) :: filter 1912 character(len=*), intent(in), optional :: template 1913 logical, intent(in), optional :: attr_only 1915 character(len=40) :: ltemplate 1917 type(dbametaanddatalist) :: metaanddatal 1920 metaanddatal=dbametaanddatalist() 1922 call v7d2dba(this%vol7d,metaanddatal) 1926 if (this%file) call this%handle%remove_all() 1929 call metaanddatal%extrude(session=this%handle,filter=filter,attronly=attr_only,template=template) 1942 call filter%dbaset(this%handle) 1944 ltemplate=this%handle%template 1945 if ( present(template)) then 1949 call this%handle%messages_write_next(ltemplate) 1952 call this%handle%remove_all() 1956 stat = metaanddatal%delete() 1958 end subroutine vol7d_dballe_export 1961 subroutine v7d2dba(v7d,metaanddatal) 1962 TYPE(vol7d), INTENT(in) :: v7d 1963 type(dbametaanddatalist), intent(inout) :: metaanddatal 1965 TYPE(vol7d_serialize_dballe) :: serialize 1967 serialize = vol7d_serialize_dballe_new() 1968 serialize%anaonly=.true. 1969 call serialize%vol7d_serialize_setup(v7d) 1970 call serialize%vol7d_serialize_export(metaanddatal) 1972 serialize = vol7d_serialize_dballe_new() 1973 serialize%dataonly=.true. 1974 call serialize%vol7d_serialize_setup(v7d) 1975 call serialize%vol7d_serialize_export(metaanddatal) 1977 end subroutine v7d2dba 1995 classe per import ed export di volumi da e in DB-All.e
|