【问题标题】:libnova odd behavior for 89.5 degrees north latitude北纬 89.5 度的 libnova 奇怪行为
【发布时间】:2013-11-20 15:36:00
【问题描述】:

我写了这个程序:

#!/usr/bin/perl 

use Astro::Nova qw(get_solar_equ_coords get_lunar_equ_coords get_hrz_from_equ 
                   get_solar_rst_horizon get_timet_from_julian 
                   get_julian_from_timet get_lunar_rst get_lunar_phase); 

$observer = Astro::Nova::LnLatPosn->new("lng"=>0,"lat"=>89.5); 

for $i (2456623..2456624) { 
  print "DAY: $i\n"; 
  ($status,$rst) = get_lunar_rst($i, $observer); 
  print "STATUS: $status\n"; 

  $rst->get_transit(); 

  $rise = $rst->get_rise(); 
  print "RISE: $rise\n"; 
  $set = $rst->get_set(); 
  print "SET: $set\n\n"; 
} 

得到了这些结果:

DAY: 2456623 
STATUS: 1 
RISE: 5.5664193588601e-309 
SET: 1.55254159695923e-267 

DAY: 2456624 
STATUS: -1 
RISE: 1.9634470382202e-153 
SET: 2.26294632209635e+137 

换句话说,月亮从极地(总是向上)到下面 地平线从未真正升起或落下。

我知道 89.5 度是一种极端情况,但为什么 这段代码不应该工作吗?

如注释http://aa.usno.navy.mil/data/docs/RS_OneYear.php 所示 是这个区间的月落(JD 2456623 = 2013-11-26 12:00:00):

另一个奇怪的地方:如果我注释掉“$rst->get_transit();”线,我 得到这些结果:

DAY: 2456623 
STATUS: 1 
RISE: 5.5664193588601e-309 
SET: 1.14372958360957e-268 

DAY: 2456624 
STATUS: -1 
RISE: 6.80740365931403e+199 
SET: 4.81766816905579e+151 

上升/设置仍然很奇怪(这很好,因为状态是-1),但是 它们不一样。我一直认为 get_lunar_rst() 返回一个固定的 结构,但显然不是?检查过境的行为 时间改变结构?

编辑:好的,我运行了两次程序,根本没有改变它并得到:

DAY: 2456623
STATUS: 1
RISE: 5.5664193588601e-309
SET: 2.99352717623831e-264

DAY: 2456624
STATUS: -1
RISE: 1.9634470382202e-153
SET: 2.26294632209635e+137

DAY: 2456623
STATUS: 1
RISE: 5.5664193588601e-309
SET: 3.04770606791278e-262

DAY: 2456624
STATUS: -1
RISE: 1.9634470382202e-153
SET: 2.26294632209635e+137

换言之,2456623 集无故改变。

【问题讨论】:

    标签: perl astronomy


    【解决方案1】:

    我已联系 libnova 的作者,他们已确认这是一个错误并正在努力纠正它。

    libnova 错误地假设天体在正北时位于地平线之上。这是不真实的:https://astronomy.stackexchange.com/q/963

    我已经编写了一个修复程序,它没有假设这一点,但如果身体的偏角是非单峰的,则可能仍然不准确:https://astronomy.stackexchange.com/questions/962/is-lunar-elevation-at-a-given-location-for-a-given-day-unimodal

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-23
      • 2011-12-13
      • 1970-01-01
      • 1970-01-01
      • 2022-11-30
      • 1970-01-01
      • 2013-11-14
      • 1970-01-01
      相关资源
      最近更新 更多