libsim  Versione8.0.0
example_alchimiavg6d.f03

Sample program to demostrate the alchimia module with volgrid6d.

1 program alchimiavg6d
2 
3 USE alchimia
4 USE termo
6 USE volgrid6d_alchimia_class
7 use log4fortran
8 
9 IMPLICIT NONE
10 
11 type(fndsv) :: vfn, vfnoracle
12 character(len=10), allocatable:: mybout(:)
13 type(volgrid6d),pointer :: myin(:),myout(:)
14 
15 character(len=255) :: filenamein,filenameout
16 
17 TYPE(l4f_handle) :: category
18 INTEGER :: ier
19 CHARACTER(len=512):: a_name
20 
21 !questa chiamata prende dal launcher il nome univoco
22 call l4f_launcher(a_name)
23 
24 !init di log4fortran
25 ier=l4f_init()
26 
27 !imposta a_name
28 category=l4f_category_get_handle(a_name)
29 
30 call l4f_category_log(category,l4f_info,"Start")
31 
32 mybout = [character(len=10) :: "B12192"]
33 filenamein="../data/t_p.grb"
34 filenameout="../data/tp.grb"
35 
36 call register_termo(vfn)
37 
38 CALL import(myin,filename=filenamein,decode=.true., time_definition=0, categoryappend="input")
39 
40 call display(myin)
41 
42 if (alchemy(myin,vfn,mybout,myout,copy=.true.,vfnoracle=vfnoracle) /= 0) then
43  print*, "I cannot make ",mybout
44 
45  if (.not. shoppinglist(mybout,vfn,vfnoracle)) then
46  print*, " error shoppinglist"
47  stop 2
48  else
49  call display(compile_sl(vfnoracle))
50  stop 3
51  end if
52 end if
53 
54 call display(vfnoracle)
55 
56 call export(myout,filenameout)
57 call display(myout)
58 
59 call delete(myout)
60 call delete(myin)
61 
62 !chiudo il logger
63 call l4f_category_delete(category)
64 ier=l4f_fini()
65 
66 end program alchimiavg6d

Generated with Doxygen.