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
34 INTEGER :: group_size_wish
35 LOGICAL :: group_size_wish_set
36 INTEGER :: ngroup_wish
37 LOGICAL :: ngroup_wish_set
40 LOGICAL :: captain_minion
41 INTEGER,
DIMENSION(:),
POINTER :: group_partition
42 CHARACTER(LEN=default_path_length) :: restart_file_name
43 CHARACTER(LEN=default_path_length) :: cwd
49 TYPE(job_type),
DIMENSION(:),
POINTER :: job
50 REAL(kind=
dp) :: wait_time
51 END TYPE farming_env_type
63 TYPE(farming_env_type),
POINTER :: farming_env
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
122 TYPE(farming_env_type),
POINTER :: farming_env
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