Notes from code dive
I dug through the code, came up with some inner workings that aren't documented. The following info needs to be added:
- spatially-averaging is done to tau0 in: SUBROUTINE CalculateTimeVaryingTau0(TK, NNeigh, NeiTab, NP)
- I see Casey's fingerprints
- tau0=-3, -5, -6, -7: looks to average tau0 across all immediate (?) nodal neighbors
- Rick said tau0=-5 is ineffective
- tau0=-3: the actual tau0 is capped at 0.2
- tau0=-6 is a time-averaging:
C jgf47.33 Perform time averaging of tau0 if requested.
IF (TimeAveragedTau0) THEN DO I=1, NP TAU0VAR(I) = 0.5d0*TAU0VAR(I) + 0.5d0*LastTau0(I) LastTau0(I) = TAU0VAR(I) ENDDO ENDIF
- tau0=-7 is a different time-averaging:
C jgf48.42 Perform backloaded time averaging of tau0 if requested.
IF (BackLoadedTimeAveragedTau0) THEN DO I=1, NP TAU0VAR(I) = AlphaTau0*TAU0VAR(I) & + (1.d0-AlphaTau0)*LastTau0(I) LastTau0(I) = TAU0VAR(I) ENDDO ENDIF
- AlphaTau0 is hard-coded to 0.25, so 75% last tau0, 25% current one
Undocumented TAU0 and nodal attribute interactions
In digging through the code, I've found there are very few behavior checks on a user's selection of TAU0 (fort.15) and either of the two nodal attributes. The only thing that's blocked (as far as I can tell) is setting TAU0=-3 or -6, and not specifying PWICE. I'm mostly not getting into any of the specifics on this stuff, but just wanted to denote that it's here.Taylorgasher (talk) 13:52, 19 February 2019 (UTC)