astronoby 0.7.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/CHANGELOG.md +145 -3
  4. data/README.md +59 -33
  5. data/UPGRADING.md +75 -21
  6. data/docs/README.md +224 -0
  7. data/docs/angles.md +137 -0
  8. data/docs/configuration.md +98 -0
  9. data/docs/coordinates.md +167 -0
  10. data/docs/deep_sky_bodies.md +101 -0
  11. data/docs/ephem.md +85 -0
  12. data/docs/equinoxes_solstices_times.md +31 -0
  13. data/docs/glossary.md +152 -0
  14. data/docs/instant.md +139 -0
  15. data/docs/moon_phases.md +79 -0
  16. data/docs/observer.md +65 -0
  17. data/docs/reference_frames.md +138 -0
  18. data/docs/rise_transit_set_times.md +119 -0
  19. data/docs/solar_system_bodies.md +107 -0
  20. data/docs/twilight_times.md +123 -0
  21. data/lib/astronoby/angle.rb +6 -2
  22. data/lib/astronoby/angular_velocity.rb +76 -0
  23. data/lib/astronoby/bodies/deep_sky_object.rb +44 -0
  24. data/lib/astronoby/bodies/deep_sky_object_position.rb +127 -0
  25. data/lib/astronoby/bodies/earth.rb +12 -2
  26. data/lib/astronoby/bodies/jupiter.rb +17 -0
  27. data/lib/astronoby/bodies/mars.rb +17 -0
  28. data/lib/astronoby/bodies/mercury.rb +21 -0
  29. data/lib/astronoby/bodies/moon.rb +50 -36
  30. data/lib/astronoby/bodies/neptune.rb +21 -0
  31. data/lib/astronoby/bodies/saturn.rb +26 -0
  32. data/lib/astronoby/bodies/solar_system_body.rb +162 -27
  33. data/lib/astronoby/bodies/sun.rb +25 -2
  34. data/lib/astronoby/bodies/uranus.rb +5 -0
  35. data/lib/astronoby/bodies/venus.rb +25 -0
  36. data/lib/astronoby/cache.rb +189 -0
  37. data/lib/astronoby/configuration.rb +92 -0
  38. data/lib/astronoby/constants.rb +11 -3
  39. data/lib/astronoby/constellation.rb +12 -0
  40. data/lib/astronoby/constellations/data.rb +42 -0
  41. data/lib/astronoby/constellations/finder.rb +35 -0
  42. data/lib/astronoby/constellations/repository.rb +20 -0
  43. data/lib/astronoby/coordinates/equatorial.rb +5 -8
  44. data/lib/astronoby/data/constellations/constellation_names.dat +88 -0
  45. data/lib/astronoby/data/constellations/indexed_abbreviations.dat +88 -0
  46. data/lib/astronoby/data/constellations/radec_to_index.dat +238 -0
  47. data/lib/astronoby/data/constellations/sorted_declinations.dat +202 -0
  48. data/lib/astronoby/data/constellations/sorted_right_ascensions.dat +237 -0
  49. data/lib/astronoby/distance.rb +6 -0
  50. data/lib/astronoby/equinox_solstice.rb +2 -2
  51. data/lib/astronoby/events/extremum_calculator.rb +233 -0
  52. data/lib/astronoby/events/extremum_event.rb +15 -0
  53. data/lib/astronoby/events/moon_phases.rb +15 -14
  54. data/lib/astronoby/events/rise_transit_set_calculator.rb +39 -12
  55. data/lib/astronoby/events/twilight_calculator.rb +116 -61
  56. data/lib/astronoby/events/twilight_events.rb +28 -0
  57. data/lib/astronoby/instant.rb +34 -6
  58. data/lib/astronoby/julian_date.rb +78 -0
  59. data/lib/astronoby/mean_obliquity.rb +8 -10
  60. data/lib/astronoby/nutation.rb +11 -3
  61. data/lib/astronoby/observer.rb +1 -1
  62. data/lib/astronoby/precession.rb +48 -38
  63. data/lib/astronoby/reference_frame.rb +2 -1
  64. data/lib/astronoby/reference_frames/apparent.rb +1 -11
  65. data/lib/astronoby/reference_frames/mean_of_date.rb +1 -1
  66. data/lib/astronoby/reference_frames/topocentric.rb +2 -12
  67. data/lib/astronoby/stellar_propagation.rb +162 -0
  68. data/lib/astronoby/time/greenwich_apparent_sidereal_time.rb +22 -0
  69. data/lib/astronoby/time/greenwich_mean_sidereal_time.rb +64 -0
  70. data/lib/astronoby/time/greenwich_sidereal_time.rb +20 -58
  71. data/lib/astronoby/time/local_apparent_sidereal_time.rb +42 -0
  72. data/lib/astronoby/time/local_mean_sidereal_time.rb +42 -0
  73. data/lib/astronoby/time/local_sidereal_time.rb +35 -26
  74. data/lib/astronoby/time/sidereal_time.rb +42 -0
  75. data/lib/astronoby/true_obliquity.rb +2 -3
  76. data/lib/astronoby/util/time.rb +62 -44
  77. data/lib/astronoby/velocity.rb +5 -0
  78. data/lib/astronoby/version.rb +1 -1
  79. data/lib/astronoby.rb +19 -1
  80. metadata +71 -11
  81. data/Gemfile +0 -5
  82. data/Gemfile.lock +0 -102
  83. data/benchmark/README.md +0 -131
  84. data/benchmark/benchmark.rb +0 -259
  85. data/benchmark/data/imcce.csv.zip +0 -0
  86. data/benchmark/data/sun_calc.csv.zip +0 -0
  87. data/lib/astronoby/epoch.rb +0 -22
