# moonangle.frink

``` // Program to calculate the minimum and maximum diameter of the moon as seen // from earth over a specified time span. use sun.frink minangle = 1000 radians maxangle = 0 radians closestAngle = 0 radians startDate = #2000-01-01# endDate = #2010-01-01#  for date= startDate to endDate step 1 hours {    // Calculate geocentric angle (as seen from center of earth.)    angle = 2 moonRadiusAngle[date]        // Also calculate angle as seen from closest position on earth.    closeAngle = 2 arcsin[moonradius / (moonradius + moonDistance[date] - earthradius)]        if (angle < minangle)       minangle = angle    if (angle > maxangle)       maxangle = angle    if (closeAngle > closestAngle)       closestAngle = closeAngle } println["Min is " + (minangle->"degrees")] println["Max is " + (maxangle->"degrees")] println["Closest angle is " + (closestAngle->"degrees")] println[] println["Interval estimate:"] d = new interval[startDate, endDate] aa = 2 moonRadiusAngle[d] println[aa->"degrees"] ```