-
Notifications
You must be signed in to change notification settings - Fork 133
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
move shortwave absorbed in negligible snow layers to surface #355
Conversation
There's a problem with pushing test results to the wiki from my mac -- "invalid command code T" ?
|
sed on mac is different than on linux. we've had problems like this before with mac sed. I'll try to look into it. Ultimately, the script still seems to have worked, https://github.com/CICE-Consortium/Test-Results/wiki/icepack_by_hash_forks#e8df0ad8469b46b5ac6b32b4b42e52cd7f872a34, so that's good at least. |
That's weird - it's on the icepack_by_hash_forks page but not on icepack_by_mach_forks page where I looked. |
You're right, I hadn't noticed that. That's a nice clue to where the problem is. |
CICE base-suite regression tests pass except for the usual 40-processor runs on badger. I do expect this change to be non-BFB, but apparently the case 0 < hs < hs_min does not occur in our test suite. I would like @dabail10 and @MichaelWinton to review this PR, since I've refactored the sw_redist logic and this fix is slightly different from what was done in SIS. Thx |
The more I think about this, this sounds like an inconsistency in hs_min between the radiation and the thermo. Perhaps there could be a case where the snow is barely above hs_min during the radiation computation, but then it disappears before it gets to the thermo? @MichaelWinton, are you using the same hs_min for both? |
The radiation and the thermo are both keyed off of the hs_min parameter in our code (I'm not sure about SIS). My assumption is that there can be Sswabs associated with nonzero hs < hs_min, which might be left over from changes in snow thickness such as the one you suggest, @dabail10. Conservation of heat has never reached roundoff level in CICE, and probably it's at least partly due to leakages associated with these cutoff values not being properly dealt with - that's a bigger project to fix. |
The problem with these type of errors is they are so intermittent. I'm not sure how to test for this. I think this solution is fine. Should we not do it for BL99 as well? |
I originally looked at doing it generally rather than just in mushy thermo, but that's where the sw_redist block was... :). I decided that decision could be made as part of a bigger project to fix the conservation issues. |
Ready to merge? |
Bug fix to handle shortwave absorbed in very thin snow layers that are ignored by the thermo and shortwave routines.
E. Hunke
Icepack base_suite including regression with current version:
148 measured results of 148 total results
148 of 148 tests PASSED
0 of 148 tests PENDING
0 of 148 tests MISSING data
0 of 148 tests FAILED
I'll try testing this in CICE next.
Addresses Negligible snow and convergence #279. Instead of changing the shortwave fluxes only for the thermodynamic convergence criteria, as was done in Negligible snow and convergence #279, this modification moves the absorbed shortwave in thin snow layers to the surface, in the spirit of the redistributed shortwave changes in Shortwave redistribution option added to namelist. #326. However the current redistribution is always done, not just when sw_redist=T, because it fixes a bug in the mushy thermo convergence criterion.
EDIT for clarification: this change is always done for mushy thermo, but the problem may still exist for other thermodynamic options. That's a science project.