Comments (2)
To illustrate the effects of neglecting polar motions, the plots below compare (Alt, Az) over the nominal DESI 5-year survey for targets at dec=+30deg observed at HA=0:
The blue points are calculated with astropy and include polar motion and the red line is based on this IDL code, which should be equivalent to utils.radec2altaz()
. Note that there is a systematic offset of 7 deg in Az during the DESI survey, while the effects on Alt are much smaller ~ 0.1deg.
For reference, the plot was created with:
kpno = EarthLocation.from_geodetic(
lat='31d57m50.30s', lon='-111d35m57.61s', height=2120.*u.m)
t_start = Time(datetime(2019,8,28,19,0,0))
t_stop = Time(datetime(2024,7,13,19,0,0))
def astropy_test(mjd1=t_start.mjd, mjd2=t_stop.mjd, dec=30. * u.deg, n=1023, ha=0.*u.deg):
mjd = np.linspace(mjd1, mjd2, n + 1)
tvec = Time(mjd, format='mjd', location=kpno)
lst = tvec.sidereal_time('apparent')
# Assign RA based on HA
ra = lst - ha
# Convert to AltAz
altaz = SkyCoord(ra=ra, dec=dec).transform_to(
AltAz(obstime=tvec, location=kpno, pressure=0))
fig, ax = plt.subplots(2, 1, sharex=True, figsize=(8, 8))
# Compare altitudes with RA=LST expectation
ax[0].plot(mjd - mjd[0], altaz.alt.to(u.deg).value, '.')
expected = (np.arcsin(np.cos(dec - kpno.latitude))).to(u.deg).value
ax[0].axhline(expected, color='r', ls='--', lw=2)
ax[0].set_ylabel('HA=0 Altitude [deg]')
# Compare azimuths with RA=LST expectation
ax[1].plot(mjd - mjd[0], altaz.az.to(u.deg).value, '.')
expected = np.arctan2(0, np.sin(dec - kpno.latitude)).to(u.deg).value
ax[1].axhline(expected, color='r', ls='--', lw=2)
ax[1].set_ylim(None, 180.5)
ax[1].set_ylabel('HA=0 Azimuth [deg]')
ax[1].set_xlabel('Elapsed Days')
plt.subplots_adjust(hspace=0.05)
plt.savefig('polar.png')
from desisurvey.
Polar motions are now included consistently throughout desisurvey
and surveysim
using functions in desisurvey.utils
.
from desisurvey.
Related Issues (20)
- RA, Dec mix up when calling desisurvey.ephem.get_object_interpolator HOT 1
- Found invalid plan_tiles in use_plan(). HOT 4
- Consider moving freeze_iers to desiutil HOT 3
- unit tests and surveyinit failing with new tile file HOT 4
- Make tile file more flexible to changes HOT 1
- Update default fiberassign cadence HOT 1
- HA optimizations should be made more flexible
- Consider alternative status file formats
- Change mechanism by which rules and tile file are specified in afternoon planning
- Remove simulate blocks from desisurvey
- should desisurvey depend on specsim? HOT 2
- Next tile to be chosen before previous exposure is saved to disc HOT 1
- unit tests failing on NERSC HOT 4
- revive tests with GitHub actions
- desisurvey broken with astropy 4.2 HOT 8
- reading horizons_2020_week1_moon.csv broken under astropy 4.2
- Unit tests failing with speclite error HOT 1
- desisurvey.ephem is broken in current DESI releases HOT 7
- survey simulations tutorial fails with AttributeError: 'Configuration' object has no attribute 'tiles_nogray' HOT 1
- Use exposures-daily and tiles-daily instead of tsnr-exposures & tiles
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from desisurvey.