[MITgcm-devel] obcs and restart
Jean-Michel Campin
jmc at ocean.mit.edu
Sun Oct 4 18:44:35 EDT 2009
Hi,
I found the problem with useOBCSprescribe + EXF for the restart:
exf (in exf_getffieldrec.F) decides that it is the 1rst time it reads
something (setting "first") if myTime=startTime.
But OBCS_CALC calls OBCS_PRESCRIBE_READ with futureTime (always > startTime)
so that the correct initialisation is missing.
I fix it with a specific call to OBCS_PRESCRIBE_READ in obcs_ini_variables.F
(and remove my HACK_TO_FIX_SEAICE_OBCS_RESTART in obcs_calc)
which is not so different from what was there before (calling
obcs_calc 1 more time from obcs_ini_variables; but this was wrong for
Orlanski).
Martin, I also revert back to version 1.29 (obcs_init_variables.F)
since I prefer to always call obcs_read_pickup (even if, for now,
there is only Orlanski stuff). The problem is that some
combination are not tested (e.g.: NonHydrostatic + useOBCSprescribe),
and we might need to read from a pickup file wVel values at the OB.
Not sure yet.
Might also have a problem with PTRACERS+OBCS when
PTRACERS_Iter0 = nIter0 > 0 (and useEXF=F ?)
But apart from that, I really think it would be much better
to have seaice+obcs code in pkg/seaice and
ptracers+obcs code in pkg/ptracers
(with their own seaice_obcs_calc & ptracers_obcs_calc),
and it's why I added the seaice-obcs output S/R in pkg/seaice.
And finally, was going to change the default value of OBCSprintDiags
to set it equal to debugLevel.GE.debugLevB , so that the default
is more like the other map_print.
Cheers,
Jean-Michel
More information about the MITgcm-devel
mailing list