libsim  Versione6.3.0
example_alchimiav7d.f03

Sample program to demostrate the alchimia module with vol7d.

1 program alchimiav7d
2 
3 USE alchimia
4 USE termo
5 USE vol7d_class
7 USE vol7d_alchimia_class
9 use log4fortran
10 
11 IMPLICIT NONE
12 type(fndsv) :: vfn,vfnoracle
13 character(len=10), allocatable:: mybout(:)
14 type(vol7d_dballe) :: myin,myout
15 character(len=255) :: filenamein,filenameout
16 
17 integer :: category,ier
18 character(len=512):: a_name
19 
20 !questa chiamata prende dal launcher il nome univoco
21 call l4f_launcher(a_name)
22 
23 !init di log4fortran
24 ier=l4f_init()
25 
26 !imposta a_name
27 category=l4f_category_get(a_name)
28 
29 call l4f_category_log(category,l4f_info,"Start")
30 
31 mybout = [character(len=10) :: "B12192"]
32 filenamein="../data/example_temp.bufr"
33 filenameout="../data/tp.bufr"
34 
35 call register_termo(vfn)
36 
37 call init(myin,filename=filenamein, file=.true., categoryappend="input")
38 call init(myout,filename=filenameout, file=.true., write=.true., wipe=.true., categoryappend="output",template="generic")
39 
40 !CALL import(myin,var=(/"B12101","B10004"/),varkind=(/"r","r"/))
41 CALL import(myin)
42 
43 call display(myin%vol7d)
44 
45 if (alchemy(myin%vol7d,vfn,mybout,myout%vol7d,copy=.true.,vfnoracle=vfnoracle) /= 0 ) then
46  print*, "I cannot make ",mybout
47 
48  if (.not. shoppinglist(mybout,vfn,vfnoracle)) then
49  print*, " error shoppinglist"
50  stop 2
51  else
52  call display(compile_sl(vfnoracle))
53  stop 3
54  end if
55 end if
56 
57 call display(vfnoracle)
58 
59 call display(myout%vol7d)
60 call export(myout)
61 
62 call delete(myout)
63 call delete(myin)
64 
65 !chiudo il logger
66 call l4f_category_delete(category)
67 ier=l4f_fini()
68 
69 end program alchimiav7d

Generated with Doxygen.