-
Notifications
You must be signed in to change notification settings - Fork 131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update mct/cesm1 driver, fix ss_tlt implementation #726
Conversation
Update mct/cesm1 driver for snow mods and other recent changes Remove USE_NETCDF cpp in io_pio2/ice_restart.F90, not needed or correct
limited situations where we want to ensure bit-for-bit across the seam, but do NOT want to update the halo in general. In particular, this is needed for UAREA during initialization. UAREA is explicitly computed in the halo to avoid missing data. In some cases, uarea computed independently along the seam in the halo points results in roundoff level differences. This will produce a small error in the simulation but more important, breaks the symmetry across the seam. In that case, we just want to sync up the halo, but we do NOT want to update the independent UAREA halo computations elsewhere because of land block elimination and other situations where blocks have no neighbors.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I understand the changes. They look reasonable. I'll approve in advance.
I reran the full test suite on cheyenne after adding the tripoleOnly option to the haloupdate call. Everything is still bit-for-bit. I also tested the code in UFS, which highlighted the issue and this seems to fix a problem we saw there. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Glad you've found a way to make this work.
* Update ss_tltx, ss_tlty averaging/usage in evp, eap, vp Update mct/cesm1 driver for snow mods and other recent changes Remove USE_NETCDF cpp in io_pio2/ice_restart.F90, not needed or correct * Add tripoleOnly flag to ice_HaloUpdate2DR8. This is needed in very limited situations where we want to ensure bit-for-bit across the seam, but do NOT want to update the halo in general. In particular, this is needed for UAREA during initialization. UAREA is explicitly computed in the halo to avoid missing data. In some cases, uarea computed independently along the seam in the halo points results in roundoff level differences. This will produce a small error in the simulation but more important, breaks the symmetry across the seam. In that case, we just want to sync up the halo, but we do NOT want to update the independent UAREA halo computations elsewhere because of land block elimination and other situations where blocks have no neighbors.
PR checklist
Update mct/cesm1 driver, fix ss_tlt implementation
apcraig, deniseworthen, dabail10
Bit-for-bit in CICE standalone, full test suites run on cheyenne and narwhal. https://github.com/CICE-Consortium/Test-Results/wiki/cice_by_hash_forks#74632f4de904bf890f2a490e5ea3df17f799081a
Update ss_tltx, ss_tlty averaging/usage in evp, eap, vp
Update mct/cesm1 driver for snow mods and other recent changes
Remove USE_NETCDF cpp in io_pio2/ice_restart.F90, not needed or correct