2. Searching opportunities#

In this tutorial, you learn about seaching MAJIS observations opportunities.

What is our baseline mission scenario?#

A mission scenario refers to a CReMA spacecraft trajectory and pointing baseline, and is associated a SPICE meta-kernel file listing of all necessary geometry models data in the ESA’s JUICE SPICE Kernels Dataset. It is also associated to mission events derived from the trajectory baseline (flybys closest approach, mission phases, segments, periapses, downlinks, etc…).

Mission scenarios are defined in gfinder-data/scenarios.

We saw by running the config command that the default mission scenario is CREMA30.

!gfinder scenarios
Available mission scenarios:
['CREMA30', 'CREMA31', 'CREMA32', 'CREMA40B', 'CREMA42', 'CREMA50']

What is our mission event/segment of interest?#

For example, the next JUICE SOC planning exercice will relate to the Europa 7E1 and 8E2 flybys based on CReMA 5.0 trajectory.

!gfinder events --mission-scenario-id=CREMA50
Mission events (phases/segments) for mission scenario <CREMA50>:
['TOUR', '1G1_CA', '2G2_CA', '3G3_CA', '4G4_CA', '5G5_CA', '6C1_CA', '7E1_CA', '8E2_CA', '9C2_CA', '10C3_CA', '11C4_CA', '12C5_CA', '13C6_CA', '14C7_CA', '15C8_CA', '16C9_CA', '17C10_CA', '18C11_CA', '19C12_CA', '20C13_CA', '21C14_CA', '22C15_CA', '23C16_CA', '24C17_CA', '25C18_CA', '26G6_CA', '27G7_CA', '28C19_CA', '29C20_CA', '30G8_CA', '31C21_CA', '32G9_CA', '33G10_CA', '34G11_CA']
!gfinder event 7E1_CA --mission-scenario-id=CREMA50
 ID               : 7E1_CA
 start_time (utc) : 2032-07-02 16:22:24.000
 stop_time (utc)  : 2032-07-02 16:22:24.000
 duration         : 0.0
 description      : Europa Flyby 7E1 Closest Approach
!gfinder event 8E2_CA --mission-scenario-id=CREMA50
 ID               : 8E2_CA
 start_time (utc) : 2032-07-16 22:17:57.000
 stop_time (utc)  : 2032-07-16 22:17:57.000
 duration         : 0.0
 description      : Europa Flyby 8E2 Closest Approach

For the rest of the demo, we will use 7E1_CA event as our reference for timing inputs and calculation results.

What are the types of MAJIS observations we want to plan?#

Geometrical conditions and geometry for a given MAJIS observation type are defined in ODFs in the gfinder-data/odf directory. Note that a fully tested and stable collection of ODF files and Geometry classes, shared among all GFINDER users, are still under development. Also note that a new utility command will be implemented to facilate the search, inspection and validation of available ODF files. Here are the ODF files related to Europa that are currently at our disposable:

  • europa_flyby.json

  • europa_disk_slew.json

  • europa_disk_scan.json

  • europa_limb_slew.json

  • europa_limb_scan.json

  • europa_flyby_hr.json

Search for different MAJIS observations types#

Search for any MAJIS Europa flyby observations opportunity window#

For now, let’s use europa_flyby.json ODF file, which defines the geometric conditions for performing any types of MAJIS observation during a Europa flyby. The only defined condition is that the angular size of Europa as seen from JUICE, Target_Angular_Size, be higher than the MAJIS cross-track FOV (3.4 degrees), minus a margin of 0.1 degree). It also defines additional general pointing-independant geometries, such as Distance_To_Target, Dwell_Time or SubSC_Point, that can be visualised.

{
  "name": "Target_Angular_Size",
  "parameters": {
    "target": "@target"
  },
  "condition": {
    "relationalCondition": ">",
    "referenceValue": 3.3,
    "adjustmentValue": 0
  }
}

Using europa_flyby.json, we search/frame opportunity time window for any MAJIS observations of Europa during 7E1 flyby.