@@ -1,41 +1,50 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Astronoby
4
- class LocalSiderealTime
5
- attr_reader :date, :time, :longitude
4
+ class LocalSiderealTime < SiderealTime
5
+ attr_reader :longitude
6
6
 
7
- # Source:
8
- # Title: Practical Astronomy with your Calculator or Spreadsheet
9
- # Authors: Peter Duffett-Smith and Jonathan Zwart
10
- # Edition: Cambridge University Press
11
- # Chapter: 14 - Local sidereal time (LST)
12
7
  def self.from_gst(gst:, longitude:)
13
- date = gst.date
14
- time = gst.time + longitude.hours
15
- time += Constants::HOURS_PER_DAY if time.negative?
16
- time -= Constants::HOURS_PER_DAY if time > Constants::HOURS_PER_DAY
8
+ case gst.type
9
+ when MEAN
10
+ LocalMeanSiderealTime.from_gst(gst: gst, longitude: longitude)
11
+ when APPARENT
12
+ LocalApparentSiderealTime.from_gst(gst: gst, longitude: longitude)
13
+ end
14
+ end
17
15
 
18
- new(date: date, time: time, longitude: longitude)
16
+ def self.from_utc(utc, longitude:, type: MEAN)
17
+ validate_type!(type)
18
+ case type
19
+ when MEAN
20
+ LocalMeanSiderealTime.from_utc(utc, longitude: longitude)
21
+ when APPARENT
22
+ LocalApparentSiderealTime.from_utc(utc, longitude: longitude)
23
+ end
19
24
  end
20
25
 
21
- def initialize(date:, time:, longitude:)
22
- @date = date
23
- @time = time
26
+ def initialize(date:, time:, longitude:, type: MEAN)
27
+ super(date: date, time: time, type: type)
24
28
  @longitude = longitude
25
29
  end
26
30
 
27
- # Source:
28
- # Title: Practical Astronomy with your Calculator or Spreadsheet
29
- # Authors: Peter Duffett-Smith and Jonathan Zwart
30
- # Edition: Cambridge University Press
31
- # Chapter: 15 - Converting LST to GST
32
31
  def to_gst
