I wish to add the Chandler Burning Index (CBI) to WeeWX.
The CBI is completely a derived number. In this way, it is the same type of thing as 'dewpoint' - calculated based on temperature and relative humidity with a formula.
My goals are as follows:
1) Report the value in the current page, as well as min/max values in weekly, monthly, yearly totals.
2) Graph this as a new graph (I can't combine it with temperature as dewpoint does as the Y-axis label is different.)
3) Provide a mechanism to one-time retroactively compute the CBI values to all historic records someone has stored.
I believe (3) requires new code no matter what - I am not familiar with any existing code that will add in new values for a derived calculation to match prior observations. So, (3) can be actually put to the side for the moment.
The question is - what's the best way to do (1) and (2)? Two possible approaches are:
a) Implement a new 'cbi' extension, with its own database.
b) Add CBI to the core existing code-base, pretty much exactly where dewpoint iis calculated for (1) (and database schemas defined, etc.) - and simply adding in a new graph for the CBI.
In the briefest terms, should I implement this as an extension or as additions to the existing code? Obviously, either approach would be 'given back' to be used - but what is the preferred way to implement this?