Skip to content

Error in obtaining twilight time for site #608

@simontorres

Description

@simontorres

I've found that issues #464 and #533 present a similar problem.
I'm using astroplan version 0.10.1
I'm running the following code for testing:

import astropy.units as u
from astropy.time import Time
from astropy.coordinates import EarthLocation
from astroplan import Observer

observatory = 'SOAR Telescope'

geodetic_location = ['-70d44m01.11s', '-30d14m16.41s', 2748]

longitude = geodetic_location[0]
latitude = geodetic_location[1]
elevation = geodetic_location[2]

timezone = 'UTC'

description = 'Soar Telescope on Cerro Pachon, Chile'


soar_loc = EarthLocation.from_geodetic(
    longitude,
    latitude,
    elevation * u.m,
    ellipsoid='WGS84')

soar = Observer(name=observatory,
                location=soar_loc,
                timezone=timezone,
                description=description)

date_obs = [
    '2024-12-08T19:12:58.281',
    '2024-12-08T19:14:00.814',
    '2024-12-08T19:14:13.016',
    '2024-12-08T19:14:25.218',
    '2024-12-08T19:14:37.423',
    '2024-12-08T19:14:49.627',
    '2024-12-08T19:15:01.826',
    '2024-12-08T19:15:14.025',
    '2024-12-08T19:15:26.223',
    '2024-12-08T19:15:38.421',
    '2024-12-08T19:15:50.620',
    '2024-12-08T19:16:02.819',
    '2024-12-08T19:26:51.024',
    '2024-12-08T19:27:01.016',
    '2024-12-08T19:27:10.980',
    '2024-12-08T19:27:20.945',
    '2024-12-08T19:27:30.939',
    '2024-12-08T19:27:40.904',
    '2024-12-08T19:27:50.873',
    '2024-12-08T19:28:00.841',
    '2024-12-08T19:28:10.807',
    '2024-12-08T19:28:20.773',
    '2024-12-08T19:31:11.133',
    '2024-12-08T19:32:03.088',
    '2024-12-08T19:32:14.580',
    '2024-12-08T19:32:26.074',
    '2024-12-08T19:32:37.592',
    '2024-12-08T19:32:49.092',
    '2024-12-08T19:33:00.585',
    '2024-12-08T19:33:12.073',
    '2024-12-08T19:33:23.569',
    '2024-12-08T19:33:35.067',
    '2024-12-08T19:35:16.249',
    '2024-12-08T19:37:07.451',
    '2024-12-08T19:39:44.707',
    '2024-12-08T19:41:30.004',
    '2024-12-08T19:41:55.606',
    '2024-12-08T19:44:42.483',
    '2024-12-08T19:45:43.977',
    '2024-12-08T19:45:59.987',
    '2024-12-08T19:46:15.949',
    '2024-12-08T19:46:31.938',
    '2024-12-08T19:46:47.928',
    '2024-12-08T19:47:03.930',
    '2024-12-08T19:47:19.913',
    '2024-12-08T19:47:35.907',
    '2024-12-08T19:47:51.902',
    '2024-12-08T19:48:07.926',
    '2024-12-09T00:36:05.258',
    '2024-12-09T00:42:48.890',
    '2024-12-09T00:45:59.575',
    '2024-12-09T00:49:47.609',
    '2024-12-09T00:51:15.288',
    '2024-12-09T00:54:38.605',
    '2024-12-09T01:02:21.778',
    '2024-12-09T01:13:07.968',
    '2024-12-09T01:23:34.241',
    '2024-12-09T01:35:06.785',
    '2024-12-09T01:43:37.992',
    '2024-12-09T01:45:02.019',
    '2024-12-09T02:04:56.958',
    '2024-12-09T02:15:06.920',
    '2024-12-09T02:26:06.814',
    '2024-12-09T02:32:23.438',
    '2024-12-09T02:42:33.399',
    '2024-12-09T02:52:43.364',
    '2024-12-09T03:03:35.575',
    '2024-12-09T03:09:17.902',
    '2024-12-09T03:15:02.153',
    '2024-12-09T03:20:44.887',
    '2024-12-09T03:32:59.756',
    '2024-12-09T03:38:22.151',
    '2024-12-09T03:44:21.035',
    '2024-12-09T03:50:33.126',
    '2024-12-09T03:55:54.897',
    '2024-12-09T04:01:39.901',
    '2024-12-09T04:07:31.277',
    '2024-12-09T04:17:57.604',
    '2024-12-09T04:19:47.582',
    '2024-12-09T04:22:57.544',
    '2024-12-09T04:31:11.036',
    '2024-12-09T04:41:21.359',
    '2024-12-09T04:51:37.185',
    '2024-12-09T05:02:19.628',
    '2024-12-09T05:08:44.461',
    '2024-12-09T05:18:54.425',
    '2024-12-09T05:29:43.797',
    '2024-12-09T05:35:50.238',
    '2024-12-09T05:46:00.214',
    '2024-12-09T05:56:16.908',
    '2024-12-09T06:07:08.788',
    '2024-12-09T06:10:44.439',
    '2024-12-09T06:11:54.360',
    '2024-12-09T06:12:44.865',
    '2024-12-09T06:21:21.403',
    '2024-12-09T06:26:31.429',
    '2024-12-09T06:32:43.745',
    '2024-12-09T06:38:25.124',
    '2024-12-09T06:43:51.164',
    '2024-12-09T06:49:01.142',
    '2024-12-09T06:54:58.791',
    '2024-12-09T07:03:49.460',
    '2024-12-09T07:08:59.467',
    '2024-12-09T07:14:41.059',
    '2024-12-09T07:25:59.400',
    '2024-12-09T07:36:09.377',
    '2024-12-09T07:46:19.382',
    '2024-12-09T07:58:00.468',
    '2024-12-09T07:59:00.468']