33
- date = @date
34
- time = @time - @longitude.hours
35
- time += Constants::HOURS_PER_DAY if time.negative?
36
- time -= Constants::HOURS_PER_DAY if time > Constants::HOURS_PER_DAY
37
-
38
- GreenwichSiderealTime.new(date: date, time: time)
32
+ case @type
33
+ when MEAN
34
+ lst = LocalMeanSiderealTime.new(
35
+ date: @date,
36
+ time: @time,
37
+ longitude: @longitude
38
+ )
39
+ lst.to_gst
40
+ when APPARENT
41
+ last = LocalApparentSiderealTime.new(
42
+ date: @date,
43
+ time: @time,
44
+ longitude: @longitude
45
+ )
46
+ last.to_gst
47
+ end
39
48
  end
40
49
  end
41
50
  end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Astronoby
4
+ class SiderealTime
5
+ TYPES = [
6
+ MEAN = :mean,
7
+ APPARENT = :apparent
8
+ ].freeze
9
+
10
+ attr_reader :date, :time, :type
11
+
12
+ def self.normalize_time(time)
13
+ time += Constants::HOURS_PER_DAY if time.negative?
14
+ time -= Constants::HOURS_PER_DAY if time > Constants::HOURS_PER_DAY
15
+ time
16
+ end
17
+
18
+ def self.validate_type!(type)
19
+ unless TYPES.include?(type)
20
+ raise ArgumentError, "Invalid type: #{type}. Must be one of #{TYPES}"
21
+ end
22
+ end
23
+
24
+ def initialize(date:, time:, type: MEAN)
25
+ @date = date
26
+ @time = time
27
+ @type = type
28
+ end
29
+
30
+ def mean?
31
+ @type == MEAN
32
+ end
33
+
34
+ def apparent?
35
+ @type == APPARENT
36
+ end
37
+
38
+ def normalize_time(time)
39
+ self.class.normalize_time(time)
40
+ end
41
+ end
42
+ end
@@ -2,9 +2,8 @@
2
2
 
3
3
  module Astronoby
4
4
  class TrueObliquity
5
- def self.for_epoch(epoch)
6
- instant = Instant.from_utc_julian_date(epoch)
7
- mean_obliquity = MeanObliquity.for_epoch(epoch)
5
+ def self.at(instant)
6
+ mean_obliquity = MeanObliquity.at(instant)
8
7
  nutation = Nutation.new(instant: instant).nutation_in_obliquity
9
8
 
10
9
  mean_obliquity + nutation
@@ -4,7 +4,7 @@ module Astronoby
4
4
  module Util
5
5
  module Time
6
6
  OLD_LEAP_SECONDS = {
7
- 2378496.5 => 13.188148343557259,
7
+ 2378496.5 => 13.188148343557259, # 1800-01-01T00:00:00+00:00
8
8
  2378677.5 => 12.977779959648615,
9
9
  2378861.5 => 12.789307379498496,
10
10
  2379042.5 => 12.627219619724201,
@@ -400,52 +400,70 @@ module Astronoby
400
400
  2450265.5 => 61.2837935622083,
401
401
  2450449.5 => 61.96410528309934,
402
402
  2450630.5 => 62.7581330776884,
403
- 2450814.5 => 63,
404
- 2450995.5 => 63,
405
- 2451179.5 => 64
403
+ 2450814.5 => 62.966,
404
+ 2450995.5 => 63.284,
405
+ 2451179.5 => 63.467,
406
+ 2451360.5 => 63.664 # 1999-07-01T00:00:00+00:00
406
407
  }.freeze
407
408
 
