DISPATCH
setup_mod.f90
1 !===============================================================================
2 !===============================================================================
3 MODULE setup_mod
4  USE io_mod
5  USE trace_mod
6  USE mpi_mod
7  USE eos_mod
8  USE opacity_mod
9  USE scaling_mod
10  USE timer_mod
11  USE download_mod
12  implicit none
13  private
14 
15  type, public:: setup_t
16  contains
17  procedure:: init
18  procedure:: end
19  end type
20  type(setup_t), public:: setup
21 
22 CONTAINS
23 
24 !===============================================================================
25 !> Initialise basic components.
26 !===============================================================================
27 SUBROUTINE init (self)
28  class(setup_t):: self
29  !.............................................................................
30  call mpi%init ! MPI startup
31  call io%init ! I/O system
32  call trace%begin ('setup_t%init')
33  call scaling%init ! Scaling to code units
34  call eos%init ! Equation-of-state
35  call opacity%init ! Opacity
36  call download%init ! Downloading and interpolation parameters
37  call trace%end()
38 END SUBROUTINE init
39 
40 !===============================================================================
41 !> The run is finished; tidy up.
42 !> For the moment, only MPI needs to ended; this would be a good place to put
43 !> hooks for other finalisation tasks.
44 !===============================================================================
45 SUBROUTINE end (self)
46  class(setup_t):: self
47  !.............................................................................
48  call trace%begin ('setup_t%end')
49  call mpi%end
50  call trace%end()
51 END SUBROUTINE end
52 
53 END MODULE setup_mod
Each thread uses a private timer data type, with arrays for start time and total time for each regist...
Definition: timer_mod.f90:11
download_link: takes care of downloads to linktask same: called for patches on the same level differ:...
Define code units, in terms of (here) CGS units.
Definition: scaling_mod.f90:4
Equation of state module for any sort of tables, provided by a reader.
Definition: eos_mod.f90:4
Definition: io_mod.f90:4