Commit 157f1d5c authored by Fan Dongwei's avatar Fan Dongwei
Browse files

Merge branch 'fandongwei' into 'master'

# Conflicts:
#   survey_sim_test.py
parents 027c625d 93294c71
Loading
Loading
Loading
Loading
(132 KiB)

File changed.

No diff preview for this file type.

+9 −7
Original line number Diff line number Diff line
@@ -19,11 +19,13 @@ description:
return {*}: stTime:开始时间 endTime:结束时间  jdtime
            pointting:指向Ra,dec, 
            searchInterval: 搜素时间间隔, unit:s
            orbitDat: 轨道参数
            constraint: 约束条件
"""


def aquireTargeObsTime(
    stTime=2459766.0, endTime=2459767.0, pointting=[40, -60], searchInterval=60
def aquireTargetObsTime(
    stTime=2459766.0, endTime=2459767.0, pointting=[40, -60], searchInterval=60, orbitDat=None,constraint=None
):
    ra = pointting[0]
    dec = pointting[1]
@@ -32,8 +34,8 @@ def aquireTargeObsTime(
        math.cos(dec * math.pi / 180.0) * math.sin(ra * math.pi / 180),
        math.sin(dec * math.pi / 180.0),
    ]
    orbitDat = loadSatOrbitDat()
    sCons = surveyConstraint()
    # orbitDat = loadSatOrbitDat()
    # constraint = surveyConstraint()
    deltTime = 1 / 86400.0  # 1s
    deltTime = searchInterval * deltTime

@@ -49,7 +51,7 @@ def aquireTargeObsTime(
        satPos, satVel, _ = locateSat(time=rdTime, OrbitData=orbitDat)

        sunCons = obscure_constraint.isObscureBySun(
            sun=sunPos, p=pointing_car, constr=sCons
            sun=sunPos, p=pointing_car, constr=constraint
        )
        if sunCons > 1:
            if seg_st > 0:
@@ -59,7 +61,7 @@ def aquireTargeObsTime(
                sed_end = -1
            continue
        moonCons = obscure_constraint.IsObscureByMoon(
            moon=mPos, p=pointing_car, constr=sCons
            moon=mPos, p=pointing_car, constr=constraint
        )
        if moonCons > 1:
            if seg_st > 0:
@@ -69,7 +71,7 @@ def aquireTargeObsTime(
                sed_end = -1
            continue
        earthCons = obscure_constraint.IsObscureByEarth(
            sat=satPos, sun=sunPos, p=pointing_car, constr=sCons
            sat=satPos, sun=sunPos, p=pointing_car, constr=constraint
        )
        if earthCons[0] == 1:
            if seg_st > 0:
+42 −27
Original line number Diff line number Diff line
@@ -7,12 +7,28 @@ FilePath: /CSST_Survey/survey_sim_test.py
Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
"""

from survey_sim.ephemeris import locate_sun, locate_moon
import importlib_resources as pkg_resources
import numpy as np


from survey_sim.ephemeris import locate_sun, locate_moon
from survey_sim.constraints import beta_time_constraint
from survey_sim.ephemeris._utils import importEphemerisLib
from survey_sim.satOrbit import locateSat, loadSatOrbitDat

from survey_sim.constraints import (
    beta_time_constraint,
    obscure_constraint,
    surveyConstraint,
    saa_constraint,
    _utils,
)

ephLib = importEphemerisLib()
sCons = surveyConstraint()

rdTime = 2459989.5208
orbitDat = loadSatOrbitDat(datDir=pkg_resources.files("survey_sim.satOrbit.data").joinpath("orbit20160925/"))

def testLoadSatSunMoon():
    rdTime = 2459989.5208
@@ -20,18 +36,11 @@ def testLoadSatSunMoon():
    mPos = locate_moon(rdTime)
    print("sun position:", sunPos)
    print("moon position:", mPos)
    orbitDat = loadSatOrbitDat()
    # orbitDat = loadSatOrbitDat()
    satPos, satVel, _ = locateSat(time=rdTime, OrbitData=orbitDat)
    print("sat position:", satPos)


