13#include "./base/base_uses.f90"
24 CHARACTER(LEN=default_path_length) :: cwd =
""
25 CHARACTER(LEN=default_path_length) :: input =
""
26 CHARACTER(LEN=default_path_length) :: output =
""
28 INTEGER,
POINTER,
DIMENSION(:) :: dependencies => null()
29 INTEGER :: status = -1
34 INTEGER :: group_size_wish = -1
35 LOGICAL :: group_size_wish_set = .false.
36 INTEGER :: ngroup_wish = -1
37 LOGICAL :: ngroup_wish_set = .false.
38 LOGICAL :: restart = .false.
39 LOGICAL :: cycle = .false.
40 LOGICAL :: captain_minion = .false.
41 INTEGER,
DIMENSION(:),
POINTER :: group_partition => null()
42 CHARACTER(LEN=default_path_length) :: restart_file_name =
""
43 CHARACTER(LEN=default_path_length) :: cwd =
""
45 INTEGER :: restart_n = -1
46 INTEGER :: max_steps = -1
48 INTEGER :: stride = -1
49 TYPE(job_type),
DIMENSION(:),
POINTER :: job => null()
50 REAL(kind=
dp) :: wait_time = 0.0_dp
65 IF (
ASSOCIATED(farming_env))
THEN
66 farming_env%group_size_wish = 0
67 farming_env%group_size_wish_set = .false.
68 farming_env%ngroup_wish = 0
69 farming_env%ngroup_wish_set = .false.
70 farming_env%restart = .false.
71 farming_env%restart_n = 1
72 farming_env%cycle = .false.
73 farming_env%captain_minion = .false.
74 NULLIFY (farming_env%group_partition)
78 farming_env%max_steps = 65535
79 NULLIFY (farming_env%Job)
90 TYPE(job_type),
INTENT(OUT) :: job
97 NULLIFY (job%dependencies)
107 SUBROUTINE deallocate_job_type(job)
108 TYPE(job_type) :: job
110 IF (
ASSOCIATED(job%dependencies))
DEALLOCATE (job%dependencies)
112 END SUBROUTINE deallocate_job_type
126 IF (
ASSOCIATED(farming_env))
THEN
127 IF (
ASSOCIATED(farming_env%job))
THEN
128 DO i = 1,
SIZE(farming_env%job, 1)
129 CALL deallocate_job_type(farming_env%job(i))
131 DEALLOCATE (farming_env%job)
133 IF (
ASSOCIATED(farming_env%group_partition))
DEALLOCATE (farming_env%group_partition)
134 DEALLOCATE (farming_env)
elemental subroutine, public init_job_type(job)
provide a default initialization
subroutine, public deallocate_farming_env(farming_env)
deallocates all associated fields of the farming_env type and the type itself
integer, parameter, public job_finished
integer, parameter, public job_running
integer, parameter, public job_pending
subroutine, public init_farming_env(farming_env)
help poor compilers do their job i.e. provide a default initialization
Defines the basic variable types.
integer, parameter, public dp
integer, parameter, public default_path_length