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