15 use deallocate_structures
18 type (type_equilibrium
),
pointer :: euitm_equilibrium_in(:)
19 type (type_equilibrium
),
pointer :: euitm_equilibrium_out(:)
20 type (type_param
),
save :: code_parameters
21 logical,
save :: first = .true.
22 integer,
save :: ncall = 0
23 character*32 :: filename =
'EQ_######'
24 integer(itm_i4) :: i, iargc
27 subroutine helena (euitm_equilibrium_in, euitm_equilibrium_out, in_path, code_parameters)
30 type (type_equilibrium
),
pointer :: euitm_equilibrium_in(:)
31 type (type_equilibrium
),
pointer :: euitm_equilibrium_out(:)
32 character(len = 132),
optional :: in_path
33 type (type_param
) :: code_parameters
38 write(*,*)
'filename should be specified'
39 stop
'error: missing filename'
41 call fill_param(code_parameters,
'XML/helena.xml',
'',
'XML/helena.xsd')
43 call getarg(i,filename)
44 write(*,*)
'Processing ',trim(filename)
46 call open_read_file(1, filename)
47 allocate(euitm_equilibrium_in(1))
48 call read_cpo(euitm_equilibrium_in(1),
'equilibrium')
50 CALL
helena(euitm_equilibrium_in, euitm_equilibrium_out, code_parameters=code_parameters)
53 write(filename(4:9),
'(I6.6)') i-1
54 call open_write_file(1, trim(filename)//
'.OUT2')
55 call write_cpo(euitm_equilibrium_out(1),
'equilibrium')
58 call deallocate_cpo(euitm_equilibrium_in)
59 call deallocate_cpo(euitm_equilibrium_out)
subroutine helena(equilibrium_in, equilibrium_out, in_path, code_parameters)
program run_helena
Run helena based on a CPO stored in ascii format.