408
409
  RECENT_LEAP_SECONDS = {
409
- 2451360.5 => 64,
410
- 2451544.5 => 64,
411
- 2451726.5 => 64,
412
- 2451910.5 => 64,
413
- 2452091.5 => 64,
414
- 2452275.5 => 64,
415
- 2452456.5 => 64,
416
- 2452640.5 => 64,
417
- 2452821.5 => 64,
418
- 2453005.5 => 64,
419
- 2453187.5 => 64,
420
- 2453371.5 => 64,
421
- 2453552.5 => 64,
422
- 2453736.5 => 65,
423
- 2453917.5 => 65,
424
- 2454101.5 => 65,
425
- 2454282.5 => 65,
426
- 2454466.5 => 65,
427
- 2454648.5 => 65,
428
- 2454832.5 => 66,
429
- 2455013.5 => 66,
430
- 2455197.5 => 66,
431
- 2455378.5 => 66,
432
- 2455562.5 => 66,
433
- 2455743.5 => 66,
434
- 2455927.5 => 66,
435
- 2456109.5 => 67,
436
- 2456293.5 => 67,
437
- 2456474.5 => 67,
438
- 2456658.5 => 67,
439
- 2456839.5 => 67,
440
- 2457023.5 => 67,
441
- 2457204.5 => 68,
442
- 2457388.5 => 68,
443
- 2457570.5 => 68,
444
- 2457754.5 => 69
410
+ 2451544.5 => 63.829, # 2000-01-01T00:00:00+00:00
411
+ 2451726.5 => 63.980,
412
+ 2451910.5 => 64.091,
413
+ 2452091.5 => 64.212,
414
+ 2452275.5 => 64.300,
415
+ 2452456.5 => 64.413,
416
+ 2452640.5 => 64.473,
417
+ 2452821.5 => 64.551,
418
+ 2453005.5 => 64.574,
419
+ 2453187.5 => 64.653,
420
+ 2453371.5 => 64.688,
421
+ 2453552.5 => 64.799,
422
+ 2453736.5 => 64.845,
423
+ 2453917.5 => 64.989,
424
+ 2454101.5 => 65.146,
425
+ 2454282.5 => 65.341,
426
+ 2454466.5 => 65.457,
427
+ 2454648.5 => 65.629,
428
+ 2454832.5 => 65.777,
429
+ 2455013.5 => 65.951,
430
+ 2455197.5 => 66.070,
431
+ 2455378.5 => 66.241,
432
+ 2455562.5 => 66.325,
433
+ 2455743.5 => 66.475,
434
+ 2455927.5 => 66.603,
435
+ 2456109.5 => 66.771,
436
+ 2456293.5 => 66.907,
437
+ 2456474.5 => 67.127,
438
+ 2456658.5 => 67.281,
439
+ 2456839.5 => 67.486,
440
+ 2457023.5 => 67.644,
441
+ 2457204.5 => 67.861,
442
+ 2457388.5 => 68.102,
443
+ 2457570.5 => 68.396,
444
+ 2457754.5 => 68.593,
445
+ 2457935.5 => 68.824,
446
+ 2458119.5 => 68.968,
447
+ 2458300.5 => 69.113,
448
+ 2458484.5 => 69.220,
449
+ 2458665.5 => 69.358,
450
+ 2458849.5 => 69.361,
451
+ 2459031.5 => 69.424,
452
+ 2459215.5 => 69.359,
453
+ 2459396.5 => 69.351,
454
+ 2459580.5 => 69.294,
455
+ 2459761.5 => 69.253,
456
+ 2459945.5 => 69.204,
457
+ 2460126.5 => 69.220,
458
+ 2460310.5 => 69.175,
459
+ 2460492.5 => 69.188,
460
+ 2460676.5 => 69.138,
461
+ 2460857.5 => 69.139 # 2025-07-01T00:00:00+00:00
445
462
  }.freeze
446
463
 
447
464
  OLDEST_JD = 2378496.5
448
- MOST_RECENT_JD = 2457754.5
465
+ FIRST_RECENT_JD = 2451544.5
466
+ MOST_RECENT_JD = 2460857.5
449
467
 
450
468
  # @param date [Date]
