11type(dbasession) :: session, sessionto
12type(dbaconnection) :: connection
13TYPE(l4f_handle) :: category
15CHARACTER(len=512) :: a_name
18call l4f_launcher(a_name,a_name_force=
"dballe_test")
22category=l4f_category_get_handle(trim(a_name)//
".main")
26session=
dbasession(connection,wipe=.true.,write=.true.)
33sessionto=
dbasession(filename=
"dballe_test2.bufr",wipe=.true.,write=.true.,memdb=.false.,template=
"generic")
36# ifndef F2003_FULL_FEATURES
37call sessionto%delete()
41sessionto=
dbasession(filename=
"dballe_test2_memdb.bufr",wipe=.true.,write=.true.,memdb=.true.,template=
"generic")
45# ifndef F2003_FULL_FEATURES
47call sessionto%delete()
49call connection%delete()
53CALL l4f_category_delete(category)
60type(dbametaanddata),
allocatable :: metaanddata(:)
64print *,
"----------------------------------------------"
65print *,
"--------------- write1 ------------------------"
67allocate(metaanddata(5))
70 level=
dbalevel(level1=105, l1=2000) &
72 ,ana=
dbaana(lon=10.d0,lat=45.d0) &
77 level=
dbalevel(level1=105, l1=2000) &
79 ,ana=
dbaana(lon=11.d0,lat=45.d0) &
84 level=
dbalevel(level1=105, l1=2000) &
86 ,ana=
dbaana(lon=12.d0,lat=45.d0) &
91 level=
dbalevel(level1=105, l1=2000) &
93 ,ana=
dbaana(lon=13.d0,lat=45.d0) &
98 level=
dbalevel(level1=105, l1=2000) &
100 ,ana=
dbaana(lon=14.d0,lat=45.d0) &
106allocate (metaanddata(1)%dataattrv%dataattr(1))
109allocate (metaanddata(1)%dataattrv%dataattr(1)%dat,source=
dbadatai(
"B13003",85))
112allocate (attrv%dcv(3))
113allocate (attrv%dcv(1)%dat,source=
dbadatar(
"*B33192",30.))
114allocate (attrv%dcv(2)%dat,source=
dbadatai(
"*B33193",50))
115allocate (attrv%dcv(3)%dat,source=
dbadatar(
"*B33194",70.))
117metaanddata(1)%dataattrv%dataattr(1)%attrv=attrv
120allocate (metaanddata(2)%dataattrv%dataattr(1))
122allocate (metaanddata(2)%dataattrv%dataattr(1)%dat,source=
dbadatai(
"B12101",27315))
125allocate (attrv%dcv(2))
126allocate (attrv%dcv(1)%dat,source=
dbadatar(
"*B33192",30.))
127allocate (attrv%dcv(2)%dat,source=
dbadatai(
"*B33193",50))
129metaanddata(2)%dataattrv%dataattr(1)%attrv=attrv
133allocate (metaanddata(3)%dataattrv%dataattr(1))
135allocate (metaanddata(3)%dataattrv%dataattr(1)%dat,source=
dbadatai(
"B12101",imiss))
138allocate (attrv%dcv(1))
139allocate (attrv%dcv(1)%dat,source=
dbadatar(
"*B33192",rmiss))
141metaanddata(3)%dataattrv%dataattr(1)%attrv=attrv
145allocate (metaanddata(4)%dataattrv%dataattr(1))
147allocate (metaanddata(4)%dataattrv%dataattr(1)%dat,source=
dbadatai(
"B12101",27315))
150allocate (attrv%dcv(1))
151allocate (attrv%dcv(1)%dat,source=
dbadatar(
"*B33192",rmiss))
153metaanddata(4)%dataattrv%dataattr(1)%attrv=attrv
158allocate (metaanddata(5)%dataattrv%dataattr(1))
161allocate (metaanddata(5)%dataattrv%dataattr(1)%dat,source=
dbadatai(
"B13003",-5))
164deallocate (attrv%dcv)
165allocate (attrv%dcv(1))
166allocate (attrv%dcv(1)%dat,source=
dbadatar(
"*B33192",30.))
168metaanddata(5)%dataattrv%dataattr(1)%attrv=attrv
175do i=1,
size(metaanddata)
176 call metaanddata(i)%display()
178 call metaanddata(i)%extrude(session)
188type(dbametadata),
allocatable :: metadata(:)
189type(dbafilter) :: filter
191print *,
"----------------------------------------------"
192print *,
"--------------- delete ----------------------"
198 level=
dbalevel(level1=105, l1=2000) &
200 ,ana=
dbaana(lon=10.d0,lat=45.d0) &
204filter=
dbafilter(var=
"B13003",starvarlist=
"*B33193,*B33194")
205call session%set(filter=filter)
206call session%dissolveattr(metadata)
210end subroutine delete3
212subroutine writeattronly()
214type(dbametaanddata),
allocatable :: metaanddata(:)
218print *,
"----------------------------------------------"
219print *,
"--------------- writeattronly ------------------------"
221allocate(metaanddata(1))
224 level=
dbalevel(level1=105, l1=2000) &
226 ,ana=
dbaana(lon=11.d0,lat=45.d0) &
232allocate (metaanddata(1)%dataattrv%dataattr(1))
235allocate (metaanddata(1)%dataattrv%dataattr(1)%dat,source=
dbadatai(
"B12101",28315))
238allocate (attrv%dcv(2))
239allocate (attrv%dcv(1)%dat,source=
dbadatar(
"*B33193"))
240allocate (attrv%dcv(2)%dat,source=
dbadatar(
"*B33194",40.))
242metaanddata(1)%dataattrv%dataattr(1)%attrv=attrv
248do i=1,
size(metaanddata)
249 call metaanddata(i)%display()
251 call metaanddata(i)%extrude(session,attronly=.true.)
255end subroutine writeattronly
257subroutine export2bufr()
258type(dbametaanddata),
allocatable:: metaanddatav(:)
261print *,
"----------------------------------------------"
262print *,
"--------------- export2bufr ------------------------"
264call session%ingest(metaanddatav)
266do i=1,
size(metaanddatav)
267 call metaanddatav(i)%display()
269 call metaanddatav(i)%extrude(sessionto)
270 if (sessionto%memdb)
then
271 call sessionto%messages_write_next(
"generic")
273 call sessionto%remove_all()
277end subroutine export2bufr
280end program dballe_test
Global log4fortran destructor.
Global log4fortran constructor.
Classi per la gestione delle coordinate temporali.
class for import and export data from e to DB-All.e.
classe per la gestione del logging
Definitions of constants and functions for working with missing values.
Class for expressing an absolute time value.
manage connection handle to a DSN
integer version for dbadata
filter to apply before ingest data