def getAdjustedGHA(dateInput, timeInput): starDateTimeString = dateInput + ' ' + timeInput starDateTimeObj = datetime.datetime.strptime(starDateTimeString, '%Y-%m-%d %H:%M:%S') GHAADateTimeObj = datetime.datetime.strptime('2001-01-01 00:00:00', '%Y-%m-%d %H:%M:%S') GHAADeg = '100d42.6' cumProg = '0d0.0' # Get Difference in years if(starDateTimeObj.year > GHAADateTimeObj.year): yearDiff = starDateTimeObj.year - GHAADateTimeObj.year print('convertDegMinStrToNum={0}'.format(CH.convertDegMinStrToNumber( '-0d14.31667'))) cumProg = getCumProg(yearDiff) #Consider Leap Years leapYears = getNumOfLeapYearInbtw(GHAADateTimeObj.year, starDateTimeObj.year) totalProg = getTotalProgression(leapYears) primeMeriRotat = getPrimeMeriRotation(GHAADeg,cumProg,totalProg) rotatFromYearStart = getEarthRotatSinceYearStart(starDateTimeObj) adjustedGHA = getTotalAdjustedGHA(primeMeriRotat, rotatFromYearStart) return adjustedGHA
def getGHAStarLong(GHAAries, starName): starDict = createStarDict() currentStar = starDict[starName.title()] GHAstarDeg = CH.convertDegMinStrToNumber(currentStar['SHA']) \ + CH.convertDegMinStrToNumber(GHAAries) return CH.convertNumToDegMinString(GHAstarDeg)
def getTotalAdjustedGHA(primeMeriRotat, yearRotat): return CH.convertNumToDegMinString(CH.convertDegMinStrToNumber(primeMeriRotat) + CH.convertDegMinStrToNumber(yearRotat))
def getPrimeMeriRotation(GHAADeg, CumProg, LeapProg): answer = CH.convertDegMinStrToNumber(GHAADeg) + CH.convertDegMinStrToNumber(CumProg)\ + CH.convertDegMinStrToNumber(LeapProg) return CH.convertNumToDegMinString(answer)
def getTotalProgression(numOfLeapYears): return CH.convertNumToDegMinString(numOfLeapYears * CH.convertDegMinStrToNumber('0d59.0'))
def getCumProg(yearDiff): return CH.convertNumToDegMinString(yearDiff * CH.convertDegMinStrToNumber( '-0d14.31667'))