Organization of MUSTANG routinesΒΆ
The module MUSTANG is organized in such a way that it can be portable on other hydrodynamic platforms, ie its coupling with other hydrodynamic models is simplified.
A coupler has been created, dedicated to MUSTANG to facilitate exchanges between MUSTANG and host code (COUPLER of MUSTANG (interface between host hydrodynamical model and MUSTANG module))
MUSTANG is called in host model at the beginning of the simulation for initialization, and 2 times at each time step for erosion and conoslidation first, then for deposition. (CALLS FOR MUSTANG in host hydrodynamical model)
- MUSTANG is composed of eight files, classified into three groups :
- the MUSTANG_independent files that should not vary from one model to another and therefore can be updated directly if there are changes. Only a few calls are to be programmed or adapted (reported by To Program in the code) (Independent routines list)
- comMUSTANG.F90 : declaration and allocation of all sediment variables shared by MUSTANG subroutines
- initMUSTANG.F90 : initialization subroutines
- sed_MUSTANG.F90 : MUSTANG’s own routines
- the COUPLER_MUSTANG files which are used to define the vocabulary that is to say the names of the variables common to the two models (host and MUSTANG), and to calculate and/or to convert certain tables for exchanges (COUPLER of MUSTANG (interface between host hydrodynamical model and MUSTANG module)) :
- coupleur_define_MUSTANG.h : definition of the vocabulary which can change from one model to another, dimensions of arrays, computation loops and certain spatial expressions which can depend on the grid of computation.
- coupleur_dimhydro_MUSTANG.h : USE or integration of declarations thuch as dimensions and basic parameters of the hydro-host model (called “hydro fixed data”).
- coupleur_MUSTANG.F90 : routines for definition of variables and parameters which MUSTANG needs (characterization and arrangement of the variables) and routine of tables conversion for exchange between MUSTANG and hydro-host model (called “variable data exchanged between hydro and MUSTANG”)
- the group MUSTANG_dependent files (Host code dependent routines list):
- sed_outMUSTANG_ModelHost.F90 that prepares the output file and writes the results regularly to a netcdf file or several (by date). This file depends on the host model
- sed_MUSTANG_ModelHost.F90 which gathers different routines to be rewritten for each host model in order to:
- calculate settling rates in water, shear bottom stress, shear rates
- write save file and read init file issued from a previous run
- treat MPI exchanges (notably for sand fluxes corrections, deposit slipping and lateral erosion,flux corrections for sand, bedload flux and masks),
- the namelist file (namelists for sediment - module MUSTANG)