Programma esempio semplice per gridinfo e volgrid6d. Programma che importa da file un vettore di gridinfo poi lo importa in volgrid6d. Da volgrid6d viene di nuovo creato un vettore di gridinfo per poi exportare su file.
28 integer :: category,ier
29 character(len=512):: a_name
34 TYPE(grid_id) :: gaid, gaid_template
38 call l4f_launcher(a_name,a_name_force=
"demo3")
44 category=l4f_category_get(a_name//
".main")
49 ifile = grid_file_id_new(
'../data/in.grb',
'r')
50 ngrib = grid_file_id_count(ifile)
53 "Numero totale di grib: "//
to_char(ngrib))
56 CALL
insert(gridinfoin, nelem=ngrib)
62 gaid = grid_id_new(ifile)
63 IF (.NOT.
c_e(gaid))
EXIT
67 CALL
init(gridinfoin%array(ngrib), gaid=gaid, categoryappend=trim(
to_char(ngrib)))
68 CALL
import(gridinfoin%array(ngrib))
76 call
import(volgrid, gridinfoin, categoryappend=
"volume di test")
84 gaid_template = grid_id_new(grib_api_template=
"regular_ll_sfc_grib1")
86 call
l4f_category_log(category,l4f_info,
"export a un grib fatto come voglio io")
88 call
export(volgrid, gridinfoout, gaid_template=gaid_template)
90 ifile = grid_file_id_new(
'out.grb',
'w')
92 do ngrib=1,gridinfoout%arraysize
95 if(
c_e(gridinfoout%array(ngrib)%gaid))
then
96 call
export(gridinfoout%array(ngrib))
97 call
export(gridinfoout%array(ngrib)%gaid,ifile)
108 call l4f_category_delete(category)