Hey Rich,
We've got a bit of a weird one. After attempting to use the site index variable in a parsed height equation, we noticed that Assisi would freeze during compilation. No error was thrown and it didn't seem to matter whether a height was being predicted or not. When we removed the variable, it compiled without issue.
Also, after some thought, which site index value does Assisi decide to use for the parser, given that a stand may have multiple estimates?
Version: 2022.3.8
To answer question one, I bet there is some invalid syntax going on. Specifically, make sure any sub equations are defined only once and that inline if statements aren't nested. So, don't do this:
relsdi = sdi / maxsdi; scale = 1.5 - relsdi; scale = iif(scale < 0.3, 0.3, iif(scale > 1.0, 1.0));
Do this:
relsdi = sdi / maxsdi; scale1 = 1.5 - relsdi; scale2 = iif(scale1 > 1.0, 1.0, scale1); scale = iif(scale2 < 0.3, 0.3, scale2);
For Site Index...
SI will be by species using whatever was calculated during compile. SI is calculated early in the compilation cycle so that the results, which are by species, can be used for height, volume and growth later on. Set details to MAXIMUM during compile and you will see how Assisi calculates and chooses SI from defaults, measured or overridden.
BTW, SI is never really species agnostic. A stand has a major species which itself can have an SI. The stand's SI is therefore the SI of its major species.
Rich