11 integer :: ier, category
12 CHARACTER(len=512) :: a_name
15 call l4f_launcher(a_name,a_name_force=
"dballe_test")
19 category=l4f_category_get(a_name//
".main")
23 session=
dbasession(connection,wipe=.true.,write=.true.)
30 sessionto=
dbasession(filename=
"dballe_test2.bufr",wipe=.true.,write=.true.,memdb=.false.,template=
"generic")
33 call sessionto%delete()
36 sessionto=
dbasession(filename=
"dballe_test2_memdb.bufr",wipe=.true.,write=.true.,memdb=.true.,template=
"generic")
41 call sessionto%delete()
43 call connection%delete()
47 CALL l4f_category_delete(category)
58 print *,
"----------------------------------------------"
59 print *,
"--------------- write1 ------------------------"
61 allocate(metaanddata(5))
64 level=
dbalevel(level1=105, l1=2000) &
66 ,ana=
dbaana(lon=10.d0,lat=45.d0) &
68 ,datetime=
dbadatetime(datetime_new(2014,01,06,18,00)))
71 level=
dbalevel(level1=105, l1=2000) &
73 ,ana=
dbaana(lon=11.d0,lat=45.d0) &
75 ,datetime=
dbadatetime(datetime_new(2014,01,06,18,00)))
78 level=
dbalevel(level1=105, l1=2000) &
80 ,ana=
dbaana(lon=12.d0,lat=45.d0) &
82 ,datetime=
dbadatetime(datetime_new(2014,01,06,18,00)))
85 level=
dbalevel(level1=105, l1=2000) &
87 ,ana=
dbaana(lon=13.d0,lat=45.d0) &
89 ,datetime=
dbadatetime(datetime_new(2014,01,06,18,00)))
92 level=
dbalevel(level1=105, l1=2000) &
94 ,ana=
dbaana(lon=14.d0,lat=45.d0) &
96 ,datetime=
dbadatetime(datetime_new(2014,01,06,18,00)))
100 allocate (metaanddata(1)%dataattrv%dataattr(1))
103 allocate (metaanddata(1)%dataattrv%dataattr(1)%dat,source=
dbadatai(
"B13003",85))
106 allocate (attrv%dcv(3))
107 allocate (attrv%dcv(1)%dat,source=
dbadatar(
"*B33192",30.))
108 allocate (attrv%dcv(2)%dat,source=
dbadatai(
"*B33193",50))
109 allocate (attrv%dcv(3)%dat,source=
dbadatar(
"*B33194",70.))
111 metaanddata(1)%dataattrv%dataattr(1)%attrv=attrv
114 allocate (metaanddata(2)%dataattrv%dataattr(1))
116 allocate (metaanddata(2)%dataattrv%dataattr(1)%dat,source=
dbadatai(
"B12101",27315))
118 deallocate(attrv%dcv)
119 allocate (attrv%dcv(2))
120 allocate (attrv%dcv(1)%dat,source=
dbadatar(
"*B33192",30.))
121 allocate (attrv%dcv(2)%dat,source=
dbadatai(
"*B33193",50))
123 metaanddata(2)%dataattrv%dataattr(1)%attrv=attrv
127 allocate (metaanddata(3)%dataattrv%dataattr(1))
129 allocate (metaanddata(3)%dataattrv%dataattr(1)%dat,source=
dbadatai(
"B12101",imiss))
131 deallocate(attrv%dcv)
132 allocate (attrv%dcv(1))
133 allocate (attrv%dcv(1)%dat,source=
dbadatar(
"*B33192",rmiss))
135 metaanddata(3)%dataattrv%dataattr(1)%attrv=attrv
139 allocate (metaanddata(4)%dataattrv%dataattr(1))
141 allocate (metaanddata(4)%dataattrv%dataattr(1)%dat,source=
dbadatai(
"B12101",27315))
143 deallocate(attrv%dcv)
144 allocate (attrv%dcv(1))
145 allocate (attrv%dcv(1)%dat,source=
dbadatar(
"*B33192",rmiss))
147 metaanddata(4)%dataattrv%dataattr(1)%attrv=attrv
152 allocate (metaanddata(5)%dataattrv%dataattr(1))
155 allocate (metaanddata(5)%dataattrv%dataattr(1)%dat,source=
dbadatai(
"B13003",-5))
158 deallocate (attrv%dcv)
159 allocate (attrv%dcv(1))
160 allocate (attrv%dcv(1)%dat,source=
dbadatar(
"*B33192",30.))
162 metaanddata(5)%dataattrv%dataattr(1)%attrv=attrv
169 do i=1,
size(metaanddata)
170 call metaanddata(i)%display()
172 call metaanddata(i)%extrude(session)
176 end subroutine write1
185 print *,
"----------------------------------------------"
186 print *,
"--------------- delete ----------------------"
189 allocate(metadata(1))
192 level=
dbalevel(level1=105, l1=2000) &
194 ,ana=
dbaana(lon=10.d0,lat=45.d0) &
196 ,datetime=
dbadatetime(datetime_new(2014,01,06,18,00)))
198 filter=
dbafilter(var=
"B13003",starvarlist=
"*B33193,*B33194")
199 call session%set(filter=filter)
200 call session%dissolveattr(metadata)
204 end subroutine delete3
206 subroutine writeattronly()
212 print *,
"----------------------------------------------"
213 print *,
"--------------- writeattronly ------------------------"
215 allocate(metaanddata(1))
218 level=
dbalevel(level1=105, l1=2000) &
220 ,ana=
dbaana(lon=11.d0,lat=45.d0) &
222 ,datetime=
dbadatetime(datetime_new(2014,01,06,18,00)))
226 allocate (metaanddata(1)%dataattrv%dataattr(1))
229 allocate (metaanddata(1)%dataattrv%dataattr(1)%dat,source=
dbadatai(
"B12101",28315))
232 allocate (attrv%dcv(2))
233 allocate (attrv%dcv(1)%dat,source=
dbadatar(
"*B33193"))
234 allocate (attrv%dcv(2)%dat,source=
dbadatar(
"*B33194",40.))
236 metaanddata(1)%dataattrv%dataattr(1)%attrv=attrv
242 do i=1,
size(metaanddata)
243 call metaanddata(i)%display()
245 call metaanddata(i)%extrude(session,attronly=.true.)
249 end subroutine writeattronly
251 subroutine export2bufr()
255 print *,
"----------------------------------------------"
256 print *,
"--------------- export2bufr ------------------------"
258 call session%ingest(metaanddatav)
260 do i=1,
size(metaanddatav)
261 call metaanddatav(i)%display()
263 call metaanddatav(i)%extrude(sessionto)
264 if (sessionto%memdb)
then
265 call sessionto%messages_write_next(
"generic")
267 call sessionto%remove_all()
271 end subroutine export2bufr
274 end program dballe_test
Classi per la gestione delle coordinate temporali.
Definitions of constants and functions for working with missing values.
vector of container of dbadata
filter to apply before ingest data
manage connection handle to a DSN
class for import and export data from e to DB-All.e.
integer version for dbadata
classe per la gestione del logging
Global log4fortran constructor.