The user guide details the individual calls a MARBL driver needs to make, and the developer's guide describes how to update the MARBL driver in some specific cases, but it would be useful to have a step-by-step guide to actually get MARBL up and running. I'm picturing a list with steps like
Add the MARBL source code to the GCM (e.g. via git submodule)
Modify the GCM build system to include $MARBL_ROOT/src/*.F90
Start work on MARBL driver (call MARBL's initialization and adding MARBL tracers to GCM's passive tracers; initializing to zero and making sure the tracers are output in diagnostics would a useful first step. This would also be a good time to make sure MARBL logs get written by model)
Modify GCM infrastructure to generate marbl_in, verify that driver can read it in (changing a value from default should be reflected in log output)
Generate MARBL IC files and forcing on appropriate grid, initialize tracers to non-zero values
Obviously that's not a complete list, but it shows the level of detail I think would be useful to include.
The user guide details the individual calls a MARBL driver needs to make, and the developer's guide describes how to update the MARBL driver in some specific cases, but it would be useful to have a step-by-step guide to actually get MARBL up and running. I'm picturing a list with steps like
git submodule
)$MARBL_ROOT/src/*.F90
marbl_in
, verify that driver can read it in (changing a value from default should be reflected in log output)Obviously that's not a complete list, but it shows the level of detail I think would be useful to include.