CICE-Consortium/CICE

Repeat ridging

dabail10 opened this issue · 11 comments

A couple things here. The warning message is:

(ridge_ice)Repeat ridging, niter = 1

where niter is usually 1. This is misleading. It means we are going to do a second iteration. We almost always do a second iteration. I think we should change this to be printed only if niter = 2. That is, we are going to do a third iteration. Also, this should not be written to all tasks. I am happy to put in a fix if people are ok with this strategy.

Yeah I've see this message, I agree it is overly verbose.

I need a bit of help from @apcraig. This is added to the icepack warnings. Then the warnings are flushed. Ideally we only want this on the master task. However, the issue is that in theory it could be a message that is on another task and not the master task. Do we need a gather?

I've looked at this before and agree it's tricky. I'll take a look again. Let me take care of it.

I can at least take care of the first part, which is only printing if niter > 1.

Dave

Thanks @dabail10, see #445.

Just to clarify, when ridging is iterating, it's on a gridpoint by gridpoint basis? So if there are 1000 gridpoints, some subset of gridpoints on some subset of MPI tasks may be iterating? And that can change at each timestep? It's not an all-or-none situation, right? And we cannot rely on the root task even having a message?

Is this something that we really want to print out all the time? Maybe we should just stop printing this info entirely? Does anyone care if ridging is iterating when it's needed? Does the user need to know that?

What info do we want to be communicated to the user? Do we want to know how often and how many points are iterating at each timestep? Do we want to know when at least 1 gridcell is iterating at each timestep? Do we want to know that iterating has been triggered at least once in a run? Do we want each gridcell to print it's iterating the first time it does that?

It is gridpoint by gridpoint. I think we only need to print a warning if the ridging iteration hits nitermax and still isn't finished. Most of the time, 1 pass through is enough, occasionally 2 or 3. When it gets to nitermax then there's something wrong.

It actually aborts when it reaches nitermax. I am happy to remove the warning completely.

If it aborts at nitermax and otherwise we don't care whether gridpoints are iterating, then I think we should comment out the warning message entirely.

The extra output was fixed in CICE-Consortium/Icepack#445 and CICE-Consortium/Icepack#446. This can be closed now.