Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

Add CICE context to warnings/aborts in Icepack

NickSzapiro

Nicholas Szapiro
New Member
In CICE.v5, when functions like shift_ice in ice_itd.F90 abort they could include where in the domain errors occurred (via istop, jstop). This is very helpful for debugging. Is there existing way to do this?

Now that columns in Icepack do not know where they are afaik, it seems like there is no location information to report in warnstr. So triggers like "dvice_negative" in icepack_itd force aborts but where-->why are obfuscated.

If there is not an existing way, some options to connect the locations known in CICE to the errors triggered in Icepack are to
  1. Pass a "warnstr_cice" down into Icepack
  2. Check for Icepack aborts within i,j loops in CICE
It seems like we can do option 1 without touching interfaces...can add public $OMP THREADPRIVATE(warnstr, warnstr_cice) and set_warnstr_cice method that can be called when stepping i,j in CICE (for iblk, i, j, i_glob, j_glob context). This may also be a nice place for unit testing to check that warnstr writes report what warnstr_cice provides.
 

dbailey

CSEG and Liaisons
Staff member
There is a call to icepack_warnings_flush after each call to icepack interfaces. However, you are correct that it does not indicate the spatial information here. Might be worth opening up an issue under the CICE Consortium for this.
 
Top