SW_ABSORPTION_SCHEME = SINGLE_BAND not working
SW_ABSORPTION_SCHEME = SINGLE_BAND is not working at all! Two problems:
- EMS[e].sw_abs can get negative, because there is no limit on dI. It is just subtracted without check.
- The extinction function uses I0 instead of I0_band to calculate, although afterwards I0_band is adjusted for dI. This is also really wrong... It causes complete snowcovers to disappear in minutes.
Solution is really simple I think, change L488 in Laws_sn.cc to:
const double dI = MAX(I0_band, (EMS[e].mk%10 != 9) ? I0_band * (1. - exp(-EMS[e].extinction() * EMS[e].L)) : 0.);
It works for me, but is this what the original author of the function intended?