for _t in date_obs:
    print(f"{Time(_t)} Evening: {soar.twilight_evening_astronomical(Time(_t), which='nearest').isot} Morning: {soar.twilight_morning_astronomical(Time(_t), which='nearest').isot}")

And I obtain the following output, I removed some of them for brevity:

2024-12-08T19:12:58.281 Evening: 2024-12-09T01:12:33.691 Morning: 2024-12-08T07:57:58.333
2024-12-08T19:14:00.814 Evening: 2024-12-09T01:12:33.739 Morning: 2024-12-08T07:57:58.146
...
...
2024-12-09T00:51:15.288 Evening: 2024-12-09T01:12:33.764 Morning: 2024-12-09T07:57:59.287
2024-12-09T00:54:38.605 Evening: 2024-12-09T01:12:33.682 Morning: 2024-12-09T07:57:59.567
2024-12-09T01:02:21.778 Evening: 2024-12-09T01:12:33.505 Morning: 2024-12-09T07:57:59.343
2024-12-09T01:13:07.968 Evening:                     ——— Morning: 2024-12-09T07:57:59.620
2024-12-09T01:23:34.241 Evening: 2024-12-09T01:12:33.691 Morning: 2024-12-09T07:57:59.560
2024-12-09T01:35:06.785 Evening: 2024-12-09T01:12:33.718 Morning: 2024-12-09T07:57:59.270
2024-12-09T01:43:37.992 Evening: 2024-12-09T01:12:33.774 Morning: 2024-12-09T07:57:59.368
2024-12-09T01:45:02.019 Evening: 2024-12-09T01:12:33.672 Morning: 2024-12-09T07:57:59.278
...
...
2024-12-09T07:36:09.377 Evening: 2024-12-09T01:12:33.771 Morning: 2024-12-09T07:57:59.298
2024-12-09T07:46:19.382 Evening: 2024-12-09T01:12:33.689 Morning: 2024-12-09T07:57:59.309
2024-12-09T07:58:00.468 Evening: 2024-12-09T01:12:33.629 Morning:                     ———
2024-12-09T07:59:00.468 Evening: 2024-12-09T01:12:33.791 Morning: 2024-12-09T07:57:59.451

There are these two points where the output is not correct, they seem to be random, in my application I use the first and the last value to get the corresponding twilight for evening and morning. In this case the last value was failing so I just copied it and added one minute and a a proper value is obtained.

Thanks in advance!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions