libsim  Versione7.2.1
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 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/t_p.grb"
33 filenameout="../data/tp.grb"
34 
35 call register_termo(vfn)
36 
37 CALL import(myin,filename=filenamein,decode=.true., time_definition=0, categoryappend="input")
38 
39 call display(myin)
40 
41 if (alchemy(myin,vfn,mybout,myout,copy=.true.,vfnoracle=vfnoracle) /= 0) then
42  print*, "I cannot make ",mybout
43 
44  if (.not. shoppinglist(mybout,vfn,vfnoracle)) then
45  print*, " error shoppinglist"
46  stop 2
47  else
48  call display(compile_sl(vfnoracle))
49  stop 3
50  end if
51 end if
52 
53 call display(vfnoracle)
54 
55 call export(myout,filenameout)
56 call display(myout)
57 
58 call delete(myout)
59 call delete(myin)
60 
61 !chiudo il logger
62 call l4f_category_delete(category)
63 ier=l4f_fini()
64 
65 end program alchimiavg6d

Generated with Doxygen.