marbl-ecosys / MARBL

Marine Biogeochemistry Library
https://marbl-ecosys.github.io
Other
14 stars 25 forks source link

Should MARBL have a "debug" flag? #414

Open mnlevy1981 opened 1 year ago

mnlevy1981 commented 1 year ago

When we first started putting MARBL together, I tended to think about debug levels from the point of view of "when debugging we want more information written to stdout, but typical runs should not flood stdout with log messages." As part of testing the MOM6 driver, c885411 introduced a new function to ensure some of the forcing fields MARBL receives are physically consistent (currently, the only check is that the PAR column fractions sum to 1); while not an additional burden on the log volume, this has had a large impact on performance - so in this case, I think ideal behavior would be to only perform the check when the user explicitly asks for it.

I am currently testing a commit that adds an lcheck_forcing flag to marbl_settings_mod.F90, which will control whether we call check_forcing() or not (default is not to call it), but I wonder if perhaps we want a blanket ldebug flag rather than controlling every process independently?

If we do adopt a global debug flag, we would then need to determine what other processes / checks we want disabled by default but enabled in debug mode.