!gfinder search europa_flyby.json --event-id=7E1_CA --start-time=-12:00:00 --stop-time=12:00:00 --mission-scenario-id=CREMA50 --overwrite
Searching for MAJIS Europa flyby observations opportunities...
Number of steps = 100
Search time step = 872.727

POINTING SIMULATOR

SC pointing simulator: OFF
MAJIS scanner pointing simulator: OFF

OPPORTUNITY DEFINITION

  MAJIS Europa flyby observations
    Target_Angular_Size > 3.3

INPUT TIMES

    Start Time (UTC) : 2032-07-02 04:22:23.999 (-12:00:00.000)
    Stop Time (UTC)  : 2032-07-03 04:22:24.000 (+12:00:00.000)

  Search Time Step : 872.727
  Reference Time (UTC) : 2032-07-02 16:22:24.000 (7E1_CA)

SEARCH RESULT

  Number of opportunity windows : 1

  Start Time (UTC) : 2032-07-02 12:14:34.310 (-04:07:49.689)
  Stop Time (UTC)  : 2032-07-02 20:29:10.615 (+04:06:46.615)
  Duration         : 08:15:06.010

Opportunity ID : crema50_eur_europa_flyby_20320702_20320703
All results in /Users/nmanaud/workspace/majis/data/opportunities/CREMA50/crema50_eur_europa_flyby_20320702_20320703 directory.

Search for MAJIS Europa Disk Slew observations opportunity windows#

We use the europa_disk_slew.json ODF file, which currently defines specific conditions for performing Europa’s disk observations, by scanning over it S/C slew motion. It also defines the required spacecraft pointing via the Simulated_SC_Frame geometry, and other pointing-dependant geometries such as Detector_FOV and Detector_FOV_Footprint.

