16 use mo_message,
only: message
17 use mo_string_utils,
only: num2str, separator
37 use mo_os,
only: check_path_isfile, get_cwd
42 character(4096) :: message_text
43 integer(i4),
dimension(8) :: datetime
44 logical :: compiled_with_openmp = .false.
45 character(len=255) :: cur_work_dir
46 logical :: compiled_with_mpi = .false.
50 compiled_with_mpi = .true.
54 CALL get_cwd(cur_work_dir)
56 call message(separator)
57 call message(
' mHM-UFZ')
59 call message(
' MULTISCALE HYDROLOGIC MODEL')
60 call message(
' Version: ', trim(
version))
63 call message(
'Originally by L. Samaniego & R. Kumar')
64 call message(separator)
68 if (compiled_with_openmp)
then
69 call message(
'OpenMP used.')
71 call message(
'Openmp not used.')
79 if (compiled_with_mpi)
then
80 call message(
'MPI used.')
82 call message(
'MPI not used.')
86 call date_and_time(values = datetime)
87 message_text = trim(num2str(datetime(3),
'(I2.2)')) //
"." // trim(num2str(datetime(2),
'(I2.2)')) &
88 //
"." // trim(num2str(datetime(1),
'(I4.4)')) //
" " // trim(num2str(datetime(5),
'(I2.2)')) &
89 //
":" // trim(num2str(datetime(6),
'(I2.2)')) //
":" // trim(num2str(datetime(7),
'(I2.2)'))
90 call message(
'Start at ', trim(message_text),
'.')
91 call message(
'Working directory: ', trim(cur_work_dir))
92 call message(
'Using namelists:')
117 integer(i4) :: domainid, idomain
120 call message(
'# of domains: ', trim(num2str(
domainmeta%overallNumberOfDomains)))
122 call message(
' Given data directories:')
125 call message(
' --------------')
126 call message(
' DOMAIN ', num2str(domainid,
'(I3)'))
127 call message(
' --------------')
170 integer(i4),
dimension(8) :: datetime
171 integer(i4) :: ntimesteps
172 character(4096) :: message_text
175 call date_and_time(values = datetime)
177 message_text =
'Done ' // trim(num2str(ntimesteps,
'(I10)')) //
" time steps."
178 call message(trim(message_text))
179 message_text = trim(num2str(datetime(3),
'(I2.2)')) //
"." // trim(num2str(datetime(2),
'(I2.2)')) &
180 //
"." // trim(num2str(datetime(1),
'(I4.4)')) //
" " // trim(num2str(datetime(5),
'(I2.2)')) &
181 //
":" // trim(num2str(datetime(6),
'(I2.2)')) //
":" // trim(num2str(datetime(7),
'(I2.2)'))
182 call message(
'Finished at ', trim(message_text),
'.')
184 call message(separator)
185 call message(
'mHM: Finished!')
186 call message(separator)
subroutine, public check_dir(path, text, raise, tab, text_length)
Check if a given directory exists.
Provides structures needed by mHM, mRM and/or mpr.
integer(i4), public ntstepday
type(period), dimension(:), allocatable, public simper
Provides structures needed by mHM, mRM and/or mpr.
type(domain_meta), public domainmeta
character(256), dimension(:), allocatable, public dirlcover
character(256), dimension(:), allocatable, public dirout
character(256), dimension(:), allocatable, public dirmorpho
integer(i4), dimension(nprocesses, 3), public processmatrix
Provides file names and units for mHM.
character(:), allocatable file_namelist_mhm_param
Parameter namelists file name.
character(:), allocatable file_namelist_mhm
Namelist file name.
character(len=*), parameter version
Current mHM model version (will be set to )
character(len=*), parameter version_date
Time of current mHM model version release.
character(:), allocatable file_defoutput
file defining mHM's outputs
Main global variables for mHM.
type(meteo_handler_type), public meteo_handler
the meteo handler class
subroutine, public domain_dir_check_message()
Check input directories for mHM.
subroutine, public startup_message()
write startup message of mHM.
subroutine, public finish_message()
Finish message for mHM.