Thanks Dan, these are good thoughts. Right now I can switch from inches to mm with nothing but a UI change. It’s not complete yet, but the algorithms remain the same. So far, I’ve been able to avoid any code that required me to use inches as anything other than just a unit of measure. In other words, I don’t have to divide by 12 or calculate area or something like that with it.
I had the same thought that you did to allow for the weather history data to be a module people can change. I’ve designed the code and UI to allow this but haven’t implemented it yet because I’m so weak with Python. But it will happen.
One question – I’m at the point where I have to create a schedule program automatically. However, the code is very hard to decipher. Do you have any thoughts on the best way to have my plug-in create a program or set of station schedules?
My first thought was to create a new set of programs, but that’s looking like I might have to create a new program for every zone because it is likely that each zone will have its own unique precipitation rate (at least this is true in most of my zones) and potentially a unique evapotranspiration value too. This means each day, each zone will need watering on a unique duration. My next thought was to create a single program with each station having a unique duration value. Does that sound right? I was thinking of copying the code out of timing_loop, settings up the station values and calling schedule_station. Does that make sense?