I have a few ideas, but I’m a software guy too so there could be better ways to do this. I also only have experience with Dan’s Interval Program written in python – the other programs behave differently.
First, most irrigation systems I use have normally closed valves – this way they shut off when power is lost. I think you want that here, but I see there are some professional irrigation system designs that are normally open. Check out this presentation: http://www.rainbird.com/landscape/resources/webinars/ESPLX-FlowSensing-Mar16-2012.pdf. I don’t think you need any particular product as long as it works on 24v AC.
Second, the Interval Program lets you configure a station to run any amount of time. You do have one interesting requirement in that you might suffer a power outage in the middle of an irrigation session. Currently, the Interval Program only logs when the station is done being watered. This would mean potential over-watering in your case if you lost power in the middle frequently. You’re going to need to modify the software to do something different. I recommend logging during a session on maybe a per-minute interval by creating a log entry and updating it every minute. Also, you’re going to have to modify the code to determine how much watering has been missed and automatically recover.
However, rather than water for 1 hour sessions, you might break that up into maybe 6 sessions of 10 minutes each. It is generally better to let water soak in anyway, and this would let your code use the current logging and overwater at most 10 minutes if power fails during a session.
Third, I think you could use the master valve feature to always turn on the starter before watering. You probably need to have the 24v triac that comes with the OsPi connected to a custom relay to allow it to switch the 3-phase starter on or off.