Skip to content

Code Structure

Sanny Schulz edited this page Feb 28, 2023 · 4 revisions

Code Structure

Hermes and all its components are written in Go. These have bin tested on Linux and Windows.

Hermes library

go get github.com/zalf-rpm/Hermes2Go/hermes

contains all model code and can be used as component by using the Run Method.

Hermes2Go

github.com/zalf-rpm/Hermes2Go/src/Hermes2Go

compiles to an executable to run the Hermes model. It is a pure command line tool

It has two modes:

  • single - running project configurations, defined in examples\project\modinp.txt
  • batch - running batch files, like examples\all_muencheberg_batch.txt

Single mode is more suitable for small scale or for preparing a setup. While batch mode allows to run multiple scenarios on the same setup, by changing some parameters in the command line, for example positional data like SoilId, Weather file etc.

Command line arguments

  • -logoutput (enable logoutput)
  • -v or -version (show version number)
  • -workingdir path (set working dir)
  • -rpc host:port (connect to rpc debug service -> Hermes2Go/src/renderservice)

For single mode:

  • -module single (define mode single)
  • -locid project name (single mode - instead of executing all scenarios in modinp.txt it will only execute those which share the same project name)

For batch mode:

  • -module batch -batch filename (define mode batch and set path to batch file)
  • -concurrent number (batch mode - number of concurrent operations)
  • -lines start-end (run only some lines, e.g. 1-1 (runs first line), 40-60, 20-end (use end to run till the end)

Other Tools

calcHermesBatch

is a tool for cluster usage, it reads a batch file and calculates a distribution over multiple nodes.

Command line arguments

  • -v (version)
  • -size number (return the size of the list at a given number of nodes)
  • -batch filename (name of the batch file)
  • -list number (return a list of line parameters (to use as -lines 1-20) )

calcSoil

tool to calculate parameters in soil file with given soil structure and a PTF of choice.

It is preferable to have measured values...

Command line arguments

  • -texture (calculate Ka5 texture)
  • -fc (calculate Field Capacity)
  • -wp (calculate Wilting Point)
  • -gpv (calculate Pore Space)
  • -ptf number (calculate with Pedo-Transfer Function (0-4)
  • -bulk (estimate bulk density)

verify_project

tool to verify the correct order of harvest and sowing dates.

Clone this wiki locally