from survey_sim.constraints import (
    obscure_constraint,
    surveyConstraint,
    saa_constraint,
    _utils,
)

testLoadSatSunMoon()

def testConstraints():
    point = np.array([0, 0, 1])
@@ -39,18 +48,24 @@ def testConstraints():
    rdTime = 2459989.5208
    sunPos = locate_sun(rdTime)
    mPos = locate_moon(rdTime)
    orbitDat = loadSatOrbitDat()
    # orbitDat = loadSatOrbitDat()
    satPos, satVel, _ = locateSat(time=rdTime, OrbitData=orbitDat)

    sunCons = obscure_constraint.isObscureBySun(sun=sunPos, p=point, constr=sCons)
    print('sunCons:', sunCons)
    moonCons = obscure_constraint.IsObscureByMoon(moon=mPos, p=point, constr=sCons)
    print('moonCons:', moonCons)
    earthCons = obscure_constraint.IsObscureByEarth(
        sat=satPos, sun=sunPos, p=point, constr=sCons
    )
    print('earthCons:', earthCons)

    sat_subPoint = _utils.getSatSubpoint(satPos=satPos, t=rdTime)
    print('sat_subPoint:', sat_subPoint)
    saaCons = saa_constraint.IsInSAA(uderStarPoint=sat_subPoint)
    print('saaCons:', saaCons)

testConstraints()

def testTimsSequence():
    from survey_sim.surveyTools import aquireTargetObsTime
@@ -58,10 +73,13 @@ def testTimsSequence():
    rdTime = 2459989.5208
    rdTime_e = 2459990.5208

    obsTimeSegList = aquireTargetObsTime.aquireTargeObsTime(
        stTime=rdTime, endTime=rdTime_e, pointting=[40, -60], searchInterval=60
    obsTimeSegList = aquireTargetObsTime.aquireTargetObsTime(
        stTime=rdTime, endTime=rdTime_e, pointting=[40, -60], searchInterval=60, 
        orbitDat=orbitDat,constraint=sCons
    )
    print('obsTimeSegList:', obsTimeSegList)

testTimsSequence()

def testBetaAngle():
    from survey_sim.constraints import beta_time_constraint
@@ -69,7 +87,7 @@ def testBetaAngle():

    ephLib = importEphemerisLib()
    sCons = surveyConstraint()
    orbitDat = loadSatOrbitDat()
    # orbitDat = loadSatOrbitDat()
    betaTime_segs = beta_time_constraint.get_beta_time(
        startTime=2459766.0,
        endTime=2463416.0,
@@ -77,26 +95,23 @@ def testBetaAngle():
        ephLib=ephLib,
        surveyCosntraint=sCons,
    )
    print('betaTime_segs:', betaTime_segs)
# testBetaAngle()


from survey_sim.constraints import beta_time_constraint
from survey_sim.ephemeris._utils import importEphemerisLib

ephLib = importEphemerisLib()
sCons = surveyConstraint()
orbitDat = loadSatOrbitDat()

betaCons = beta_time_constraint.beta_time_constraint(
    startTime=orbitDat[0, 0],
    endTime=orbitDat[0, 0] + 365.25 * 10,
    # startTime=2460997.21001157 - 0.001,
    # endTime=2460998.98501157 + 0.001,
    # startTime=orbitDat[0, 0],
    # endTime=orbitDat[0, 0] + 365.25 * 10,
    startTime=rdTime - 0.001,
    endTime=rdTime + 0.001,
    orbitData=orbitDat,
    ephLib=ephLib,
    surveyCosntraint=sCons,
)
betaCons.get_beta_time()
betaCons.get_survey_time_segment_MSC()
beta_time=betaCons.get_beta_time()
print('beta_time:', beta_time)
survey_time_seg=betaCons.get_survey_time_segment_MSC()
print('survey_time_seg:', survey_time_seg)

# betaTime_segs = beta_time_constraint.get_beta_time(
#     startTime=orbitDat[0, 0],