Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In XBeach repetitive code is stored in include files. These include files are generated by the "makeincludes" program that is compiled and run as a pre-compile action for the XBeach library (src/xbeachlibrary). The "makeincludes" program is, like XBeach, written in Fortran. Recently, a new development branch for XBeach is started that implements a Basic Model Interface (BMI). A BMI lets XBeach communicate with other models and is used to connect XBeach, for example, to aeolian sediment transport models. Implementation of a BMI is relatively simple, but involves a lot of repetitive code and therefore a many include files. Generating all these files using more Fortan code was considered cumbersome, time-consuming and not transparent. Therefore the "makeincludes" program is replaced by a simple Python script in this branch.

The BMI branch is soon to be merged with the trunk. Therefore it becomes relevant for all XBeach developers to understand the differences between the "makeincludes" program and the Python script. These differences are listed on this page.

Is this information relevant to me?

It is if:

  • you want to change the spaceparams structure, because spaceparams.tmpl is replaced by variables.F90
  • you want to add an include file, because the "makeincludes" program is no more, but you can add a Fortran template to the src/xbeachlibrary/templates/ directory
  • you want to change the templating system itself, because the "makeincludes" program is no more, but a Python script located in the scripts/ directory does the job and needs to be compiled

Components

The "makeincludes" program is replaced by the following components:

...