public static double[] getHourLineAngles(double latitude, double longitude, int date) {
		double[] angleArray = new double[13];
		double minutesMeridianDelta = getMeridianDelta(longitude) / 15 * 60; //minutes
		double EOTDelta = EOTCorrection(date); //minutes
		double netDelta = (minutesMeridianDelta + EOTDelta) / 60; //converted to hours
		//System.out.println(meridianDelta + " " + EOTDelta + " " + netDelta);
		//Lines are symmetrical before correction factors
		//After correction factors in winter, west of meridian (most common situation):
		//  Lines before noon are further from north
		//  Lines after noon are closer to north
		//  Noon is CCW of north
		double hoursFromNoon = -6;
		hoursFromNoon += netDelta; //Make bigger AM angles if modifier is negative (want to show a time later than what the sun shows)
		for(int i = 0; i <= 12; i++, hoursFromNoon++) {
			//System.out.println(hoursFromNoon);
			angleArray[i] = atanDegrees(tanDegrees(hoursFromNoon * 15)* sinDegrees(latitude));
		}
		//correction when angle should be obtuse (atan cannot spit out angle larger than 90)
		//Check and correct first entry
		if(angleArray[0] / angleArray[1] < 0) { //if signs dont match then we've gone past 90 degrees
			if(angleArray[1] < 0)
				angleArray[0] = -1 * (180 - angleArray[0]); //negative correction
			else
				angleArray[0] = 180 + angleArray[0]; //positive correction
		}
		//Check and correct last entry
		if(angleArray[12] / angleArray[11] < 0) { //if signs dont match then we've gone past 90 degrees
			if(angleArray[11] < 0)
				angleArray[12] = -1 * (180 - angleArray[12]); //negative correction
			else
				angleArray[12] = 180 + angleArray[12]; //positive correction
		}
		return angleArray;
	}