LBAO Task 1.1: Tabular Series Slot Report: Option to exclude all NEAR-zero slots
- Phil's notes for Willard, 3-22-2017 (b) -- Hit Refresh

David's Notes (3-22-2017) ...

This is LBAO task 1.1:
This should be another very small task.
...

Omit slots:
(o) Having only NaN Values
(o) Having only NaN or 0.0 values (absolute)
(o) Having only NaN or 0.0 values (slot display values)

I could be convinced to just go with the third item and get rid of the existing 2nd item, (comparison to absolute zero).  If they've said to show two digits in the slot, we show two digits in the report. If the value is 0.001 internally, but we show 0.00 in the slot, we shouldn't show it as 0.00 in the report even though it is non zero internally.

Reference Screenshots

Ouptut Manager ... New Tabular Series Slot Report...

Tabular Series Slot Report (aka GREEN BOOK) ... Settings Tab:

Relevant Classes, Fields and Methods:

Tablular Series Slot Report (aka GREEN BOOK) configuration dialog:

 

 

Data Model: Sim/GreenBookReportConfig:

For the -- bool GreenBookReportConfig::SlotRec::anyNonNearZeroValues() -- implementation, a quick (to code) algorithm is (1) convert the slot value (at the particular timestep Date_Time) to a string in user units and configured precision, (2) convert that string back to a double, (3) compare to 0.0. Note that SlotColRef is an alias for RootColRef ....

... This approach -- converting the numeric value to a string (using the slot's unit scheme precision) and then back to a double -- isn't the fastest way of performing this check, but it's simple, and, I believe, fast enough for "greenbook" generation time. Given this algorithm, the code outline above is very good. (I haven't actually compiled the code snippets above, but it's at least close).

--- (end) ---