[MITgcm-devel] do_the_model_io
Jean-Michel Campin
jmc at ocean.mit.edu
Mon Nov 17 11:12:37 EST 2003
Hi,
I propose to change the code and to call "do_the_model_io"
also at the beginning (to dump the initial state) in "the_main_loop",
where "write state" is called.
Then, I think the "call monitor" can also be put in "do_the_model_io".
(for instance at the beginning).
The motivation is for pkg Output and diagnostic:
It's simpler (easy to modify) and clearer when all pkg-Out-diag
are called from the same place, with only 1 (main) call for each.
This is the case for almost all packages, that call their
diagnostic-Output part in "do_the_model_io". And this is fine.
But before the 1rst iter (initial state), things are less clear:
presently pkgs do their Output (if needed) within the
initialization (package_ini_varia) but for the main state variable,
it's done in "the_main_loop". It's not very clear but it works.
Things becomes tricky for ${pkg}_monitor :
I can put "call ice_monitor" in "ice_diag" and call it in
ice_ini_vars.F (in package_ini_varia) for the 1rst iter
and again in do_the_model_io. But then the 1rst ice_monitor output
will be written before the 1rst main monitor, whereas all the
others will appears just after the main monitor output.
I don't know exactly what is done for gchem_monitor at the
beginning, but should have similar problems.
adding "call do_the_model_io" in "the_main_loop" will
fix it. And within S/R do_the_model_io, could always put
"if myIter.ne.nIter0" in front of S/R call(s) that do not need
to be called at the beginning.
Any comments are welcome.
Jean-Michel
More information about the MITgcm-devel
mailing list