...
A few other things changed in the XBeach code structure along with the new templating system as explained in the following subsections.
Fortran variable type definitions
In the new templating system all input and output variables are defined in the params.F90 and variables.F90 files respectively. These Fortran files are parsed by the templating system and need to adhere to a certain syntax as explained in above. Also the variable types definitions are restricted to a certain notation since multiple notations exist in Fortran. The types that are supported are:
- character
- logical
- double precision
- integer
Template for writelog functions
...
The Windows executable is stored in scripts/dist/. Be aware that there is no need to recompile the Python script after changing or adding templates, nor after changing or adding variables to the params.F90 or variables.F90 files. The only reason to recompile the Python script is if the templating system in scripts/generate.py itself has changed (e.g. the Fortran parser).
C interface
The original C-interface has become superfluous with the new BMI interface and is removed. In the following table a mapping form the original C-interface to the new BMI interface can be found:
original C-interface | BMI interface |
---|---|
init() | initialize() |
outputext() | |
executestep() | update(dt) |
final() | finalize() |
get_var(var) | |
get_var_type(var) | |
get_var_rank(var) | |
get_var_shape(var) | |
set_var(var, val) | |
get_start_time() | |
get_current_time() | |
get_end_time() |