451
469
  # @param decimal [Numeric] Hour of the day, in decimal hours
@@ -496,16 +514,16 @@ module Astronoby
496
514
  when Numeric
497
515
  instant
498
516
  when ::Time, ::Date, ::DateTime
499
- Epoch.from_time(instant)
517
+ JulianDate.from_time(instant)
500
518
  else
501
519
  raise IncompatibleArgumentsError,
502
520
  "Expected a Numeric, Time, Date or DateTime object, got #{instant.class}"
503
521
  end
504
522
 
505
- return RECENT_LEAP_SECONDS[MOST_RECENT_JD] if jd >= 2457754.5
523
+ return RECENT_LEAP_SECONDS[MOST_RECENT_JD] if jd >= MOST_RECENT_JD
506
524
  return 0 if jd < OLDEST_JD
507
525
 
508
- if jd >= 2451360.5
526
+ if jd >= FIRST_RECENT_JD
509
527
  closest_jd = RECENT_LEAP_SECONDS.keys.bsearch { |key| key >= jd }
510
528
  leap_seconds = RECENT_LEAP_SECONDS[closest_jd]
511
529
  else
@@ -40,6 +40,11 @@ module Astronoby
40
40
  end
41
41
  alias_method :vector_from_mps, :vector_from_meters_per_second
42
42
 
43
+ def vector_from_astronomical_units_per_day(array)
44
+ Vector.elements(array.map { from_aupd(_1) })
45
+ end
46
+ alias_method :vector_from_aupd, :vector_from_astronomical_units_per_day
47
+
43
48
  def light_speed
44
49
  from_meters_per_second(Constants::LIGHT_SPEED_M_PER_S)
45
50
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Astronoby
4
- VERSION = "0.7.0"
4
+ VERSION = "0.9.0"
5
5
  end
data/lib/astronoby.rb CHANGED
@@ -1,12 +1,19 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "astronoby/cache"
4
+ require "astronoby/configuration"
3
5
  require "astronoby/constants"
4
6
  require "astronoby/angle"
5
7
  require "astronoby/angles/dms"
6
8
  require "astronoby/angles/hms"
9
+ require "astronoby/angular_velocity"
10
+ require "astronoby/constellation"
11
+ require "astronoby/constellations/repository"
12
+ require "astronoby/constellations/data"
13
+ require "astronoby/constellations/finder"
7
14
  require "astronoby/distance"
8
15
  require "astronoby/ephem"
9
- require "astronoby/epoch"
16
+ require "astronoby/julian_date"
10
17
  require "astronoby/instant"
11
18
  require "astronoby/vector"
12
19
  require "astronoby/velocity"
@@ -27,14 +34,19 @@ require "astronoby/coordinates/equatorial"
27
34
  require "astronoby/coordinates/horizontal"
28
35
  require "astronoby/corrections/light_time_delay"
29
36
  require "astronoby/aberration"
37
+ require "astronoby/bodies/deep_sky_object"
38
+ require "astronoby/bodies/deep_sky_object_position"
30
39
  require "astronoby/deflection"
31
40
  require "astronoby/equinox_solstice"
32
41
  require "astronoby/errors"
42
+ require "astronoby/events/extremum_event"
43
+ require "astronoby/events/extremum_calculator"
33
44
  require "astronoby/events/moon_phases"
34
45
  require "astronoby/events/rise_transit_set_event"
35
46
  require "astronoby/events/rise_transit_set_events"
36
47
  require "astronoby/events/rise_transit_set_calculator"
37
48
  require "astronoby/events/twilight_event"
49
+ require "astronoby/events/twilight_events"
38
50
  require "astronoby/events/twilight_calculator"
39
51
  require "astronoby/geocentric_parallax"
40
52
  require "astronoby/mean_obliquity"
@@ -49,8 +61,14 @@ require "astronoby/reference_frames/mean_of_date"
49
61
  require "astronoby/reference_frames/apparent"
50
62
  require "astronoby/reference_frames/topocentric"
