maddg._sim_launcher.launcher

maddg._sim_launcher.launcher(simulator_method: Callable, mtype: str, num_sim_pairs: int, sensor_yaml: str | Path, outdir: str | Path, dv_ric_mean_kms: Tuple[float, float, float] = (0.0, 0.0, 0.0), dv_ric_std_kms: Tuple[float, float, float] = (0.0, 0.1, 1.0), cont_thrust_duration_days: float | None = None, cont_thrust_mag: float = 1e-07, cont_thrust_model: int = 0, submitit: str = '', multirun_root: str = '', rm_multirun_root: bool = False, start_mjd: float | None = None, sim_duration_days: float = 3.0, random_seed: int | None = None, pred_err: float = 0.0, sensor_dra: float | None = None, sensor_ddec: float | None = None, sims_per_task: int = 1) None[source]

Hydra job launcher wrapper.

Parameters:
  • simulator_method (Callable) – Task function

  • mtype (str) – Maneuver type: “impulse” = ImpulseManeuver, “continuous” = ContinuousManeuver,

  • num_sim_pairs (int) – Number of simulations to perform per maneuver type.

  • sensor_yaml (str | Path) – Path to YAML file defining the sensor network for the simulation

  • outdir (str | Path) – Path to output directory where the concatenated results will be saved in a .csv file (complete.csv)

  • dv_ric_mean_kms (Tuple[float, float, float], optional) – Mean values of normal distributions to use when sampling the radial, in-track, and cross-track delta-V values, respectively, of impulsive maneuvers. In units of km/s, by default [0.0, 0.0, 0.0]

  • dv_ric_std_kms (Tuple[float, float, float], optional) – Standard deviations of normal distributions to use when sampling the radial, in-track, and cross-track delta-V values, respectively, of impulsive maneuvers. In units of km/s, by default [0.0, 0.1, 1.0]

  • cont_thrust_duration_days (float | None, optional) – Duration in days of the continuous maneuver that begins at simulation start, by default None (if None, maneuver duration is equal to simulation duration)

  • cont_thrust_mag (float, optional) – Magnitude of the continuous thrust (km/s/s), by default 1e-7

  • cont_thrust_model (int, optional) – Which continuous thrust model to use: 0 = applies a continuous thrust in the [0,1,0] direction, 1 = applies a continuous thrust in a random direction, by default 0

  • submitit (string, optional) – If specified, the path to a config JSON file defining how to launch jobs across multiple GPUs using submitit, by default None (serial launch only)

  • multirun_root (string, optional) – If specified, the path to a directory where multirun output will be stored, by default None (./multirun will be used)

  • rm_multirun_root (bool, optional) – Whether or not to delete the hydra multirun directory after finishing the simulation, by default False

  • start_mjd (float, optional) – MJD at which the simulation should begin, by default None (current MJD)

  • sim_duration_days (float, optional) – Duration of the simulation (days), by default 3.0

  • random_seed (int, optional) – Random seed to use for numpy, by default None

  • pred_err (float) – Fractional error on predicted initial orbital state

  • sensor_dra (float, optional) – Sensor metric accuracy in the right ascension direction (arcsec). If not set, value is None, and dra value in sensor_yaml file will be used, by default: None

  • sensor_ddec (float, optional) – Sensor metric accuracy in the declination direction (arcsec). If not set, value is None, and dra value in sensor_yaml file will be used, by default: None

  • sims_per_task (int, optional) – Number of simulations to perform per task function, by default 1

Raises:

NotImplementedError – If an mtype was requested that is not yet implemented.