Thanks for your response. If I may, here is a suggestion how to implement this without completely reorganizing the programs data structure:
When a user clicks on the duration setting for a station, add a section for selecting the end time below the sunrise and sunset area. The duration well be greyed out when the user starts entering info about end time. When submitted, the program calculates the duration based on when the station will start and the selected end time (I’m assuming this is how the current sunset to sunrise option works). This duration can then be saved in a similar manner as if the user selected the duration explicitly. This duration will have to be recalculated once every day as the sunrise and sunset times will change, but I’m assuming this must already occur for the sunrise to sunset option to work.
I can see not wanting to go this route as the pop-up duration screen might get a little busy, but I’d be curious to know your thoughts on this method. Thanks!