Conversation
The initial code written by me and Dani. It compiles, but it needs an option to turn on the meltpond scheme and mooring outputs.
It had a misspelling in its name - and more importantly, the permeability was incorrectly calculated.
It's called thermo.use_meltponds
We can now output "meltpond_volume", "meltpond_lid_volume", and "meltpond_fraction". All are averaged over the entire grid cell.
There were lots of minor problems with the initial implementation. Most of them are now fixed. The model runs and produces not unreasonable looking meltponds. The main remaining problems are - For some reason the meltpond volume recovers almost immediately after flushing - I get very deep meltponds in the oldest and most ridged ice. These can be deeper than the ice is thick and they never go away, because they don't flush and the lid becomes more than a meter thick and grows very slowly.
The isPermiable function now takes all temperatures into account and selects the Assur or Notz formulation, depending on temperature.
Some code clean-up of isPermeable. No functionality change or bug fixing.
A less convoluted and more obvious way of growing, melting, or forming a lid on top of a melt pond.
There's a risk that the ponds become unrealistically deep. The can even become deeper than the ice is thick. This patch prevents this, and (arbitrarily) limits the depth to 1/3 of the ice thickness by flushing excess water via the runoff variable. The limit can be thought out more carefully.
I was missing the melting term for the lid. This is now fixed.
In this version, the meltponds don't affect the freshwater balance (EMP). I also added a code to remove meltponds if the lid gets too thick (more then 30 cms).
I simply added a constant (tunable) albedo for the fraction of ponds without a lid (or a lid thinner than 5 cm - arbitrary number). This has a substantial effect in initial tests, but much more testing is needed.
This adds an alb_scheme == 4 option. It simply assumes constant snow, ice, and meltpond albedos. Something like alb_ice = 0.54, alb_sn = 0.83, and alb_pnd = 0.3 makes sense.
…T in alb scheme 4 + fixes
…T in alb scheme 4 + fixes
Two manual fixes to replace physical::mu with M_freezingpoint_mu.
Turns out that it's more Holland et al. (2012) that I want to follow, rather than Hunke et al (2013). Simpler and with fewer fudge factors.
einola
requested changes
Aug 7, 2024
Member
einola
left a comment
There was a problem hiding this comment.
You need to move the vm call, it's very bad for performance to have it there. Do what you want with the other comments. Otherwise good.
Comment on lines
+6515
to
+6520
|
|
||
| // Drain the pond to the freeboard, if it's permiable | ||
| // The pond drains immediately - this may not be accurate | ||
| const double freeboard = M_conc[cpt]*( hi*(physical::rhow-physical::rhoi) - hs*physical::rhos) / physical::rhow; | ||
| if ( M_pond_volume[cpt] > freeboard && this->isPermeable(cpt) ) | ||
| M_pond_volume[cpt] -= freeboard; | ||
| //const double freeboard = M_conc[cpt]*( hi*(physical::rhow-physical::rhoi) - hs*physical::rhos) / physical::rhow; | ||
| //if ( M_pond_volume[cpt] > freeboard && this->isPermeable(cpt) ) | ||
| // M_pond_volume[cpt] -= freeboard; |
Member
There was a problem hiding this comment.
I would just delete this section and also the isPermeable function.
einola
approved these changes
Aug 9, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Einar's latest melt pond inspired by Flocco et al (2010) and Holland et al. (2012)