@eradicator09! Yes, and interesting subject. I have been running a personally weather Site for +20 years now, and in this is also included, what you try to get, as a possibility on a watch function.
I do still not have the necessary knowledge of the possibilities in Facers tags possibilities, to could make a function to do it.
But I can give you an example of, how it's done on my Weather Site, out from some calculations, based on latitude, and times, and combined with some math!
The following, is a script (Java) which calculate the Sun's actual heigt above the Horizon, and when you know this, you can also find the Exact Twilight for Astronomical, Nautical and Civil, for the position you are!
latitude = 54.5 (you'r position)
dateStr = "^vst142^" (is this who picks up the exact Date)
month = parseFloat(dateStr.substring(3,5))
day = parseFloat(dateStr.substring(0,2))
timeStr = "^vst143^" (is this who picks up the exact Time) (it's a Tag for the program, just as in Facer)
hour = parseFloat(timeStr.substring(0,2))
minute = parseFloat(timeStr.substring(3,5))
riseStr = "^vst144^" (is the strings who pick up the Sunrise, by you'r position) (it's a Tag for the program, just as in Facer)
risehour = parseFloat(riseStr.substring(0,2))
riseminute = parseFloat(riseStr.substring(3,5))
risetime = (risehour * 60) + riseminute
setStr = "^vst145^" (is the string who picks up the Sunset, by you'r position) (it's a Tag for the program, just as in Facer)
sethour = parseFloat(setStr.substring(0,2))
sethour = sethour +1 (the Plus, is for getting Summer Time)
setminute = parseFloat(setStr.substring(3,5))
settime = (sethour * 60) + setminute
time = hour * 60 + minute
julian_day = calcJday(month, day)
suntime = sunTime(risetime, settime, time)
sun_elevation = solarAltitude(julian_day, suntime, latitude)
sun_azimuth = solarAzimuth(julian_day, suntime, latitude)
If you (or Mellin) can use it, I don't know. But it's a start to ideas