V5 add cli

Merged Sebastian Müller requested to merge muellese/mhm:v5_add_cli into develop

This MR adds backports of the CLI from mHM v6 (see !91 (merged)):

  • new command line interface to pass used pathes to mhm (mo_mhm_cli):
    Usage: mhm [options] <cwd>
          Description: The desired working directory (optional).
      --help / -h
          Description: Print this help message.
      --version / -v
          Description: Print the version of the program.
      --nml / -n <path>
          Description: The mHM configuration namelist.
          Default: mhm.nml
      --parameter / -p <path>
          Description: The mHM parameter namelist.
          Default: mhm_parameter.nml
      --mhm_output / -o <path>
          Description: The mHM output namelist.
          Default: mhm_outputs.nml
      --mrm_output / -r <path>
          Description: The mRM output namelist.
          Default: mrm_outputs.nml
  • new module for interfaces to control mHM as a library (mo_mhm_interface):
    • mhm_interface_init: init routine to setup mHM with given namlist paths
    • mhm_interface_run: run mhm with current setup
    • mhm_interface_run_optimization: run parameter optimization with current setup
    • mhm_interface_finalize: finalize mhm (writing restart files of mhm and mrm)
  • new module for messages during execution (mo_mhm_messages):
    • startup_message
    • domain_dir_check_message
    • finish_message
  • new init and finalize routine for MPI in mo_common_MPI_tools:
    • mpi_tools_init
    • mpi_tools_finalize

Merge request reports