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.
42 INTEGER,
DIMENSION(:),
POINTER :: group_partition => null()
43 CHARACTER(LEN=default_path_length) :: restart_file_name =
""
44 CHARACTER(LEN=default_path_length) :: cwd =
""
46 INTEGER :: restart_n = -1
47 INTEGER :: max_steps = -1
49 INTEGER :: stride = -1
50 TYPE(job_type),
DIMENSION(:),
POINTER :: job => null()
51 REAL(kind=
dp) :: wait_time = 0.0_dp
66 IF (
ASSOCIATED(farming_env))
THEN
67 farming_env%group_size_wish = 0
68 farming_env%group_size_wish_set = .false.
69 farming_env%ngroup_wish = 0
70 farming_env%ngroup_wish_set = .false.
71 farming_env%restart = .false.
72 farming_env%restart_n = 1
73 farming_env%cycle = .false.
74 farming_env%captain_minion = .false.
75 NULLIFY (farming_env%group_partition)
79 farming_env%max_steps = 65535
80 NULLIFY (farming_env%Job)
91 TYPE(job_type),
INTENT(OUT) :: job
98 NULLIFY (job%dependencies)
108 SUBROUTINE deallocate_job_type(job)
109 TYPE(job_type) :: job
111 IF (
ASSOCIATED(job%dependencies))
DEALLOCATE (job%dependencies)
113 END SUBROUTINE deallocate_job_type
127 IF (
ASSOCIATED(farming_env))
THEN
128 IF (
ASSOCIATED(farming_env%job))
THEN
129 DO i = 1,
SIZE(farming_env%job, 1)
130 CALL deallocate_job_type(farming_env%job(i))
132 DEALLOCATE (farming_env%job)
134 IF (
ASSOCIATED(farming_env%group_partition))
DEALLOCATE (farming_env%group_partition)
135 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