Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR checklist
Short (1 sentence) summary of your PR:
Fix 1x1 and 2x2 blocksize error, update initialization of ARRAY_G in global_gather_ext
Developer(s):
apcraig
Suggest PR reviewers from list in the column to the right.
Please copy the PR test results link or provide a summary of testing completed below.
Full test suite run on cheyenne with gnu. All results are bit-for-bit except 1x1 and 2x2 results which don't change answers but do change restart files slightly due to the fix in missing blocks. See cheyenne gnu results https://github.com/CICE-Consortium/Test-Results/wiki/cice_by_hash_forks#85531cf8f8ae93f628344df6ecfa4be12e9629d8
How much do the PR code changes differ from the unmodified code?
Does this PR create or have dependencies on Icepack or any other models?
Does this PR add any new test cases?
Is the documentation being updated? ("Documentation" includes information on the wiki or in the .rst files from doc/source/, which are used to create the online technical docs at https://readthedocs.org/projects/cice-consortium-cice/. A test build of the technical docs will be performed as part of the PR testing.)
Please provide any additional information or relevant details below:
Fix 1x1 and 2x2 non-bit-for-bit results. It turns out the 1x1 and 2x2 blocks were
bit-for-bit physically, just not technically. The problem was that a set
of blocks were "land block eliminated"
near the equator incorrectly. These blocks never have sea ice, so it's not a problem
scientifically, but it changes the masking and restart files. The fix is a one line change
in ice_domain.F90 which that sets the minimum "flat" value to 1. At the equator, flat
was set to zero and this eliminated those gridcells incorrectly. This error could only
happen in cases where the gridcells were within 0.5 degrees of the equator, and a set of
conditions were required where an active gridcell was set to inactive which then resulted
in the entire block being eliminated. This could really only happen with the smallest blocks
which is why it only showed up with 1x1 and 2x2.
Update the initialization of ARRAY_G in the gather_global_ext interfaces. Get rid of
older, more complex approach which left some blocks uninitialized.
Set psalt(n) to zero by default. Was uninitialized in cases where vice=0.
Add a test to check bit-for-bit in log files for 1x1 blocks with bfbflag set to reprosum.