LANDIS-II-Foundation / Extension-NECN-Succession

The Net Ecosystem Carbon and Nitrogen extension for the LANDIS-II model.
http://www.landis-ii.org/extensions/net-ecosystem-cn-succession
Apache License 2.0
1 stars 19 forks source link

Decisions in updating SoilWater algorithm #97

Closed flakesw closed 1 year ago

flakesw commented 1 year ago

When updating the soil water algorithm to fix some bugs, there are a few decisions we ought to make related to the water/energy balance. Line numbers reference the v7 branch version of SoilWater.cs. Some of these might just be my misunderstanding of things.

  1. Lines 139-158: Melting snow takes energy; should this energy be taken out of remainingPET?
  2. Lines 168-188: Should evaporated snow be added to AET? It seems like it should be treated similarly to bare soil evaporation. It is decremented from PET, which would later decrease the maximum possible AET in lines 242-252. This means that greater snow evaporation could decrease AET, which is counterintuitive.
  3. Line 242: Under what conditions should AET be set to remainingPET? The original code does this if (soilWaterContent > waterFull), which doesn't make much sense; it doesn't seem that soil water or field capacity necessarily are related to AET or PET in a useful way here. Paul Henne has the condition as ((soilWaterContent - waterEmpty) >= remainingPET), which assumes that soil water cannot go lower than waterEmpty. My suggestion is to have this condition as (soilWaterContent >= remainingPET), which will allow ET to reduce soil water below permanent wilting point.
  4. Line 289: ratioPrecipPET is the name of the variable, but it is actually calculated as the ratio of plant available water : PET. Should we change the name of this variable?
  5. Line 316: When calculating Dry Days, I was finding that soils with water contents well above field capacity at AvailableWaterMax were preventing many dry days from occurring, even if water content at the end of the month was fairly low. I changed this calculation to take Math.Min(availableWaterMax, waterFull) instead of availableWaterMax; this caps the maximum water at waterFull (field capacity), which seems reasonable to me. This change doesn't affect much, but it does increase the dry days somewhat.
flakesw commented 1 year ago
  1. We are not decreasing remainingPET for snow melt, because we're just tracking water balance and this water is not removed from the ground.
  2. We are reducing PET and increasing AET to account for evaporation
  3. We are allowing PET to draw down soil water to zero. The condition is soilWaterContent >= remainingPET.
  4. We're changing the name of this ratio to ratioPlantAvailableWaterPET
  5. The dry days calculation now is passed waterFull if soilWaterContent exceeds waterFull.