def moon_alt_az(date, moon_app_ra, moon_app_dec, obsvr_long, obsvr_lat,\ obsvr_hgt, dbg=False): '''Calculate Moon's Azimuth, Altitude (returned in radians). No refraction or polar motion is assumed.''' # No atmospheric refraction... airless = True (temp_k, pres_mb, rel_humid, wavel, tlr) = atmos_params(airless) # Assume no polar motion xp = yp = 0.0 # Compute MJD_UTC mjd_utc = datetime2mjd_utc(date) logger.debug(mjd_utc) # Compute UT1-UTC dut = ut1_minus_utc(mjd_utc) logger.debug(dut) # Perform apparent->observed place transformation (obs_az, obs_zd, obs_ha, obs_dec, obs_ra) = S.sla_aop(moon_app_ra, moon_app_dec,\ mjd_utc, dut, obsvr_long, obsvr_lat, obsvr_hgt, xp, yp, \ temp_k, pres_mb, rel_humid, wavel, tlr) # Normalize azimuth into range 0..2PI obs_az = S.sla_ranorm(obs_az) # Convert zenith distance to altitude (assumes no depression of the horizon # due to observers' elevation above sea level) obs_alt = (pi/2.0)-obs_zd logger.debug("Az, ZD, Alt=%f %f %f" % (obs_az, obs_zd, obs_alt)) return (obs_az, obs_alt)
def radec_to_azza(ra, dec, MJD, fctr=350.0, atm=1010.0, temp=283.0, humid=0.5, scope='GBT'): """ redec_to_azza(ra, dec, MJD): Return AZ and ZA (in deg) from RA and DEC (J2000 in deg) at MJD. Keyword params are fctr=350.0, atm=1010.0, temp=283.0, humid=0.5, scope='GBT'. """ scope, x, lon, lat, hgt = s.sla_obs(0, scope) microns = 3e8/(fctr*1e6)*1e6 app_rarad, app_decrad = s.sla_map(ra*DEGTORAD,dec*DEGTORAD,0.0,0.0,0.0,0.0,2000.0,MJD) az, za, hob, rob, dob = s.sla_aop(app_rarad,app_decrad,MJD, 0.0,-lon,lat,hgt,0.0,0.0,temp,atm,humid,microns,0.0065) az = s.sla_dranrm(az) return az*RADTODEG, za*RADTODEG
def radec_to_azza(ra, dec, MJD, fctr=350.0, atm=1010.0, temp=283.0, humid=0.5, scope='GBT'): """ redec_to_azza(ra, dec, MJD): Return AZ and ZA (in deg) from RA and DEC (J2000 in deg) at MJD. Keyword params are fctr=350.0, atm=1010.0, temp=283.0, humid=0.5, scope='GBT'. """ scope, x, lon, lat, hgt = s.sla_obs(0, scope) microns = 3e8 / (fctr * 1e6) * 1e6 app_rarad, app_decrad = s.sla_map(ra * DEGTORAD, dec * DEGTORAD, 0.0, 0.0, 0.0, 0.0, 2000.0, MJD) az, za, hob, rob, dob = s.sla_aop(app_rarad, app_decrad, MJD, 0.0, -lon, lat, hgt, 0.0, 0.0, temp, atm, humid, microns, 0.0065) az = s.sla_dranrm(az) return az * RADTODEG, za * RADTODEG