Time Agg Series Slot Config: Skip intervals containing NaNs [6036] [5] Bug Number: n/a Release notes (y/n): No (not this detail) For Release Nums: 7.2 Merge of the Bug6036 branch (5 commits) to the RW 7.2 master branch. A third aggregation option was added (presented as the second of three choices) for the treatment of NaNs (or NaNs and Output values): "Do not aggregate intervals having NaN/Output values". The target timesteps in the aggregated series slot of such intervals are assigned NaN. See draft document: http://cadswes2.colorado.edu/~philw/2017/bugs/6036/SetTstepSize-SyncSlotsNanOptions-RW72-Enh.html Current screenshots: http://cadswes2.colorado.edu/~philw/2017/bugs/6036/2017-12-12/SetRunTimestepAction2.png http://cadswes2.colorado.edu/~philw/2017/bugs/6036/2017-12-12/SynchronizeTimestepChangeDlg3.png http://cadswes2.colorado.edu/~philw/2017/bugs/6036/2017-12-12/TimeAggSerSlotConfig3.png Note: There is a pre-existing bug with the "Error on NaN" choice when the "First" or "Last"* aggregation function is selected. Only one value in the source interval should be considered (i.e. the first or last), but we are generating an error if a NaN is encountered in some other timestep. This preexisting problem isn't related to the introduction of the new "Do not aggregate intervals having NaN values" option, so I'm going to proceed with this code change, and file a bug for that problem. DETAIL: The problem is that this condition is detected in the source timestep iteration in method SeriesSlot::TimeAggSpec::recomputeOwnerSlot(), but needs to be moved down to computeAggSlotValue() or the aggregation function helper functions called from that method. *Note that "Last" is the implicit aggregation function for aggregation in the "Synchronize Timestep Change" operation when changing the model timestep size, e.g. from daily to monthly -- FOR VOLUME UNITS.