astro/sun/physical.go

34 lines
991 B
Go
Raw Normal View History

package sun
import (
"time"
"b612.me/astro/basic"
)
// PhysicalInfo 太阳物理观测参数 / physical observing parameters of the Sun.
type PhysicalInfo struct {
// P 太阳北极位置角,单位度 / position angle of the solar north pole in degrees.
P float64
// B0 日面中心太阳纬度,单位度 / heliographic latitude of the disk center in degrees.
B0 float64
// L0 日面中心卡林顿经度,单位度 / Carrington heliographic longitude of the disk center in degrees.
L0 float64
}
// Physical 太阳物理观测参数 / physical observing parameters of the Sun.
func Physical(date time.Time) PhysicalInfo {
return PhysicalN(date, -1)
}
// PhysicalN 太阳物理观测参数(截断版) / truncated physical observing parameters of the Sun.
func PhysicalN(date time.Time, n int) PhysicalInfo {
jde := basic.Date2JDE(date.UTC())
info := basic.SunPhysicalN(basic.TD2UT(jde, true), n)
return PhysicalInfo{
P: info.P,
B0: info.B0,
L0: info.L0,
}
}