If anyone is using the #MOONAGE# tag and wants to correct the time zone error, I think the following should work:
Replace #MOONAGE#
with ((#MOONAGE#+(#DOFST#/1440)+29.530588)%29.530588)
{ Notes:
#MOONAGE# returns different values depending on the time zone of the user. The phase of the Moon however is the same for everyone everywhere at the same time, hence the need for the correction. Depending on where one lives the error could by up to 14hrs or so. For example, a person in time zone UTC+10 hrs, #MOONAGE# would say that the Moon is 10hrs older than it is.
#DOFST# is the time zone offset in minutes for the user’s location and is negative for time zones east of GMT.
#MOONAGE# is in days, hence the need to divide #DOFST# by the number of minutes in a day to get the timezone offset in days.
The reason for adding 29.5 is to ensure the expression does not go negative when #MOONAGE# is less than (abs(#DOFST#/1440)) and #DOFST# is negative. (The % function will return a negative result if the left operand is negative and the right is positive.) For example, a person in time zone UTC+10 hrs, without adding 29.5, the expression would be negative for 10 hrs per month.
I think @Facer_Official should take note of issues with their tags and proactively seek to correct errors when identified by the community and especially their trusted partners. Whilst it is always nice to have a workaround, when/if facer do take action it will fix 99% of watch faces using the tag without the workaround and make the remaining 1% of watchfaces require an update to revert the workaround.
Thanks for sharing the workaround @mikeoday
It has been brought to their attention but no doubt they have much more significant issues they are dealing with first. For most people and for most purposes, even a 14hr error won’t matter that much, so it is no doubt a fairly low priority. And people like me who want high accuracy don’t use that tag anyway.
The Tag has been around for 2 years and is yet to be changed so it could still be a while - if heaps of people had been complaining then it would no doubt have been fixed by now. But you point is well made, using the work-around will mean that when/if the TAG is changed, people will need to go back and change the relevant faces.
Or alternatively people could forget about the tag and use the new “go to standard” for high accuracy phase predictions developed by @p.hennessey
Here it is - it returns a number between 0 and 1, where 0 is New Moon, 0.5 is full and 1 is back to a New Moon again. One would multiply this by 29.530588 to get the “Moon’s age” in days; ie. the same as the TAG.