51
63
  require "astronoby/refraction"
64
+ require "astronoby/stellar_propagation"
65
+ require "astronoby/time/sidereal_time"
52
66
  require "astronoby/time/greenwich_sidereal_time"
67
+ require "astronoby/time/greenwich_mean_sidereal_time"
68
+ require "astronoby/time/greenwich_apparent_sidereal_time"
53
69
  require "astronoby/time/local_sidereal_time"
70
+ require "astronoby/time/local_mean_sidereal_time"
71
+ require "astronoby/time/local_apparent_sidereal_time"
54
72
  require "astronoby/util/maths"
55
73
  require "astronoby/util/time"
56
74
  require "astronoby/util/trigonometry"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: astronoby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rémy Hannequin
@@ -37,6 +37,34 @@ dependencies:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
39
  version: 0.4.2
40
+ - !ruby/object:Gem::Dependency
41
+ name: benchmark
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '0.4'
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '0.4'
54
+ - !ruby/object:Gem::Dependency
55
+ name: irb
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.14'
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '1.14'
40
68
  - !ruby/object:Gem::Dependency
41
69
  name: rake
42
70
  requirement: !ruby/object:Gem::Requirement
@@ -71,14 +99,14 @@ dependencies:
71
99
  requirements:
72
100
  - - "~>"
73
101
  - !ruby/object:Gem::Version
74
- version: '2.3'
102
+ version: '3.0'
75
103
  type: :development
76
104
  prerelease: false
77
105
  version_requirements: !ruby/object:Gem::Requirement
78
106
  requirements:
79
107
  - - "~>"
80
108
  - !ruby/object:Gem::Version
81
- version: '2.3'
109
+ version: '3.0'
82
110
  - !ruby/object:Gem::Dependency
83
111
  name: simplecov
84
112
  requirement: !ruby/object:Gem::Requirement
@@ -120,22 +148,34 @@ files:
120
148
  - CHANGELOG.md
121
149
  - CODE_OF_CONDUCT.md
122
150
  - CONTRIBUTING.md
123
- - Gemfile
124
- - Gemfile.lock
125
151
  - LICENSE.txt
126
152
  - README.md
127
153
  - Rakefile
128
154
  - UPGRADING.md
129
- - benchmark/README.md
130
- - benchmark/benchmark.rb
131
- - benchmark/data/imcce.csv.zip
132
- - benchmark/data/sun_calc.csv.zip
155
+ - docs/README.md
156
+ - docs/angles.md
157
+ - docs/configuration.md
158
+ - docs/coordinates.md
159
+ - docs/deep_sky_bodies.md
160
+ - docs/ephem.md
161
+ - docs/equinoxes_solstices_times.md
162
+ - docs/glossary.md
163
+ - docs/instant.md
164
+ - docs/moon_phases.md
165
+ - docs/observer.md
166
+ - docs/reference_frames.md
167
+ - docs/rise_transit_set_times.md
168
+ - docs/solar_system_bodies.md
169
+ - docs/twilight_times.md
133
170
  - lib/astronoby.rb
134
171
  - lib/astronoby/aberration.rb
135
172
  - lib/astronoby/angle.rb
136
173
  - lib/astronoby/angles/dms.rb
137
174
  - lib/astronoby/angles/hms.rb
175
+ - lib/astronoby/angular_velocity.rb
138
176
  - lib/astronoby/astronomical_models/moon_phases_periodic_terms.rb
177
+ - lib/astronoby/bodies/deep_sky_object.rb
178
+ - lib/astronoby/bodies/deep_sky_object_position.rb
139
179
  - lib/astronoby/bodies/earth.rb
140
180
  - lib/astronoby/bodies/jupiter.rb
141
181
  - lib/astronoby/bodies/mars.rb
@@ -147,25 +187,39 @@ files:
147
187
  - lib/astronoby/bodies/sun.rb
148
188
  - lib/astronoby/bodies/uranus.rb