{
  "name": "Target_Angular_Size",
  "parameters": {
    "target": "@target"
  },
  "condition": {
    "relationalCondition": ">",
    "referenceValue": 8.0,
    "adjustmentValue": 0
  }
},
{
  "name": "Equatorial_Coverage",
  "parameters": {
    "target": "@target"
  },
  "condition": {
    "relationalCondition": ">",
    "referenceValue": 30.0,
    "adjustmentValue": 0
  }
},
{
  "name": "SC_In_Equatorial_Plane",
  "parameters": {
    "target": "@target",
    "margin": 10.0
  },
  "condition": {
    "relationalCondition": "is",
    "referenceValue": true,
    "adjustmentValue": null
  }
!gfinder search europa_disk_slew.json --event-id=7E1_CA --start-time=-12:00:00 --stop-time=12:00:00 --mission-scenario-id=CREMA50 --overwrite
Searching for Europa Disk Slew observations opportunities...
Number of steps = 100
Search time step = 872.727

POINTING SIMULATOR

SC pointing simulator: OFF
MAJIS scanner pointing simulator: OFF

OPPORTUNITY DEFINITION

  Europa Disk Slew observations
    Target_Angular_Size > 8.0
    Equatorial_Coverage > 30.0
    SC_In_Equatorial_Plane is True

INPUT TIMES

    Start Time (UTC) : 2032-07-02 04:22:23.999 (-12:00:00.000)
    Stop Time (UTC)  : 2032-07-03 04:22:24.000 (+12:00:00.000)

  Search Time Step : 872.727
  Reference Time (UTC) : 2032-07-02 16:22:24.000 (7E1_CA)

SEARCH RESULT

  Number of opportunity windows : 2

  Start Time (UTC) : 2032-07-02 14:42:42.998 (-01:39:41.001)
  Stop Time (UTC)  : 2032-07-02 15:44:59.653 (-00:37:24.346)
  Duration         : 01:02:20.395

  Start Time (UTC) : 2032-07-02 16:42:11.453 (+00:19:47.453)
  Stop Time (UTC)  : 2032-07-02 18:01:58.579 (+01:39:34.579)
  Duration         : 01:19:51.917

Opportunity ID : crema50_eur_europa_disk_slew_20320702_20320703
All results in /Users/nmanaud/workspace/majis/data/opportunities/CREMA50/crema50_eur_europa_disk_slew_20320702_20320703 directory.

Search for MAJIS Europa Limb Scan observations opportunity windows#

We use the europa_limb_scan.json ODF file, which currently defines specific conditions for performing Europa’s limb observations….

Conditions not clearly defined yet:

  • distance to limb points

  • limb points latitudes

  • limb points illumination

  • phase angle

!gfinder search europa_limb_scan.json --event-id=7E1_CA --start-time=-12:00:00 --stop-time=12:00:00 --mission-scenario-id=CREMA50 --overwrite
Searching for Testing MAJIS limb scan observation simulations. opportunities...
Number of steps = 100
Search time step = 872.727

POINTING SIMULATOR

SC pointing simulator: OFF
MAJIS scanner pointing simulator: OFF

OPPORTUNITY DEFINITION

  Testing MAJIS limb scan observation simulations.
    Phase_Angle > 135
    Phase_Angle < 145

INPUT TIMES

    Start Time (UTC) : 2032-07-02 04:22:23.999 (-12:00:00.000)
    Stop Time (UTC)  : 2032-07-03 04:22:24.000 (+12:00:00.000)

  Search Time Step : 872.727
  Reference Time (UTC) : 2032-07-02 16:22:24.000 (7E1_CA)

SEARCH RESULT

  Number of opportunity windows : 1

  Start Time (UTC) : 2032-07-02 16:53:08.648 (+00:30:44.648)
  Stop Time (UTC)  : 2032-07-03 04:21:42.603 (+11:59:18.603)
  Duration         : 11:29:15.310

Opportunity ID : crema50_eur_europa_limb_scan_20320702_20320703
All results in /Users/nmanaud/workspace/majis/data/opportunities/CREMA50/crema50_eur_europa_limb_scan_20320702_20320703 directory.

Search for MAJIS Europa HR observations opportunity windows#

We use the europa_flyby_hr.json ODF file, which currently defines specific conditions for performing Europa’s HR observations and associated geometries (including SC and MAJIS scanner pointing), currently: Spatial_Resolution < 1.0 and Phase_Angle < 70.

!gfinder search europa_flyby_hr.json --event-id=7E1_CA --start-time=-12:00:00 --stop-time=12:00:00 --mission-scenario-id=CREMA50 --overwrite
Searching for Europa flyby HR observations opportunities...
Number of steps = 100
Search time step = 872.727

POINTING SIMULATOR

SC pointing simulator: OFF
MAJIS scanner pointing simulator: OFF

OPPORTUNITY DEFINITION

  Europa flyby HR observations
    Spatial_Resolution < 1.0
    Phase_Angle < 70

INPUT TIMES

    Start Time (UTC) : 2032-07-02 04:22:23.999 (-12:00:00.000)
    Stop Time (UTC)  : 2032-07-03 04:22:24.000 (+12:00:00.000)

  Search Time Step : 872.727
  Reference Time (UTC) : 2032-07-02 16:22:24.000 (7E1_CA)

SEARCH RESULT

  Number of opportunity windows : 1

  Start Time (UTC) : 2032-07-02 15:47:19.821 (-00:35:04.178)
  Stop Time (UTC)  : 2032-07-02 16:22:33.236 (+00:00:09.236)
  Duration         : 00:35:15.529

Opportunity ID : crema50_eur_europa_flyby_hr_20320702_20320703
All results in /Users/nmanaud/workspace/majis/data/opportunities/CREMA50/crema50_eur_europa_flyby_hr_20320702_20320703 directory.

Cascading search

Alternatively you can (and should) use an opportunity_id as input time window input. This allows to cascade concecutive search results, ensuring that higher-level geometrical conditions are meet.

In this case, by using crema50_eur_europa_flyby_20320702_20320703 opportunity window as input search window for an HR observations, we ensure that the resulting HR observations opportunity window meet the Europa flyby observations conditions defined in the europa_flyby.json ODF file (associated to the input opportunity_id).

# !gfinder search europa_flyby_hr.json --opportunity-id=crema50_eur_europa_flyby_20320702_20320703 --mission-scenario-id=CREMA50 --overwrite