Use new JWST kernel with launch data

* Add a new trail for the first 30 min of launch relative to EarthIAU
This commit is contained in:
Malin E
2022-05-05 09:31:38 +02:00
parent 8f80005f11
commit eda0d0b6a0
4 changed files with 127 additions and 40 deletions

View File

@@ -17,13 +17,16 @@ local band = asset.syncedResource({
Version = 1
})
local launchTime = "2021 DEC 25 12:20:00"
local endTime = "2024 JAN 22 00:00:00"
local JWSTBand = {
Identifier = "JWSTBand",
Parent = transforms.JWSTPosition.Identifier,
TimeFrame = {
Type = "TimeFrameInterval",
Start = "2021 DEC 25 12:50:00",
End = "2024 JAN 22"
Start = launchTime,
End = endTime
},
Transform = {
Rotation = {
@@ -59,8 +62,8 @@ local JWSTModel = {
Parent = transforms.JWSTRotation.Identifier,
TimeFrame = {
Type = "TimeFrameInterval",
Start = "2021 DEC 25 12:50:00",
End = "2024 JAN 22"
Start = launchTime,
End = endTime
},
Renderable = {
Type = "RenderableModel",
@@ -91,8 +94,8 @@ local JWSTFov = {
Parent = JWSTModel.Identifier,
TimeFrame = {
Type = "TimeFrameInterval",
Start = "2021 DEC 25 12:50:00",
End = "2024 JAN 22"
Start = launchTime,
End = endTime
},
Renderable = {
Type = "RenderablePrism",
@@ -124,8 +127,8 @@ local JWSTLabel = {
Parent = transforms.JWSTPosition.Identifier,
TimeFrame = {
Type = "TimeFrameInterval",
Start = "2021 DEC 25 12:50:00",
End = "2024 JAN 22"
Start = launchTime,
End = endTime
},
Renderable = {
Type = "RenderableLabels",

View File

@@ -14,35 +14,76 @@ local kernels = asset.syncedResource({
Name = "JWST Kernel",
Type = "HttpSynchronization",
Identifier = "jwst_kernels",
Version = 1
Version = 2
})
-- Trail of JWST relative the Earth for the first month after launch
-- Makes histroy of trail to stay at Earth, that a trail relative to L2 won't
local launchTime = "2021 DEC 25 12:20:00"
local detachTime = "2021 DEC 25 12:50:00"
local L2orbitInsertionTime = "2022 JAN 25 00:00:00"
local endTime = "2024 JAN 22 00:00:00"
-- Trail of JWST relative the Earth Inertial for the first 30 minutes after launch
-- Makes histroy of trail to stay at launch site, that a trail relative to Earth Center won't
local JWSTTrailLaunch = {
Identifier = "JWSTTrailLaunch",
Parent = earthTransforms.EarthCenter.Identifier,
Parent = earthTransforms.EarthIAU.Identifier,
TimeFrame = {
Type = "TimeFrameInterval",
Start = "2021 DEC 25 12:50:00",
End = "2022 JAN 25"
Start = launchTime,
End = detachTime
},
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "HorizonsTranslation",
HorizonsTextFile = horizons .. "horizons_jwst_launch.hrz",
},
Type = 'SpiceTranslation',
Target = '170', -- JWST
Observer = 'EARTH',
Frame = 'IAU_EARTH',
Kernels = { kernels .. "webb.bsp" }
},
Color = { 0.9, 0.9, 0.0 },
StartTime = "2021 DEC 25 12:50:00",
EndTime = "2022 JAN 25",
StartTime = launchTime,
EndTime = detachTime,
SampleInterval = 60 -- Sample rate of once per minute
},
GUI = {
Name = "JWST Launch Trail",
Path = "/Solar System/Missions/JWST/Trails",
Description = [[
James Webb Space Telescope Launch Trail relative to Earth.
James Webb Space Telescope Launch Trail relative to Earth IAU.
]],
}
}
-- Trail of JWST relative the Earth for the first month after detatching from the rocket
-- Makes histroy of trail to stay at Earth, that a trail relative to L2 won't
local JWSTTrailCruise = {
Identifier = "JWSTTrailCruise",
Parent = earthTransforms.EarthCenter.Identifier,
TimeFrame = {
Type = "TimeFrameInterval",
Start = detachTime,
End = L2orbitInsertionTime
},
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = 'SpiceTranslation',
Target = '170', -- JWST
Observer = 'EARTH',
Frame = 'GALACTIC',
Kernels = { kernels .. "webb.bsp" }
},
Color = { 0.9, 0.9, 0.0 },
StartTime = detachTime,
EndTime = L2orbitInsertionTime,
SampleInterval = 60 -- Sample rate of once per minute
},
GUI = {
Name = "JWST Cruise Trail",
Path = "/Solar System/Missions/JWST/Trails",
Description = [[
James Webb Space Telescope Cruise Trail relative to Earth.
]],
}
}
@@ -54,15 +95,18 @@ local JWSTTrailOrbit = {
Parent = transforms.L2.Identifier,
TimeFrame = {
Type = "TimeFrameInterval",
Start = "2022 JAN 25",
End = "2024 JAN 22"
Start = L2orbitInsertionTime,
End = endTime
},
Renderable = {
Type = "RenderableTrailOrbit",
Translation = {
Type = "HorizonsTranslation",
HorizonsTextFile = horizons .. "horizons_jwst_orbit.hrz",
},
Type = 'SpiceTranslation',
Target = '170', -- JWST
Observer = '392', -- L2
Frame = 'GALACTIC',
Kernels = { kernels .. "webb.bsp" }
},
Color = { 0.9, 0.9, 0.0 },
Period = 182.621099, -- About 6 months
Resolution = 183 -- About a sample rate of once per day
@@ -81,15 +125,18 @@ local JWSTSunTrail = {
Parent = sunTransforms.SolarSystemBarycenter.Identifier,
TimeFrame = {
Type = "TimeFrameInterval",
Start = "2022 JAN 25",
End = "2024 JAN 22"
Start = L2orbitInsertionTime,
End = endTime
},
Renderable = {
Type = "RenderableTrailOrbit",
Translation = {
Type = "HorizonsTranslation",
HorizonsTextFile = horizons .. "horizons_jwst_sun.hrz",
},
Type = 'SpiceTranslation',
Target = '170', -- JWST
Observer = 'SSB',
Frame = 'GALACTIC',
Kernels = { kernels .. "webb.bsp" }
},
Color = { 0.0, 0.9, 0.9 },
Period = 365.242,
Resolution = 365 -- About a sample rate of once per day
@@ -105,6 +152,7 @@ local JWSTSunTrail = {
asset.onInitialize(function()
openspace.addSceneGraphNode(JWSTTrailLaunch)
openspace.addSceneGraphNode(JWSTTrailCruise)
openspace.addSceneGraphNode(JWSTTrailOrbit)
openspace.addSceneGraphNode(JWSTSunTrail)
end)
@@ -112,10 +160,12 @@ end)
asset.onDeinitialize(function()
openspace.removeSceneGraphNode(JWSTSunTrail)
openspace.removeSceneGraphNode(JWSTTrailOrbit)
openspace.removeSceneGraphNode(JWSTTrailCruise)
openspace.removeSceneGraphNode(JWSTTrailLaunch)
end)
asset.export(JWSTTrailLaunch)
asset.export(JWSTTrailCruise)
asset.export(JWSTTrailOrbit)
asset.export(JWSTSunTrail)

View File

@@ -9,21 +9,45 @@ local horizons = asset.syncedResource({
Version = 3
})
local kernels = asset.syncedResource({
Name = "JWST Kernel",
Type = "HttpSynchronization",
Identifier = "jwst_kernels",
Version = 2
})
local launchTime = "2021 DEC 25 12:20:00"
local detachTime = "2021 DEC 25 12:50:00"
local L2orbitInsertionTime = "2022 JAN 25 00:00:00"
local JWSTPosition = {
Identifier = "JWSTPosition",
Parent = earthTransforms.EarthCenter.Identifier,
Parent = earthTransforms.EarthIAU.Identifier,
Transform = {
Translation = {
Type = "TimelineTranslation",
ShouldInterpolate = false,
Keyframes = {
["2021 DEC 25 12:50:00"] = {
Type = "HorizonsTranslation",
HorizonsTextFile = horizons .. "horizons_jwst_launch.hrz",
[launchTime] = {
Type = 'SpiceTranslation',
Target = '170', -- JWST
Observer = 'EARTH',
Frame = 'IAU_EARTH',
Kernels = { kernels .. "webb.bsp" }
},
["2022 JAN 25 00:00:00"] = {
Type = "HorizonsTranslation",
HorizonsTextFile = horizons .. "horizons_jwst_orbit.hrz",
[detachTime] = {
Type = 'SpiceTranslation',
Target = '170', -- JWST
Observer = 'EARTH',
Frame = 'GALACTIC',
Kernels = { kernels .. "webb.bsp" }
},
[L2orbitInsertionTime] = {
Type = 'SpiceTranslation',
Target = '170', -- JWST
Observer = '392', -- L2
Frame = 'GALACTIC',
Kernels = { kernels .. "webb.bsp" }
}
}
},
@@ -64,7 +88,14 @@ local JWSTRotation = {
-- Reparent the JWSTPosition node when the data changes at 25 Jan 2022
asset.onInitialize(function()
openspace.scriptScheduler.loadScheduledScript(
"2022 JAN 25 00:00:00",
detachTime,
[[openspace.setParent("JWSTPosition", "EarthCenter")]],
[[openspace.setParent("JWSTPosition", "EarthIAU")]],
"",
1 -- Not default group, never clear this script
)
openspace.scriptScheduler.loadScheduledScript(
L2orbitInsertionTime,
[[openspace.setParent("JWSTPosition", "L2")]],
[[openspace.setParent("JWSTPosition", "EarthCenter")]],
"",
@@ -72,16 +103,19 @@ asset.onInitialize(function()
)
openspace.addSceneGraphNode(JWSTPosition)
openspace.addSceneGraphNode(BufferRotation)
openspace.addSceneGraphNode(JWSTRotation)
end)
asset.onDeinitialize(function()
openspace.removeSceneGraphNode(JWSTRotation)
openspace.removeSceneGraphNode(BufferRotation)
openspace.removeSceneGraphNode(JWSTPosition)
openspace.scriptScheduler.clear(1)
end)
asset.export(JWSTPosition)
asset.export(BufferRotation)
asset.export(JWSTRotation)

View File

@@ -46,7 +46,7 @@
"identifier": "profile.set.jwst_launch",
"is_local": false,
"name": "Set to JWST launch time",
"script": "openspace.time.setDeltaTime(1); openspace.time.setTime('2021-12-25T12:50:00');"
"script": "openspace.time.setDeltaTime(1); openspace.time.setTime('2021-12-25T12:20:01');"
},
{
"documentation": "Toggle JWST trail relative to the Sun",
@@ -319,7 +319,7 @@
],
"time": {
"type": "absolute",
"value": "2021-12-25T12:50:00"
"value": "2021-12-25T12:20:01"
},
"version": {
"major": 1,