149
189
  - lib/astronoby/bodies/venus.rb
190
+ - lib/astronoby/cache.rb
191
+ - lib/astronoby/configuration.rb
150
192
  - lib/astronoby/constants.rb
193
+ - lib/astronoby/constellation.rb
194
+ - lib/astronoby/constellations/data.rb
195
+ - lib/astronoby/constellations/finder.rb
196
+ - lib/astronoby/constellations/repository.rb
151
197
  - lib/astronoby/coordinates/ecliptic.rb
152
198
  - lib/astronoby/coordinates/equatorial.rb
153
199
  - lib/astronoby/coordinates/horizontal.rb
154
200
  - lib/astronoby/corrections/light_time_delay.rb
201
+ - lib/astronoby/data/constellations/constellation_names.dat
202
+ - lib/astronoby/data/constellations/indexed_abbreviations.dat
203
+ - lib/astronoby/data/constellations/radec_to_index.dat
204
+ - lib/astronoby/data/constellations/sorted_declinations.dat
205
+ - lib/astronoby/data/constellations/sorted_right_ascensions.dat
155
206
  - lib/astronoby/deflection.rb
156
207
  - lib/astronoby/distance.rb
157
208
  - lib/astronoby/ephem.rb
158
- - lib/astronoby/epoch.rb
159
209
  - lib/astronoby/equinox_solstice.rb
160
210
  - lib/astronoby/errors.rb
211
+ - lib/astronoby/events/extremum_calculator.rb
212
+ - lib/astronoby/events/extremum_event.rb
161
213
  - lib/astronoby/events/moon_phases.rb
162
214
  - lib/astronoby/events/rise_transit_set_calculator.rb
163
215
  - lib/astronoby/events/rise_transit_set_event.rb
164
216
  - lib/astronoby/events/rise_transit_set_events.rb
165
217
  - lib/astronoby/events/twilight_calculator.rb
166
218
  - lib/astronoby/events/twilight_event.rb
219
+ - lib/astronoby/events/twilight_events.rb
167
220
  - lib/astronoby/geocentric_parallax.rb
168
221
  - lib/astronoby/instant.rb
222
+ - lib/astronoby/julian_date.rb
169
223
  - lib/astronoby/mean_obliquity.rb
170
224
  - lib/astronoby/moon_phase.rb
171
225
  - lib/astronoby/nutation.rb
@@ -178,8 +232,14 @@ files:
178
232
  - lib/astronoby/reference_frames/mean_of_date.rb
179
233
  - lib/astronoby/reference_frames/topocentric.rb
180
234
  - lib/astronoby/refraction.rb
235
+ - lib/astronoby/stellar_propagation.rb
236
+ - lib/astronoby/time/greenwich_apparent_sidereal_time.rb
237
+ - lib/astronoby/time/greenwich_mean_sidereal_time.rb
181
238
  - lib/astronoby/time/greenwich_sidereal_time.rb
239
+ - lib/astronoby/time/local_apparent_sidereal_time.rb
240
+ - lib/astronoby/time/local_mean_sidereal_time.rb
182
241
  - lib/astronoby/time/local_sidereal_time.rb
242
+ - lib/astronoby/time/sidereal_time.rb
183
243
  - lib/astronoby/true_obliquity.rb
184
244
  - lib/astronoby/util/maths.rb
185
245
  - lib/astronoby/util/time.rb
@@ -208,7 +268,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
208
268
  - !ruby/object:Gem::Version
209
269
  version: '0'
210
270
  requirements: []
211
- rubygems_version: 3.6.7
271
+ rubygems_version: 3.7.1
212
272
  specification_version: 4
213
273
  summary: Astronomical calculations
214
274
  test_files: []
