diff --git a/doc/latex/TOP/figures/workflow.md b/doc/latex/TOP/figures/workflow.md index 9502d35b8c55c11f2b2fab70d498269720bae171..49d11c8f5d8c869670e2d8325017e18b8f774218 100644 --- a/doc/latex/TOP/figures/workflow.md +++ b/doc/latex/TOP/figures/workflow.md @@ -1,3 +1,32 @@ # Create workflow using Mermaid +### Initialization procedure (called by OCE/nemogcm.F90) +```mermaid +graph LR + subgraph " " + trc_init["trc_init (trcini.F90)"] --> trc_nam["trc_nam (trcnam.F90) <br> initialize TOP tracers and run setting"] + trc_init --> trc_ini_sms["trc_ini_sms <br> initialize each submodule"] + trc_init --> trc_ini_trp["trc_ini_trp <br> initialize transport for tracers"] + trc_init --> trc_ice_ini["trc_ice_ini <br> initialize tracers in seaice "] + trc_init --> trc_ini_state["trc_ini_state <br> read BGC tracers from a restart or input data"] +end +``` + +### Time marching procedure (called by OCE/stp.F90) + +```mermaid +graph LR + subgraph " " + trc_stp --> trc_wri["trc_wri <br> call XIOS for output of data"] + trc_stp --> trc_sms["trc_sms <br> BGC trends from each submodule"] + trc_stp --> trc_trp["trc_trp (TRP/trctrp.F90)<br> compute physical trends"] + trc_trp --> trc_bc["trc_bc <br> surface and coastal BCs trends"] + trc_trp --> trc_dmp["trc_dmp <br> tracer damping"] + trc_trp --> trc_ldf["trc_ldf <br> lateral diffusion"] + trc_trp --> trc_zdf["trc_zdf <br> vertical mixing & after tracer"] + trc_trp --> trc_nxt["trc_atf <br> time filtering of 'now' tracer fields <br> (Lateral Boundary Conditions called here)"] + trc_trp --> trc_rad["trc_rad <br> Correct artificial negative concentrations"] + trc_stp --> trc_rst_wri["trc_rst_wri <br> tracers restart files"] +end +```