data/Gemfile DELETED
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source "https://rubygems.org"
4
-
5
- gemspec
data/Gemfile.lock DELETED
@@ -1,102 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- astronoby (0.7.0)
5
- ephem (~> 0.3)
6
- matrix (~> 0.4.2)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- ast (2.4.3)
12
- diff-lcs (1.5.1)
13
- docile (1.4.1)
14
- ephem (0.3.0)
15
- minitar (~> 0.12)
16
- numo-narray (~> 0.9.2.1)
17
- zlib (~> 3.2)
18
- json (2.10.2)
19
- language_server-protocol (3.17.0.4)
20
- lint_roller (1.1.0)
21
- matrix (0.4.2)
22
- minitar (0.12.1)
23
- numo-narray (0.9.2.1)
24
- parallel (1.26.3)
25
- parser (3.3.7.4)
26
- ast (~> 2.4.1)
27
- racc
28
- prism (1.4.0)
29
- racc (1.8.1)
30
- rainbow (3.1.1)
31
- rake (13.2.1)
32
- regexp_parser (2.10.0)
33
- rspec (3.13.0)
34
- rspec-core (~> 3.13.0)
35
- rspec-expectations (~> 3.13.0)
36
- rspec-mocks (~> 3.13.0)
37
- rspec-core (3.13.2)
38
- rspec-support (~> 3.13.0)
39
- rspec-expectations (3.13.3)
40
- diff-lcs (>= 1.2.0, < 2.0)
41
- rspec-support (~> 3.13.0)
42
- rspec-mocks (3.13.2)
43
- diff-lcs (>= 1.2.0, < 2.0)
44
- rspec-support (~> 3.13.0)
45
- rspec-support (3.13.2)
46
- rubocop (1.75.2)
47
- json (~> 2.3)
48
- language_server-protocol (~> 3.17.0.2)
49
- lint_roller (~> 1.1.0)
50
- parallel (~> 1.10)
51
- parser (>= 3.3.0.2)
52
- rainbow (>= 2.2.2, < 4.0)
53
- regexp_parser (>= 2.9.3, < 3.0)
54
- rubocop-ast (>= 1.44.0, < 2.0)
55
- ruby-progressbar (~> 1.7)
56
- unicode-display_width (>= 2.4.0, < 4.0)
57
- rubocop-ast (1.44.0)
58
- parser (>= 3.3.7.2)
59
- prism (~> 1.4)
60
- rubocop-performance (1.25.0)
61
- lint_roller (~> 1.1)
62
- rubocop (>= 1.75.0, < 2.0)
63
- rubocop-ast (>= 1.38.0, < 2.0)
64
- ruby-progressbar (1.13.0)
65
- rubyzip (2.4.1)
66
- simplecov (0.22.0)
67
- docile (~> 1.1)
68
- simplecov-html (~> 0.11)
69
- simplecov_json_formatter (~> 0.1)
70
- simplecov-html (0.13.1)
71
- simplecov_json_formatter (0.1.4)
72
- standard (1.49.0)
73
- language_server-protocol (~> 3.17.0.2)
74
- lint_roller (~> 1.0)
75
- rubocop (~> 1.75.2)
76
- standard-custom (~> 1.0.0)
77
- standard-performance (~> 1.8)
78
- standard-custom (1.0.2)
79
- lint_roller (~> 1.0)
80
- rubocop (~> 1.50)
81
- standard-performance (1.8.0)
82
- lint_roller (~> 1.1)
83
- rubocop-performance (~> 1.25.0)
84
- unicode-display_width (3.1.4)
85
- unicode-emoji (~> 4.0, >= 4.0.4)
86
- unicode-emoji (4.0.4)
87
- zlib (3.2.1)
88
-
89
- PLATFORMS
90
- ruby
91
- x86_64-linux
92
-
93
- DEPENDENCIES
94
- astronoby!
95
- rake (~> 13.0)
96
- rspec (~> 3.0)
97
- rubyzip (~> 2.3)
98
- simplecov (~> 0.22)
99
- standard (~> 1.3)
100
-
101
- BUNDLED WITH
102
- 2.5.7