Scenarios
Defines object schemas for scenarios.
Scenario
- pydantic model spacenet.schemas.Scenario[source]
A scenario describing a space mission campaign.
Show JSON schema
{ "title": "Scenario", "description": "A scenario describing a space mission campaign.", "type": "object", "properties": { "name": { "title": "Name", "description": "Scenario name", "type": "string" }, "createdBy": { "title": "CreatedBy", "description": "Scenario author", "type": "string" }, "description": { "title": "Description", "description": "Short description", "type": "string" }, "startDate": { "title": "Start Date", "description": "Time of scenario start", "type": "string", "format": "date-time" }, "scenarioType": { "title": "Type of Scenario", "description": "Scenario type", "allOf": [ { "$ref": "#/definitions/ScenarioType" } ] }, "network": { "title": "Network", "description": "Valid locations (nodes and edges)", "default": { "nodes": [], "edges": [] }, "allOf": [ { "$ref": "#/definitions/Network" } ] }, "missionList": { "title": "Mission List", "description": "List of missions", "default": [], "type": "array", "items": { "$ref": "#/definitions/Mission" } }, "elementTemplates": { "title": "Element List", "description": "List of element templates", "default": [], "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/Element" }, { "$ref": "#/definitions/ResourceContainer" }, { "$ref": "#/definitions/ElementCarrier" }, { "$ref": "#/definitions/SurfaceVehicle" }, { "$ref": "#/definitions/PropulsiveVehicle" }, { "$ref": "#/definitions/HumanAgent" }, { "$ref": "#/definitions/RoboticAgent" } ] } }, "instantiatedElements": { "title": "Instantiated Elements", "description": "List of instantiated elements", "default": [], "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/InstElement" }, { "$ref": "#/definitions/InstResourceContainer" }, { "$ref": "#/definitions/InstElementCarrier" }, { "$ref": "#/definitions/InstPropulsiveVehicle" }, { "$ref": "#/definitions/InstSurfaceVehicle" }, { "$ref": "#/definitions/InstHumanAgent" }, { "$ref": "#/definitions/InstRoboticAgent" } ] } }, "demandModels": { "title": "Demand Models", "description": "List of demand model templates", "default": [], "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/TimedImpulseDemandModel" }, { "$ref": "#/definitions/RatedDemandModel" }, { "$ref": "#/definitions/CrewConsumablesDemandModel" }, { "$ref": "#/definitions/SparingByMassDemandModel" } ] } }, "resourceList": { "title": "Resource List", "description": "List of resources", "default": [], "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/ContinuousResource" }, { "$ref": "#/definitions/DiscreteResource" } ] } }, "manifest": { "title": "Manifest", "default": {}, "allOf": [ { "$ref": "#/definitions/Manifest" } ] }, "configuration": { "title": "Configuration", "default": { "time_precision": 0.05, "demand_precision": 0.01, "mass_precision": 0.01, "volume_precision": 1e-06, "volume_constrained": false, "item_discretization": "None", "item_aggregation": 0.0, "environment_constrained": false, "scavenge_spares": false, "detailed_eva": true, "detailed_exploration": true, "generic_packing_factor_gas": 1.0, "generic_packing_factor_liquid": 0.5, "generic_packing_factor_pressurized": 0.2, "generic_packing_factor_unpressurized": 0.6, "small_gas_tank_mass": 10.8, "small_gas_tank_volume": 0.275, "small_gas_tank_max_mass": 10.0, "small_gas_t_tank_max_volume": 0.275, "large_gas_tank_mass": 108.0, "large_gas_tank_volume": 2.75, "large_gas_tank_max_mass": 100.0, "large_gas_tank_max_volume": 2.75, "small_liquid_t_tank_mass": 11.4567, "small_liquid_tank_volume": 0.0249, "small_liquid_tank_max_mass": 24.9333, "small_liquid_tank_max_volume": 0.0249, "large_liquid_tank_mass": 34.37, "large_liquid_tank_volume": 0.0748, "large_liquid_tank_max_mass": 74.8, "large_liquid_tank_max_volume": 0.0748, "cargo_transfer_bag_mass": 0.83, "cargo_transfer_bag_volume": 0.053, "cargo_transfer_bag_max_mass": 26.8, "cargo_transfer_bag_max_volume": 0.049 }, "allOf": [ { "$ref": "#/definitions/Configuration" } ] } }, "required": [ "name", "createdBy", "startDate", "scenarioType" ], "definitions": { "ScenarioType": { "title": "ScenarioType", "description": "An enumeration of the different kinds of scenario.", "enum": [ "Earth Only", "Lunar", "Moon Only", "Martian", "Mars Only", "Solar System" ], "type": "string" }, "InstElementUUID": { "title": "InstElementUUID", "description": "Instantiated element referenced by unique identifier.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" } } }, "Body": { "title": "Body", "description": "An enumeration of planetary bodies.", "enum": [ "Sun", "Earth", "Moon", "Mars" ], "type": "string" }, "LagrangeNode": { "title": "LagrangeNode", "description": "Stable location at a Lagrange point between two bodies.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Location name", "type": "string" }, "description": { "title": "Description", "description": "Short description of this location.", "type": "string" }, "contents": { "title": "Contents", "description": "List of elements (by unique identifiers) located at this location.", "default": [], "type": "array", "items": { "$ref": "#/definitions/InstElementUUID" } }, "type": { "title": "Type", "description": "Node type", "default": "Lagrange Node", "enum": [ "Lagrange Node" ], "type": "string" }, "body1": { "title": "Body 1", "description": "Primary planetary body", "default": "Earth", "allOf": [ { "$ref": "#/definitions/Body" } ] }, "body2": { "title": "Body 2", "description": "Secondary Lagrange point body", "allOf": [ { "$ref": "#/definitions/Body" } ] }, "lpNumber": { "title": "LP Number", "description": "Lagrange point number (1 to 5)", "minimum": 1, "maximum": 5, "type": "integer" } }, "required": [ "name", "body2", "lpNumber" ] }, "OrbitalNode": { "title": "OrbitalNode", "description": "Stable location orbiting a planetary body.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Location name", "type": "string" }, "description": { "title": "Description", "description": "Short description of this location.", "type": "string" }, "contents": { "title": "Contents", "description": "List of elements (by unique identifiers) located at this location.", "default": [], "type": "array", "items": { "$ref": "#/definitions/InstElementUUID" } }, "type": { "title": "Type", "description": "Node type", "default": "Orbital Node", "enum": [ "Orbital Node" ], "type": "string" }, "body1": { "title": "Body 1", "description": "Primary planetary body", "default": "Earth", "allOf": [ { "$ref": "#/definitions/Body" } ] }, "apoapsis": { "title": "Apoapsis", "description": "Major orbit radius (m)", "minimum": 0, "type": "number" }, "periapsis": { "title": "Periapsis", "description": "Minor orbit radius (m)", "minimum": 0, "type": "number" }, "inclination": { "title": "Inclination", "description": "Orbit inclination (decimal degrees, 0 to 180 inclusive)", "minimum": 0, "maximum": 180, "type": "number" } }, "required": [ "name", "apoapsis", "periapsis", "inclination" ] }, "SurfaceNode": { "title": "SurfaceNode", "description": "Stable location on the surface of a planetary body.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Location name", "type": "string" }, "description": { "title": "Description", "description": "Short description of this location.", "type": "string" }, "contents": { "title": "Contents", "description": "List of elements (by unique identifiers) located at this location.", "default": [], "type": "array", "items": { "$ref": "#/definitions/InstElementUUID" } }, "type": { "title": "Type", "description": "Node type", "default": "Surface Node", "enum": [ "Surface Node" ], "type": "string" }, "body1": { "title": "Body 1", "description": "Primary planetary body", "default": "Earth", "allOf": [ { "$ref": "#/definitions/Body" } ] }, "latitude": { "title": "Latitude", "description": "Latitude (decimal degrees, -90 to 90 inclusive)", "minimum": -90, "maximum": 90, "type": "number" }, "longitude": { "title": "Longitude", "description": "Longitude (decimal degrees, -180 to 180 inclusive)", "minimum": -180, "maximum": 180, "type": "number" } }, "required": [ "name", "latitude", "longitude" ] }, "FlightEdge": { "title": "FlightEdge", "description": "A trajectory between two nodes that is known to be feasible for a given\ncargo (mass) and crew capacity under a specified flight architecture.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Location name", "type": "string" }, "description": { "title": "Description", "description": "Short description of this location.", "type": "string" }, "contents": { "title": "Contents", "description": "List of elements (by unique identifiers) located at this location.", "default": [], "type": "array", "items": { "$ref": "#/definitions/InstElementUUID" } }, "type": { "title": "Type", "description": "Edge type", "default": "Flight Edge", "enum": [ "Flight Edge" ], "type": "string" }, "origin": { "title": "Origin Node", "description": "Origin node unique identifier", "type": "string", "format": "uuid" }, "destination": { "title": "Destination Node", "description": "Destination node unique identifier", "type": "string", "format": "uuid" }, "duration": { "title": "duration", "description": "Duration of traversal between nodes", "type": "number", "format": "time-delta" }, "maxCrew": { "title": "Max Crew", "description": "Maximum number of crew to be transported", "minimum": 0, "type": "integer" }, "maxCargo": { "title": "Max Cargo", "description": "Maximum cargo (kg) to be transported", "minimum": 0, "type": "number" } }, "required": [ "name", "origin", "destination", "duration", "maxCrew", "maxCargo" ] }, "Burn": { "title": "Burn", "description": "Impulsive propulsive burn triggered at a designated time during a space\ntransport to generate a target change in velocity (delta-V).", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "time": { "title": "Time", "description": "Time relative to the start of the space transport", "type": "number", "format": "time-delta" }, "deltaV": { "title": "Deltav", "description": "Change in velocity (m/s) to be achieved", "minimum": 0, "type": "number" } }, "required": [ "time", "deltaV" ] }, "SpaceEdge": { "title": "SpaceEdge", "description": "An in-space trajectory between two nodes using a propulsive burn sequence.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Location name", "type": "string" }, "description": { "title": "Description", "description": "Short description of this location.", "type": "string" }, "contents": { "title": "Contents", "description": "List of elements (by unique identifiers) located at this location.", "default": [], "type": "array", "items": { "$ref": "#/definitions/InstElementUUID" } }, "type": { "title": "Type", "description": "Edge type", "default": "Space Edge", "enum": [ "Space Edge" ], "type": "string" }, "origin": { "title": "Origin Node", "description": "Origin node unique identifier", "type": "string", "format": "uuid" }, "destination": { "title": "Destination Node", "description": "Destination node unique identifier", "type": "string", "format": "uuid" }, "duration": { "title": "Duration", "description": "Duration of space edge", "type": "number", "format": "time-delta" }, "burns": { "title": "Burns", "description": "List of propulsive burns required to traverse the edge", "default": [], "type": "array", "items": { "$ref": "#/definitions/Burn" } } }, "required": [ "name", "origin", "destination", "duration" ] }, "SurfaceEdge": { "title": "SurfaceEdge", "description": "Surface trajectory between two surface nodes.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Location name", "type": "string" }, "description": { "title": "Description", "description": "Short description of this location.", "type": "string" }, "contents": { "title": "Contents", "description": "List of elements (by unique identifiers) located at this location.", "default": [], "type": "array", "items": { "$ref": "#/definitions/InstElementUUID" } }, "type": { "title": "Type", "description": "Edge type", "default": "Surface Edge", "enum": [ "Surface Edge" ], "type": "string" }, "origin": { "title": "Origin Node", "description": "Origin node unique identifier", "type": "string", "format": "uuid" }, "destination": { "title": "Destination Node", "description": "Destination node unique identifier", "type": "string", "format": "uuid" }, "distance": { "title": "Distance", "description": "Distance (m) of surface trajectory", "minimum": 0, "type": "number" } }, "required": [ "name", "origin", "destination", "distance" ] }, "Network": { "title": "Network", "description": "Composition of nodes and edges.", "type": "object", "properties": { "nodes": { "title": "Nodes", "description": "Constituent nodes", "default": [], "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/LagrangeNode" }, { "$ref": "#/definitions/OrbitalNode" }, { "$ref": "#/definitions/SurfaceNode" } ] } }, "edges": { "title": "Edges", "description": "Constituent edges", "default": [], "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/FlightEdge" }, { "$ref": "#/definitions/SpaceEdge" }, { "$ref": "#/definitions/SurfaceEdge" } ] } } } }, "CreateElements": { "title": "CreateElements", "description": "Event that creates instantiated elements inside a node, edge, or\ninstantiated element carrier.", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Create Elements", "enum": [ "Create Elements" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "elements": { "title": "Elements", "description": "List of instantiated elements (by unique identifier) to be created", "type": "array", "items": { "type": "string", "format": "uuid" } }, "container": { "title": "Container", "description": "Node, edge, or instantiated carrier where the elements are to be created", "type": "string", "format": "uuid" } }, "required": [ "name", "priority", "missionTime", "location", "elements", "container" ] }, "MoveElements": { "title": "MoveElements", "description": "Event that moves instantiated elements to a new node, edge, or instantiated\ncarrier.\n\n:param [UUID] elements: list of instantiated elements (by unique identifier) to be moved\n:param UUID container: unique identifier of the node, edge, or instantiated carrier where the elements are to be moved", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Move Elements", "enum": [ "Move Elements" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "elements": { "title": "Elements", "description": "List of instantiated elements (by unique identifier) to be moved", "type": "array", "items": { "type": "string", "format": "uuid" } }, "container": { "title": "Container", "description": "Unique identifier of the node, edge, or instantiated carrier where the elements are to be moved", "type": "string", "format": "uuid" } }, "required": [ "name", "priority", "missionTime", "location", "elements", "container" ] }, "RemoveElements": { "title": "RemoveElements", "description": "Event that removes instantiated elements.\n\n:param [UUID] elements: list of instantiated elements (by unique identifier) to be removed", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Remove Elements", "enum": [ "Remove Elements" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "elements": { "title": "Elements", "description": "List of instantiated elements (by unique identifier) to be removed", "type": "array", "items": { "type": "string", "format": "uuid" } } }, "required": [ "name", "priority", "missionTime", "location", "elements" ] }, "ReconfigureElement": { "title": "ReconfigureElement", "description": "Event that changes the operational state of one instantiated element.\n\n:param UUID element: unique identifier of the instantiated element to be reconfigured\n:param SafeInt state_index: index of the new operational state", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Reconfigure Element", "enum": [ "Reconfigure Element" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "element": { "title": "Element", "description": "Unique identifier of the instantiated element to be reconfigured", "type": "string", "format": "uuid" }, "stateIndex": { "title": "State Index", "description": "Index of the new operational state", "minimum": -1, "type": "integer" } }, "required": [ "name", "priority", "missionTime", "location", "element", "stateIndex" ] }, "StateType": { "title": "StateType", "description": "Enumeration of state types.", "enum": [ "Active", "Quiescent", "Dormant", "Decommissioned" ], "type": "string" }, "ReconfigureElements": { "title": "ReconfigureElements", "description": "Event that changes the operational state of multiple instantiated elements.\n\n:param [UUID] elements: list of instantiated elements (by unique identifier) to be reconfigured\n:param StateType state_type: state type to which to be reconfigured", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Reconfigure Elements", "enum": [ "Reconfigure Elements" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "elements": { "title": "Elements", "description": "List of instantiated elements (by unique identifier) to be reconfigured", "type": "array", "items": { "type": "string", "format": "uuid" } }, "stateType": { "description": "State type to which to be reconfigured", "allOf": [ { "$ref": "#/definitions/StateType" } ] } }, "required": [ "name", "priority", "missionTime", "location", "elements", "stateType" ] }, "ResourceAmount": { "title": "ResourceAmount", "description": "A specified amount of a resource.", "type": "object", "properties": { "resource": { "title": "Resource UUID", "description": "Resource unique identifier", "type": "string", "format": "uuid" }, "amount": { "title": "Amount", "description": "Fixed amount of resource (units)", "type": "number" } }, "required": [ "resource", "amount" ] }, "ClassOfSupply": { "title": "ClassOfSupply", "description": "Enumeration of the ten top-level classes of supply and sub-classes of supply.", "enum": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 101, 102, 103, 104, 105, 106, 201, 202, 203, 204, 205, 206, 301, 302, 303, 304, 305, 306, 401, 402, 403, 404, 405, 501, 502, 601, 602, 603, 701, 702, 703, 801, 802, 803, 804, 805, 806, 901, 902, 4011, 4012, 8041, 8042, 9021, 9022, 9023, 9024 ], "type": "integer" }, "Environment": { "title": "Environment", "description": "Enumeration of stowage environments.", "enum": [ "Pressurized", "Unpressurized" ], "type": "string" }, "GenericResourceAmount": { "title": "GenericResourceAmount", "description": "A specified amount of a generic resource.", "type": "object", "properties": { "classOfSupply": { "title": "Class of Suppoly", "description": "Class of supply", "allOf": [ { "$ref": "#/definitions/ClassOfSupply" } ] }, "environment": { "title": "Environment", "description": "Required stowage environment", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "amount": { "title": "Amount", "description": "Fixed amount of resource (kg)", "type": "number" } }, "required": [ "classOfSupply", "environment", "amount" ] }, "AddResources": { "title": "AddResources", "description": "Event that adds resources to an instantiated container element.", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Add Resources", "enum": [ "Add Resources" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "resources": { "title": "Produced Resources", "description": "List of resource amounts to produce", "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/ResourceAmount" }, { "$ref": "#/definitions/GenericResourceAmount" } ] } }, "container": { "title": "Container", "description": "Unique identifier of the container element", "type": "string", "format": "uuid" } }, "required": [ "name", "priority", "missionTime", "location", "resources", "container" ] }, "ConsumeResources": { "title": "ConsumeResources", "description": "Event that consumes resources.", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Consume Resources", "enum": [ "Consume Resources" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "resources": { "title": "Consumed Resources", "description": "List of resource amounts to consume", "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/ResourceAmount" }, { "$ref": "#/definitions/GenericResourceAmount" } ] } }, "source": { "title": "Source", "description": "Unique identifier of the resource-consuming element", "type": "string", "format": "uuid" } }, "required": [ "name", "priority", "missionTime", "location", "resources", "source" ] }, "TransferResources": { "title": "TransferResources", "description": "Event that transfers resources between resource container elements.", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Transfer Resources", "enum": [ "Transfer Resources" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "resources": { "title": "Transferred Resources", "description": "list of resource amounts to transfer", "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/ResourceAmount" }, { "$ref": "#/definitions/GenericResourceAmount" } ] } }, "originContainer": { "title": "Origin Container", "description": "Unique identifier of the resource-transferring origin container", "type": "string", "format": "uuid" }, "destinationContainer": { "title": "Destination Container", "description": "Unique identifier of the resource-transferring destination container", "type": "string", "format": "uuid" } }, "required": [ "name", "priority", "missionTime", "location", "resources", "originContainer", "destinationContainer" ] }, "BurnStage": { "title": "BurnStage", "description": "Enumeration of actions during a burn/stage sequence.", "enum": [ "Burn", "Stage" ] }, "BurnStageItem": { "title": "BurnStageItem", "description": "Object schema for element-specific actions during a burn/stage sequence.\n\n:param UUID element: unique identifier of the instantiated element performing the action\n:param BurnStage: action to be performed", "type": "object", "properties": { "element": { "title": "Element", "description": "Unique identifier of the instantiated element performing the action", "type": "string", "format": "uuid" }, "type": { "title": "Burn/Stage", "description": "Action to be performed", "allOf": [ { "$ref": "#/definitions/BurnStage" } ] } }, "required": [ "element", "type" ] }, "PropulsiveBurn": { "title": "PropulsiveBurn", "description": "Event that represents an impulsive propulsive maneuver composed of burn\n(fire engine) and stage (discard component) actions.\n\n:param [UUID] elements: list of instantiated elements (by unique identifier) to participate\n:param UUID burn: unique identifier of the burn to achieve\n:param [BurnStageItem] burn_stage_sequence: list of the actions to be sequenced", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Propulsive Burn", "enum": [ "Propulsive Burn" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "elements": { "title": "Elements List", "description": "List of instantiated elements (by unique identifier) to participate.", "type": "array", "items": { "type": "string", "format": "uuid" } }, "burn": { "title": "Burn", "description": "Unique identifier of the burn to achieve", "type": "string", "format": "uuid" }, "burnStageSequence": { "title": "Burn/Stage Sequence", "description": "List of the burns and stages to be performed in the event.", "type": "array", "items": { "$ref": "#/definitions/BurnStageItem" } } }, "required": [ "name", "priority", "missionTime", "location", "elements", "burn", "burnStageSequence" ] }, "ElementState": { "title": "ElementState", "description": "Specification of an element state.", "type": "object", "properties": { "element": { "title": "element", "description": "Unique identifier of element", "type": "string", "format": "uuid" }, "stateIndex": { "title": "State Index", "description": "Index of the referenced state (-1 if none)", "minimum": -1, "type": "integer" } }, "required": [ "element", "stateIndex" ] }, "CrewedEVA": { "title": "CrewedEVA", "description": "Event for a crewed extravehicular activity.", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Crewed EVA", "enum": [ "Crewed EVA" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "evaDuration": { "title": "EVA Duration", "description": "Duration of the extra-vehicular activity", "type": "number", "format": "time-delta" }, "vehicle": { "title": "Crew Vehicle", "description": "Unique identifier of the crew habitat from which crew will egress and ingress", "type": "string", "format": "uuid" }, "elementStates": { "title": "Elementstates", "description": "List of reconfiguration states for each participating element", "type": "array", "items": { "$ref": "#/definitions/ElementState" } }, "additionalDemands": { "title": "Additional Demands", "description": "List of additional resource amounts to be consumed", "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/ResourceAmount" }, { "$ref": "#/definitions/GenericResourceAmount" } ] } } }, "required": [ "name", "priority", "missionTime", "location", "evaDuration", "vehicle", "elementStates", "additionalDemands" ] }, "CrewedExploration": { "title": "CrewedExploration", "description": "Event for a crewed exploration period that consists of regularly-scheduled\nextra-vehicular activities.", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Crewed Exploration", "enum": [ "Crewed Exploration" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "evaDuration": { "title": "EVA Duration", "description": "Duration of the extra-vehicular activity", "type": "number", "format": "time-delta" }, "duration": { "title": "Duration", "description": "Duration of the exploration", "type": "number", "format": "time-delta" }, "vehicle": { "title": "Crew Vehicle", "description": "Unique identifier of the crew habitat from which crew will egress and ingress", "type": "string", "format": "uuid" }, "evaPerWeek": { "title": "EVAs per week", "description": "Number of extra-vehiclular activitys to be performed per week", "minimum": 0, "type": "integer" }, "elementStates": { "title": "Elementstates", "description": "List of reconfiguration states for each participating element", "type": "array", "items": { "$ref": "#/definitions/ElementState" } }, "additionalDemands": { "title": "Additional Demands", "description": "List of additional resource amounts to be consumed", "default": [], "type": "array", "items": { "type": "string", "format": "uuid" } } }, "required": [ "name", "priority", "missionTime", "location", "evaDuration", "duration", "vehicle", "evaPerWeek", "elementStates" ] }, "SurfaceTransport": { "title": "SurfaceTransport", "description": "Event that transports instantiated elements along a surface edge.", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Surface Transport", "enum": [ "Surface Transport" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "edge": { "title": "Edge", "description": "Edge (by unique identifier) along which this transport traverses", "type": "string", "format": "uuid" }, "vehicle": { "title": "Surface Vehicle", "description": "Surface vehicle (by unique identifier) to transport", "type": "string", "format": "uuid" }, "transportState": { "title": "Transport State Index", "description": "Index of the transport state", "minimum": -1, "type": "integer" }, "speed": { "title": "Transport Speed", "description": "Transport speed (m/s)", "exclusiveMinimum": 0, "type": "number" }, "dutyCycle": { "title": "Duty Cycle", "description": "Fraction of the time the vehicle is moving at the transport speed", "default": 1, "exclusiveMinimum": 0, "maximum": 1, "type": "number" } }, "required": [ "name", "priority", "missionTime", "location", "edge", "vehicle", "speed" ] }, "FlightTransport": { "title": "FlightTransport", "description": "Event that transports instantiated elements along a flight edge.", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Flight Transport", "enum": [ "Flight Transport" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "edge": { "title": "Edge", "description": "Edge (by unique identifier) along which this transport traverses", "type": "string", "format": "uuid" }, "elements": { "title": "List of Elements", "description": "List of instantiated elements (by unique identifier) to transport", "type": "array", "items": { "type": "string", "format": "uuid" } } }, "required": [ "name", "priority", "missionTime", "location", "edge", "elements" ] }, "BurnStageSequence": { "title": "BurnStageSequence", "description": "A sequence of burn/stage events.", "type": "object", "properties": { "burn": { "title": "Burn", "description": "UUID of burn", "type": "string", "format": "uuid" }, "actions": { "title": "Actions", "description": "List of the burns and stages to be performed in the event", "type": "array", "items": { "$ref": "#/definitions/BurnStageItem" } } }, "required": [ "burn", "actions" ] }, "SpaceTransport": { "title": "SpaceTransport", "description": "Event that transports instantiated elements along a space edge.", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Space Transport", "enum": [ "Space Transport" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "edge": { "title": "Edge", "description": "Edge (by unique identifier) along which this transport traverses", "type": "string", "format": "uuid" }, "elements": { "title": "List of Elements", "description": "List of instantiated elements (by unique identifier) to transport", "type": "array", "items": { "type": "string", "format": "uuid" } }, "burnStageSequence": { "title": "Burn Sequence", "description": "List of burn-stage sequences to perform", "type": "array", "items": { "$ref": "#/definitions/BurnStageSequence" } } }, "required": [ "name", "priority", "missionTime", "location", "edge", "elements", "burnStageSequence" ] }, "InstTimedImpulseDemandModel": { "title": "InstTimedImpulseDemandModel", "description": "Instantiated demand model that generates an impulsive demand for resources.", "type": "object", "properties": { "name": { "title": "Name", "description": "Instantiated demand model name", "type": "string" }, "type": { "title": "Type", "description": "Demand model type", "default": "Timed Impulse", "enum": [ "Timed Impulse" ], "type": "string" }, "templateId": { "title": "Templateid", "description": "Element demand model template unique identifier", "type": "string", "format": "uuid" }, "demands": { "title": "Demands", "description": "List of resource amounts to be demanded", "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/ResourceAmount" }, { "$ref": "#/definitions/GenericResourceAmount" } ] } } }, "required": [ "name", "templateId" ] }, "ResourceAmountRate": { "title": "ResourceAmountRate", "description": "A specified amount of a resource type.", "type": "object", "properties": { "resource": { "title": "Resource UUID", "description": "Resource unique identifier", "type": "string", "format": "uuid" }, "rate": { "title": "Rate", "description": "Time-rate of resource (units/day)", "type": "number" } }, "required": [ "resource", "rate" ] }, "GenericResourceAmountRate": { "title": "GenericResourceAmountRate", "description": "A specified amount of a generic resource.", "type": "object", "properties": { "classOfSupply": { "title": "Class of Suppoly", "description": "Class of supply", "allOf": [ { "$ref": "#/definitions/ClassOfSupply" } ] }, "environment": { "title": "Environment", "description": "Required stowage environment", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "rate": { "title": "Rate", "description": "Time-rate of resource (kg/day)", "type": "number" } }, "required": [ "classOfSupply", "environment", "rate" ] }, "InstRatedDemandModel": { "title": "InstRatedDemandModel", "description": "Instantiated demand model that generates a constant time rate demand for resources.", "type": "object", "properties": { "name": { "title": "Name", "description": "Instantiated demand model name", "type": "string" }, "type": { "title": "Type", "description": "Demand model type", "default": "Rated", "enum": [ "Rated" ], "type": "string" }, "templateId": { "title": "Templateid", "description": "Element demand model template unique identifier", "type": "string", "format": "uuid" }, "demands": { "title": "Demands", "description": "List of resource amount rates to be demanded", "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/ResourceAmountRate" }, { "$ref": "#/definitions/GenericResourceAmountRate" } ] } } }, "required": [ "name", "templateId" ] }, "InstCrewConsumablesDemandModel": { "title": "InstCrewConsumablesDemandModel", "description": "Instantiated mission demand model that generates demands for crew consumables.", "type": "object", "properties": { "name": { "title": "Name", "description": "Instantiated demand model name", "type": "string" }, "type": { "title": "Type", "description": "Demand model type", "default": "Crew Consumables", "enum": [ "Crew Consumables" ], "type": "string" }, "templateId": { "title": "Templateid", "description": "Mission demand model template unique identifier", "type": "string", "format": "uuid" }, "reservesDuration": { "title": "Reserves Duration", "description": "Duration (days) of reserve resources", "minimum": 0, "type": "number" }, "waterRecoveryRate": { "title": "Water Recovery Rate", "description": "Rate (between 0 and 1) of water recovery", "minimum": 0, "maximum": 1, "type": "number" }, "clothingLifetime": { "title": "Clothing Lifetime", "description": "Duration (days) of clothing lifetime", "minimum": 0, "type": "number" }, "transitDemandsOmitted": { "title": "Transit Demand Omitted", "description": "True, if transit demands shall be omitted", "type": "boolean" }, "waterRate": { "title": "Water Rate", "description": "Rate (kg/person/day) of water (generic COS 201) demands", "type": "number" }, "evaWaterRate": { "title": "EVA Water Rate", "description": "Rate (kg/person/hour) of water (generic COS 201) demands during extra-vehicular activity", "type": "number" }, "foodSupportRate": { "title": "Food Support Rate", "description": "Rate (kg/person/day) of food support equipment (generic COS 202) demands", "type": "number" }, "ambientFoodRate": { "title": "Ambient Food Rate", "description": "Rate (kg/person/day) of ambient food (generic COS 202) demands", "type": "number" }, "rfFoodRate": { "title": "Rf Food Rate", "description": "Rate (kg/person/day) of RF food (generic COS 202) demands", "type": "number" }, "oxygenRate": { "title": "Oxygen Rate", "description": "Rate (kg/person/day) of oxygen (generic COS 203) demands", "type": "number" }, "evaOxygenRate": { "title": "EVA Oxygen Rate", "description": "Rate (kg/person/hour) of oxygen (generic COS 203) demands during extra-vehicular activity", "type": "number" }, "nitrogenRate": { "title": "Nitrogen Rate", "description": "Rate (kg/person/day) of nitrogen (generic COS 203) demands", "type": "number" }, "hygieneRate": { "title": "Hygiene Rate", "description": "Rate (kg/person/day) of hygeine (generic COS 204) demands", "type": "number" }, "hygieneKit": { "title": "Hygiene Kit", "description": "Amount (kg/person) of hygeine kit (generic COS 204) demands", "type": "number" }, "clothingRate": { "title": "Clothing Rate", "description": "Rate (kg/person/day) of clothing (generic COS 205) demands", "type": "number" }, "personalItems": { "title": "Personal Items", "description": "Amount (kg/person) of personal item (generic COS 206) demands", "type": "number" }, "officeEquipment": { "title": "Office Equipment", "description": "Amount (kg/person) of office equipment (generic COS 301) demands", "type": "number" }, "evaSuit": { "title": "EVA Suit", "description": "Amount (kg/person) of extra-vehicular activity suit (generic COS 302) demands", "type": "number" }, "evaLithiumHydroxide": { "title": "EVA Lithium Hydroxide", "description": "Rate (kg/person/hour) of lithium hydroxide (generic COS 302) demands", "type": "number" }, "healthEquipment": { "title": "Health Equipment", "description": "Amount (kg) of health equipment (generic COS 303) demands", "type": "number" }, "healthConsumables": { "title": "Health Consumables", "description": "Amount (kg/person) of health consumables (generic COS 303) demands", "type": "number" }, "safetyEquipment": { "title": "Safety Equipment", "description": "Amount (kg) of safety equipment (generic COS 304) demands", "type": "number" }, "commEquipment": { "title": "Comm Equipment", "description": "Amount (kg) of communication equipment (generic COS 305) demands", "type": "number" }, "computerEquipment": { "title": "Computer Equipment", "description": "Amount (kg/person) of computer equipment (generic COS 306) demands", "type": "number" }, "trashBagRate": { "title": "Trash Bag Rate", "description": "Rate (kg/person/day) of trash bag (generic COS 701) demands", "type": "number" }, "wasteContainmentRate": { "title": "Waste Containment Rate", "description": "Rate (kg/person/day) of waste containment (generic COS 702) demands", "type": "number" } }, "required": [ "name", "templateId" ] }, "Mission": { "title": "Mission", "description": "A mission composes a sequence of events.\n\n:param str name: mission name\n:param datetime start_date: time of mission start\n:param [AllEvents] events: list of events composing a mission\n:param [UUID] demand_models: list of mission demand models (by unique identifier)\n:param UUID origin: origin node unique identifier\n:param UUID destination: destination node unique identifier\n:param UUID return_origin: return origin node unique identifier (not necessary for one-way missions)\n:param UUID return_destination: return destination node unique identifier (not necessary for one-way missions)", "type": "object", "properties": { "name": { "title": "Name", "description": "Mission name", "type": "string" }, "startDate": { "title": "Start Date", "description": "Time of mission start", "type": "string", "format": "date-time" }, "events": { "title": "Event ID List", "description": "List of events composing a mission", "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/CreateElements" }, { "$ref": "#/definitions/MoveElements" }, { "$ref": "#/definitions/RemoveElements" }, { "$ref": "#/definitions/ReconfigureElement" }, { "$ref": "#/definitions/ReconfigureElements" }, { "$ref": "#/definitions/AddResources" }, { "$ref": "#/definitions/ConsumeResources" }, { "$ref": "#/definitions/TransferResources" }, { "$ref": "#/definitions/PropulsiveBurn" }, { "$ref": "#/definitions/CrewedEVA" }, { "$ref": "#/definitions/CrewedExploration" }, { "$ref": "#/definitions/SurfaceTransport" }, { "$ref": "#/definitions/FlightTransport" }, { "$ref": "#/definitions/SpaceTransport" } ] } }, "demandModels": { "title": "Demand Models List", "description": "List of mission demand models (by unique identifier)", "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/InstTimedImpulseDemandModel" }, { "$ref": "#/definitions/InstRatedDemandModel" }, { "$ref": "#/definitions/InstCrewConsumablesDemandModel" } ] } }, "origin": { "title": "Origin UUID", "description": "Origin node unique identifier", "type": "string", "format": "uuid" }, "destination": { "title": "Destination UUID", "description": "Destination node unique identifier", "type": "string", "format": "uuid" }, "returnOrigin": { "title": "Return Origin UUID", "description": "Return origin node unique identifier (not necessary for one-way missions)", "type": "string", "format": "uuid" }, "returnDestination": { "title": "Return Destination ID", "description": "Return destination node unique identifier (not necessary for one-way missions)", "type": "string", "format": "uuid" } }, "required": [ "name", "startDate", "events", "demandModels", "origin", "destination" ] }, "DemandModelType": { "title": "DemandModelType", "description": "Enumeration of demand model types.", "enum": [ "Crew Consumables", "Timed Impulse", "Rated", "Sparing By Mass" ], "type": "string" }, "InstElementDemandModel": { "title": "InstElementDemandModel", "description": "Base class for instantiated element demand models.", "type": "object", "properties": { "name": { "title": "Name", "description": "Instantiated demand model name", "type": "string" }, "type": { "description": "Demand model type", "allOf": [ { "$ref": "#/definitions/DemandModelType" } ] }, "templateId": { "title": "Templateid", "description": "Element demand model template unique identifier", "type": "string", "format": "uuid" } }, "required": [ "name", "type", "templateId" ] }, "State": { "title": "State", "description": "An element's operational state.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "State name", "type": "string" }, "description": { "title": "Description", "description": "Short description (optional)", "type": "string" }, "type": { "description": "State type", "allOf": [ { "$ref": "#/definitions/StateType" } ] }, "demandModels": { "title": "Demand Models", "description": "List of instantiated demand models", "default": [], "type": "array", "items": { "$ref": "#/definitions/InstElementDemandModel" } } }, "required": [ "name", "type" ] }, "Part": { "title": "Part", "description": "Piece part of an element with attributes to describe failure and/or maintenance.", "type": "object", "properties": { "resource": { "title": "Resource", "description": "Unique identifier of resource", "type": "string", "format": "uuid" }, "meanTimeToFailure": { "title": "Meantimetofailure", "description": "Mean operating time to failure.", "type": "number", "format": "time-delta" }, "meanTimeToRepair": { "title": "Meantimetorepair", "description": "Mean crew time to repair.", "type": "number", "format": "time-delta" }, "massToRepair": { "title": "Masstorepair", "description": "Mass (kg, generic COS 4) required to perform a repair.", "minimum": 0, "type": "number" }, "quantity": { "title": "Quantity", "description": "Quantity of this part.", "default": 1, "minimum": 1, "type": "number" }, "dutyCycle": { "title": "Dutycycle", "description": "Fraction of time this part is in use.", "default": 1, "minimum": 0, "maximum": 1, "type": "number" } }, "required": [ "resource" ] }, "Element": { "title": "Element", "description": "Generic entity that persists over time.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Element name", "type": "string" }, "type": { "title": "Type", "description": "Element type", "default": "Element", "enum": [ "Element" ], "type": "string" }, "description": { "title": "Description", "description": "Short description (optional)", "type": "string" }, "classOfSupply": { "title": "Class of Supply", "description": "Class of supply", "default": 0, "allOf": [ { "$ref": "#/definitions/ClassOfSupply" } ] }, "environment": { "title": "Environment", "description": "Required stowage environment", "default": "Unpressurized", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "accommodationMass": { "title": "Accommodation Mass", "description": "Amount of COS 5 (kg) required for stowage.", "default": 0, "minimum": 0, "type": "number" }, "mass": { "title": "Mass", "description": "Mass (kg)", "default": 0, "minimum": 0, "type": "number" }, "volume": { "title": "Volume", "description": "Volume (m^3)", "default": 0, "minimum": 0, "type": "number" }, "states": { "title": "States", "description": "List of operational states", "default": [], "type": "array", "items": { "$ref": "#/definitions/State" } }, "currentStateIndex": { "title": "Current State", "description": "Index of the current operational state", "minimum": -1, "type": "integer" }, "parts": { "title": "Parts", "description": "List of constituent parts", "default": [], "type": "array", "items": { "$ref": "#/definitions/Part" } }, "icon": { "title": "Icon", "type": "string" } }, "required": [ "name" ] }, "ResourceContainer": { "title": "ResourceContainer", "description": "Container for resources.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Element name", "type": "string" }, "type": { "title": "Type", "description": "Element type", "default": "Resource Container", "enum": [ "Resource Container" ], "type": "string" }, "description": { "title": "Description", "description": "Short description (optional)", "type": "string" }, "classOfSupply": { "title": "Class of Supply", "description": "Class of supply", "default": 0, "allOf": [ { "$ref": "#/definitions/ClassOfSupply" } ] }, "environment": { "title": "Environment", "description": "Required stowage environment", "default": "Unpressurized", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "accommodationMass": { "title": "Accommodation Mass", "description": "Amount of COS 5 (kg) required for stowage.", "default": 0, "minimum": 0, "type": "number" }, "mass": { "title": "Mass", "description": "Mass (kg)", "default": 0, "minimum": 0, "type": "number" }, "volume": { "title": "Volume", "description": "Volume (m^3)", "default": 0, "minimum": 0, "type": "number" }, "states": { "title": "States", "description": "List of operational states", "default": [], "type": "array", "items": { "$ref": "#/definitions/State" } }, "currentStateIndex": { "title": "Current State", "description": "Index of the current operational state", "minimum": -1, "type": "integer" }, "parts": { "title": "Parts", "description": "List of constituent parts", "default": [], "type": "array", "items": { "$ref": "#/definitions/Part" } }, "icon": { "title": "Icon", "type": "string" }, "maxCargoMass": { "title": "Max Cargo Mass", "description": "Cargo mass capacity constraint (kg)", "default": 0, "minimum": 0, "type": "number" }, "maxCargoVolume": { "title": "Maximum Cargo Volume", "description": "Cargo volume capacity constraint (m^3)", "default": 0, "minimum": 0, "type": "number" }, "cargoEnvironment": { "title": "Cargo Environment", "description": "Cargo stowage environment", "default": "Unpressurized", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "contents": { "title": "Resource Amount", "description": "List of contained resource amounts", "default": [], "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/ResourceAmount" }, { "$ref": "#/definitions/GenericResourceAmount" } ] } } }, "required": [ "name" ] }, "ElementCarrier": { "title": "ElementCarrier", "description": "Carrier of other elements.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Element name", "type": "string" }, "type": { "title": "Type", "description": "Element type", "default": "Element Carrier", "enum": [ "Element Carrier" ], "type": "string" }, "description": { "title": "Description", "description": "Short description (optional)", "type": "string" }, "classOfSupply": { "title": "Class of Supply", "description": "Class of supply", "default": 0, "allOf": [ { "$ref": "#/definitions/ClassOfSupply" } ] }, "environment": { "title": "Environment", "description": "Required stowage environment", "default": "Unpressurized", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "accommodationMass": { "title": "Accommodation Mass", "description": "Amount of COS 5 (kg) required for stowage.", "default": 0, "minimum": 0, "type": "number" }, "mass": { "title": "Mass", "description": "Mass (kg)", "default": 0, "minimum": 0, "type": "number" }, "volume": { "title": "Volume", "description": "Volume (m^3)", "default": 0, "minimum": 0, "type": "number" }, "states": { "title": "States", "description": "List of operational states", "default": [], "type": "array", "items": { "$ref": "#/definitions/State" } }, "currentStateIndex": { "title": "Current State", "description": "Index of the current operational state", "minimum": -1, "type": "integer" }, "parts": { "title": "Parts", "description": "List of constituent parts", "default": [], "type": "array", "items": { "$ref": "#/definitions/Part" } }, "icon": { "title": "Icon", "type": "string" }, "maxCargoMass": { "title": "Max Cargo Mass", "description": "Cargo mass capacity constraint (kg)", "default": 0, "minimum": 0, "type": "number" }, "maxCargoVolume": { "title": "Maximum Cargo Volume", "description": "Cargo volume capacity constraint (m^3)", "default": 0, "minimum": 0, "type": "number" }, "cargoEnvironment": { "title": "Cargo Environment", "description": "Cargo stowage environment", "default": "Unpressurized", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "contents": { "title": "Contents", "description": "List of elements (by unique identifiers) inside the carrier", "default": [], "type": "array", "items": { "type": "string", "format": "uuid" } }, "maxCrew": { "title": "Maximum Crew Count", "description": "Maximum number of human agents (crew)", "minimum": 0, "type": "integer" } }, "required": [ "name", "maxCrew" ] }, "SurfaceVehicle": { "title": "SurfaceVehicle", "description": "Surface vehicle that can traverse surface edges.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Element name", "type": "string" }, "type": { "title": "Type", "description": "the element's type", "default": "Surface Vehicle", "enum": [ "Surface Vehicle" ], "type": "string" }, "description": { "title": "Description", "description": "Short description (optional)", "type": "string" }, "classOfSupply": { "title": "Class of Supply", "description": "Class of supply", "default": 0, "allOf": [ { "$ref": "#/definitions/ClassOfSupply" } ] }, "environment": { "title": "Environment", "description": "Required stowage environment", "default": "Unpressurized", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "accommodationMass": { "title": "Accommodation Mass", "description": "Amount of COS 5 (kg) required for stowage.", "default": 0, "minimum": 0, "type": "number" }, "mass": { "title": "Mass", "description": "Mass (kg)", "default": 0, "minimum": 0, "type": "number" }, "volume": { "title": "Volume", "description": "Volume (m^3)", "default": 0, "minimum": 0, "type": "number" }, "states": { "title": "States", "description": "List of operational states", "default": [], "type": "array", "items": { "$ref": "#/definitions/State" } }, "currentStateIndex": { "title": "Current State", "description": "Index of the current operational state", "minimum": -1, "type": "integer" }, "parts": { "title": "Parts", "description": "List of constituent parts", "default": [], "type": "array", "items": { "$ref": "#/definitions/Part" } }, "icon": { "title": "Icon", "type": "string" }, "maxCargoMass": { "title": "Max Cargo Mass", "description": "Cargo mass capacity constraint (kg)", "default": 0, "minimum": 0, "type": "number" }, "maxCargoVolume": { "title": "Maximum Cargo Volume", "description": "Cargo volume capacity constraint (m^3)", "default": 0, "minimum": 0, "type": "number" }, "cargoEnvironment": { "title": "Cargo Environment", "description": "Cargo stowage environment", "default": "Unpressurized", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "contents": { "title": "Contents", "description": "List of elements (by unique identifiers) inside the carrier", "default": [], "type": "array", "items": { "type": "string", "format": "uuid" } }, "maxCrew": { "title": "Maximum Crew Count", "description": "Maximum number of human agents (crew)", "minimum": 0, "type": "integer" }, "maxSpeed": { "title": "Maximum Speed", "description": "Maximum speed (km/hr)", "minimum": 0, "type": "number" }, "maxFuel": { "title": "Maximum Fuel", "description": "Maximum fuel amount (units)", "minimum": 0, "type": "number" }, "fuel": { "title": "Fuel", "description": "Type and amount of fuel", "anyOf": [ { "$ref": "#/definitions/ResourceAmount" }, { "$ref": "#/definitions/GenericResourceAmount" } ] } }, "required": [ "name", "maxCrew", "maxSpeed", "maxFuel", "fuel" ] }, "PropulsiveVehicle": { "title": "PropulsiveVehicle", "description": "Space vehicle with impulsive propulsion that can traverse space edges.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Element name", "type": "string" }, "type": { "title": "Type", "description": "Element type", "default": "Propulsive Vehicle", "enum": [ "Propulsive Vehicle" ], "type": "string" }, "description": { "title": "Description", "description": "Short description (optional)", "type": "string" }, "classOfSupply": { "title": "Class of Supply", "description": "Class of supply", "default": 0, "allOf": [ { "$ref": "#/definitions/ClassOfSupply" } ] }, "environment": { "title": "Environment", "description": "Required stowage environment", "default": "Unpressurized", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "accommodationMass": { "title": "Accommodation Mass", "description": "Amount of COS 5 (kg) required for stowage.", "default": 0, "minimum": 0, "type": "number" }, "mass": { "title": "Mass", "description": "Mass (kg)", "default": 0, "minimum": 0, "type": "number" }, "volume": { "title": "Volume", "description": "Volume (m^3)", "default": 0, "minimum": 0, "type": "number" }, "states": { "title": "States", "description": "List of operational states", "default": [], "type": "array", "items": { "$ref": "#/definitions/State" } }, "currentStateIndex": { "title": "Current State", "description": "Index of the current operational state", "minimum": -1, "type": "integer" }, "parts": { "title": "Parts", "description": "List of constituent parts", "default": [], "type": "array", "items": { "$ref": "#/definitions/Part" } }, "icon": { "title": "Icon", "type": "string" }, "maxCargoMass": { "title": "Max Cargo Mass", "description": "Cargo mass capacity constraint (kg)", "default": 0, "minimum": 0, "type": "number" }, "maxCargoVolume": { "title": "Maximum Cargo Volume", "description": "Cargo volume capacity constraint (m^3)", "default": 0, "minimum": 0, "type": "number" }, "cargoEnvironment": { "title": "Cargo Environment", "description": "Cargo stowage environment", "default": "Unpressurized", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "contents": { "title": "Contents", "description": "List of elements (by unique identifiers) inside the carrier", "default": [], "type": "array", "items": { "type": "string", "format": "uuid" } }, "maxCrew": { "title": "Maximum Crew Count", "description": "Maximum number of human agents (crew)", "minimum": 0, "type": "integer" }, "isp": { "title": "Specific Impulse", "description": "Specific impulse (s)", "minimum": 0, "type": "number" }, "maxFuel": { "title": "Maximum Fuel", "description": "Maximum propellant amount (units)", "minimum": 0, "type": "number" }, "fuel": { "title": "Fuel", "description": "Type and amount of propellant", "anyOf": [ { "$ref": "#/definitions/ResourceAmount" }, { "$ref": "#/definitions/GenericResourceAmount" } ] } }, "required": [ "name", "maxCrew", "isp", "maxFuel", "fuel" ] }, "HumanAgent": { "title": "HumanAgent", "description": "Human agent, i.e., a crew member.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Element name", "type": "string" }, "type": { "title": "Type", "description": "Element type", "default": "Human Agent", "enum": [ "Human Agent" ], "type": "string" }, "description": { "title": "Description", "description": "Short description (optional)", "type": "string" }, "classOfSupply": { "title": "Class of Supply", "description": "Class of supply", "default": 0, "allOf": [ { "$ref": "#/definitions/ClassOfSupply" } ] }, "environment": { "title": "Environment", "description": "Required stowage environment", "default": "Unpressurized", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "accommodationMass": { "title": "Accommodation Mass", "description": "Amount of COS 5 (kg) required for stowage.", "default": 0, "minimum": 0, "type": "number" }, "mass": { "title": "Mass", "description": "Mass (kg)", "default": 0, "minimum": 0, "type": "number" }, "volume": { "title": "Volume", "description": "Volume (m^3)", "default": 0, "minimum": 0, "type": "number" }, "states": { "title": "States", "description": "List of operational states", "default": [], "type": "array", "items": { "$ref": "#/definitions/State" } }, "currentStateIndex": { "title": "Current State", "description": "Index of the current operational state", "minimum": -1, "type": "integer" }, "parts": { "title": "Parts", "description": "List of constituent parts", "default": [], "type": "array", "items": { "$ref": "#/definitions/Part" } }, "icon": { "title": "Icon", "type": "string" }, "activeTimeFraction": { "title": "Active Time Fraction", "description": "fraction time an agent is available (0 to 1 inclusive)", "minimum": 0, "maximum": 1, "type": "number" } }, "required": [ "name", "activeTimeFraction" ] }, "RoboticAgent": { "title": "RoboticAgent", "description": "Robotic agent.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Element name", "type": "string" }, "type": { "title": "Type", "description": "Element type", "default": "Robotic Agent", "enum": [ "Robotic Agent" ], "type": "string" }, "description": { "title": "Description", "description": "Short description (optional)", "type": "string" }, "classOfSupply": { "title": "Class of Supply", "description": "Class of supply", "default": 0, "allOf": [ { "$ref": "#/definitions/ClassOfSupply" } ] }, "environment": { "title": "Environment", "description": "Required stowage environment", "default": "Unpressurized", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "accommodationMass": { "title": "Accommodation Mass", "description": "Amount of COS 5 (kg) required for stowage.", "default": 0, "minimum": 0, "type": "number" }, "mass": { "title": "Mass", "description": "Mass (kg)", "default": 0, "minimum": 0, "type": "number" }, "volume": { "title": "Volume", "description": "Volume (m^3)", "default": 0, "minimum": 0, "type": "number" }, "states": { "title": "States", "description": "List of operational states", "default": [], "type": "array", "items": { "$ref": "#/definitions/State" } }, "currentStateIndex": { "title": "Current State", "description": "Index of the current operational state", "minimum": -1, "type": "integer" }, "parts": { "title": "Parts", "description": "List of constituent parts", "default": [], "type": "array", "items": { "$ref": "#/definitions/Part" } }, "icon": { "title": "Icon", "type": "string" }, "activeTimeFraction": { "title": "Active Time Fraction", "description": "fraction time an agent is available (0 to 1 inclusive)", "minimum": 0, "maximum": 1, "type": "number" } }, "required": [ "name", "activeTimeFraction" ] }, "InstElement": { "title": "InstElement", "description": "Generic element instance.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "type": { "title": "Type", "description": "element type", "default": "Element", "enum": [ "Element" ], "type": "string" }, "templateId": { "title": "Templateid", "description": "Element template unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Element name", "type": "string" }, "description": { "title": "Description", "description": "Short description (optional)", "type": "string" }, "classOfSupply": { "title": "Class of Supply", "description": "Class of supply", "allOf": [ { "$ref": "#/definitions/ClassOfSupply" } ] }, "environment": { "title": "Environment", "description": "Required stowage environment", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "accommodationMass": { "title": "Accommodation Mass", "description": "Amount of COS 5 (kg) required for stowage", "minimum": 0, "type": "number" }, "mass": { "title": "Mass", "description": "Mass (kg)", "minimum": 0, "type": "number" }, "volume": { "title": "Volume", "description": "Volume (m^3)", "minimum": 0, "type": "number" }, "states": { "title": "States", "description": "List of operational states", "type": "array", "items": { "$ref": "#/definitions/State" } }, "currentStateIndex": { "title": "Current State", "description": "Index of the current operational state", "minimum": -1, "type": "integer" }, "parts": { "title": "Parts", "description": "List of constituent parts", "type": "array", "items": { "type": "string", "format": "uuid" } }, "icon": { "title": "Icon", "type": "string" } }, "required": [ "templateId", "name" ] }, "InstResourceContainer": { "title": "InstResourceContainer", "description": "Instantiated container for resources.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "type": { "title": "Type", "description": "Element type", "default": "Resource Container", "enum": [ "Resource Container" ], "type": "string" }, "templateId": { "title": "Templateid", "description": "Element template unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Element name", "type": "string" }, "description": { "title": "Description", "description": "Short description (optional)", "type": "string" }, "classOfSupply": { "title": "Class of Supply", "description": "Class of supply", "allOf": [ { "$ref": "#/definitions/ClassOfSupply" } ] }, "environment": { "title": "Environment", "description": "Required stowage environment", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "accommodationMass": { "title": "Accommodation Mass", "description": "Amount of COS 5 (kg) required for stowage", "minimum": 0, "type": "number" }, "mass": { "title": "Mass", "description": "Mass (kg)", "minimum": 0, "type": "number" }, "volume": { "title": "Volume", "description": "Volume (m^3)", "minimum": 0, "type": "number" }, "states": { "title": "States", "description": "List of operational states", "type": "array", "items": { "$ref": "#/definitions/State" } }, "currentStateIndex": { "title": "Current State", "description": "Index of the current operational state", "minimum": -1, "type": "integer" }, "parts": { "title": "Parts", "description": "List of constituent parts", "type": "array", "items": { "type": "string", "format": "uuid" } }, "icon": { "title": "Icon", "type": "string" }, "maxCargoMass": { "title": "Max Cargo Mass", "description": "Cargo mass capacity constraint (kg)", "minimum": 0, "type": "number" }, "maxCargoVolume": { "title": "Maximum Cargo Volume", "description": "Cargo volume capacity constraint (m^3)", "minimum": 0, "type": "number" }, "cargoEnvironment": { "title": "Cargo Environment", "description": "Cargo stowage environment", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "contents": { "title": "Resource Amount", "description": "List of contained resource amounts", "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/ResourceAmount" }, { "$ref": "#/definitions/GenericResourceAmount" } ] } } }, "required": [ "templateId", "name" ] }, "InstElementCarrier": { "title": "InstElementCarrier", "description": "Instantiated carrier of other elements.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "type": { "title": "Type", "description": "Element type", "default": "Element Carrier", "enum": [ "Element Carrier" ], "type": "string" }, "templateId": { "title": "Templateid", "description": "Element template unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Element name", "type": "string" }, "description": { "title": "Description", "description": "Short description (optional)", "type": "string" }, "classOfSupply": { "title": "Class of Supply", "description": "Class of supply", "allOf": [ { "$ref": "#/definitions/ClassOfSupply" } ] }, "environment": { "title": "Environment", "description": "Required stowage environment", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "accommodationMass": { "title": "Accommodation Mass", "description": "Amount of COS 5 (kg) required for stowage", "minimum": 0, "type": "number" }, "mass": { "title": "Mass", "description": "Mass (kg)", "minimum": 0, "type": "number" }, "volume": { "title": "Volume", "description": "Volume (m^3)", "minimum": 0, "type": "number" }, "states": { "title": "States", "description": "List of operational states", "type": "array", "items": { "$ref": "#/definitions/State" } }, "currentStateIndex": { "title": "Current State", "description": "Index of the current operational state", "minimum": -1, "type": "integer" }, "parts": { "title": "Parts", "description": "List of constituent parts", "type": "array", "items": { "type": "string", "format": "uuid" } }, "icon": { "title": "Icon", "type": "string" }, "maxCargoMass": { "title": "Max Cargo Mass", "description": "Cargo mass capacity constraint (kg)", "minimum": 0, "type": "number" }, "maxCargoVolume": { "title": "Maximum Cargo Volume", "description": "Cargo volume capacity constraint (m^3)", "minimum": 0, "type": "number" }, "cargoEnvironment": { "title": "Cargo Environment", "description": "Cargo stowage environment", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "contents": { "title": "Contents", "description": "List of instantiated elements (by unique identifiers) inside the carrier", "default": [], "type": "array", "items": { "$ref": "#/definitions/InstElementUUID" } }, "maxCrew": { "title": "Maximum Crew Count", "description": "Maximum number of human agents (crew)", "minimum": 0, "type": "integer" } }, "required": [ "templateId", "name" ] }, "InstPropulsiveVehicle": { "title": "InstPropulsiveVehicle", "description": "Instantiated space vehicle with impulsive propulsion that can traverse space edges.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "type": { "title": "Type", "description": "Element type", "default": "Propulsive Vehicle", "enum": [ "Propulsive Vehicle" ], "type": "string" }, "templateId": { "title": "Templateid", "description": "Element template unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Element name", "type": "string" }, "description": { "title": "Description", "description": "Short description (optional)", "type": "string" }, "classOfSupply": { "title": "Class of Supply", "description": "Class of supply", "allOf": [ { "$ref": "#/definitions/ClassOfSupply" } ] }, "environment": { "title": "Environment", "description": "Required stowage environment", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "accommodationMass": { "title": "Accommodation Mass", "description": "Amount of COS 5 (kg) required for stowage", "minimum": 0, "type": "number" }, "mass": { "title": "Mass", "description": "Mass (kg)", "minimum": 0, "type": "number" }, "volume": { "title": "Volume", "description": "Volume (m^3)", "minimum": 0, "type": "number" }, "states": { "title": "States", "description": "List of operational states", "type": "array", "items": { "$ref": "#/definitions/State" } }, "currentStateIndex": { "title": "Current State", "description": "Index of the current operational state", "minimum": -1, "type": "integer" }, "parts": { "title": "Parts", "description": "List of constituent parts", "type": "array", "items": { "type": "string", "format": "uuid" } }, "icon": { "title": "Icon", "type": "string" }, "maxCargoMass": { "title": "Max Cargo Mass", "description": "Cargo mass capacity constraint (kg)", "minimum": 0, "type": "number" }, "maxCargoVolume": { "title": "Maximum Cargo Volume", "description": "Cargo volume capacity constraint (m^3)", "minimum": 0, "type": "number" }, "cargoEnvironment": { "title": "Cargo Environment", "description": "Cargo stowage environment", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "contents": { "title": "Contents", "description": "List of instantiated elements (by unique identifiers) inside the carrier", "default": [], "type": "array", "items": { "$ref": "#/definitions/InstElementUUID" } }, "maxCrew": { "title": "Maximum Crew Count", "description": "Maximum number of human agents (crew)", "minimum": 0, "type": "integer" }, "isp": { "title": "Specific Impulse", "description": "specific impulse (s)", "minimum": 0, "type": "number" }, "maxFuel": { "title": "Maximum Fuel", "description": "maximum propellant amount (units)", "minimum": 0, "type": "number" }, "fuel": { "title": "Propellant", "description": "type and amount of propellant", "anyOf": [ { "$ref": "#/definitions/ResourceAmount" }, { "$ref": "#/definitions/GenericResourceAmount" } ] } }, "required": [ "templateId", "name" ] }, "InstSurfaceVehicle": { "title": "InstSurfaceVehicle", "description": "Instantiated surface vehicle that can traverse surface edges.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "type": { "title": "Type", "description": "Element type", "default": "Surface Vehicle", "enum": [ "Surface Vehicle" ], "type": "string" }, "templateId": { "title": "Templateid", "description": "Element template unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Element name", "type": "string" }, "description": { "title": "Description", "description": "Short description (optional)", "type": "string" }, "classOfSupply": { "title": "Class of Supply", "description": "Class of supply", "allOf": [ { "$ref": "#/definitions/ClassOfSupply" } ] }, "environment": { "title": "Environment", "description": "Required stowage environment", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "accommodationMass": { "title": "Accommodation Mass", "description": "Amount of COS 5 (kg) required for stowage", "minimum": 0, "type": "number" }, "mass": { "title": "Mass", "description": "Mass (kg)", "minimum": 0, "type": "number" }, "volume": { "title": "Volume", "description": "Volume (m^3)", "minimum": 0, "type": "number" }, "states": { "title": "States", "description": "List of operational states", "type": "array", "items": { "$ref": "#/definitions/State" } }, "currentStateIndex": { "title": "Current State", "description": "Index of the current operational state", "minimum": -1, "type": "integer" }, "parts": { "title": "Parts", "description": "List of constituent parts", "type": "array", "items": { "type": "string", "format": "uuid" } }, "icon": { "title": "Icon", "type": "string" }, "maxCargoMass": { "title": "Max Cargo Mass", "description": "Cargo mass capacity constraint (kg)", "minimum": 0, "type": "number" }, "maxCargoVolume": { "title": "Maximum Cargo Volume", "description": "Cargo volume capacity constraint (m^3)", "minimum": 0, "type": "number" }, "cargoEnvironment": { "title": "Cargo Environment", "description": "Cargo stowage environment", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "contents": { "title": "Contents", "description": "List of instantiated elements (by unique identifiers) inside the carrier", "default": [], "type": "array", "items": { "$ref": "#/definitions/InstElementUUID" } }, "maxCrew": { "title": "Maximum Crew Count", "description": "Maximum number of human agents (crew)", "minimum": 0, "type": "integer" }, "maxSpeed": { "title": "Maximum Speed", "description": "Maximum speed (km/hr)", "minimum": 0, "type": "number" }, "maxFuel": { "title": "Maximum Fuel", "description": "Maximum fuel amount (units)", "minimum": 0, "type": "number" }, "fuel": { "title": "Fuel", "description": "Type and amount of fuel", "anyOf": [ { "$ref": "#/definitions/ResourceAmount" }, { "$ref": "#/definitions/GenericResourceAmount" } ] } }, "required": [ "templateId", "name" ] }, "InstHumanAgent": { "title": "InstHumanAgent", "description": "Instantiated human agent, i.e., a crew member.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "type": { "title": "Type", "description": "Element type", "default": "Human Agent", "enum": [ "Human Agent" ], "type": "string" }, "templateId": { "title": "Templateid", "description": "Element template unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Element name", "type": "string" }, "description": { "title": "Description", "description": "Short description (optional)", "type": "string" }, "classOfSupply": { "title": "Class of Supply", "description": "Class of supply", "allOf": [ { "$ref": "#/definitions/ClassOfSupply" } ] }, "environment": { "title": "Environment", "description": "Required stowage environment", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "accommodationMass": { "title": "Accommodation Mass", "description": "Amount of COS 5 (kg) required for stowage", "minimum": 0, "type": "number" }, "mass": { "title": "Mass", "description": "Mass (kg)", "minimum": 0, "type": "number" }, "volume": { "title": "Volume", "description": "Volume (m^3)", "minimum": 0, "type": "number" }, "states": { "title": "States", "description": "List of operational states", "type": "array", "items": { "$ref": "#/definitions/State" } }, "currentStateIndex": { "title": "Current State", "description": "Index of the current operational state", "minimum": -1, "type": "integer" }, "parts": { "title": "Parts", "description": "List of constituent parts", "type": "array", "items": { "type": "string", "format": "uuid" } }, "icon": { "title": "Icon", "type": "string" }, "activeTimeFraction": { "title": "Active Time Fraction", "description": "fraction time an agent is available (0 to 1 inclusive)", "minimum": 0, "maximum": 1, "type": "number" } }, "required": [ "templateId", "name" ] }, "InstRoboticAgent": { "title": "InstRoboticAgent", "description": "Instantiated robotic agent.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "type": { "title": "Type", "description": "Element type", "default": "Robotic Agent", "enum": [ "Robotic Agent" ], "type": "string" }, "templateId": { "title": "Templateid", "description": "Element template unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Element name", "type": "string" }, "description": { "title": "Description", "description": "Short description (optional)", "type": "string" }, "classOfSupply": { "title": "Class of Supply", "description": "Class of supply", "allOf": [ { "$ref": "#/definitions/ClassOfSupply" } ] }, "environment": { "title": "Environment", "description": "Required stowage environment", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "accommodationMass": { "title": "Accommodation Mass", "description": "Amount of COS 5 (kg) required for stowage", "minimum": 0, "type": "number" }, "mass": { "title": "Mass", "description": "Mass (kg)", "minimum": 0, "type": "number" }, "volume": { "title": "Volume", "description": "Volume (m^3)", "minimum": 0, "type": "number" }, "states": { "title": "States", "description": "List of operational states", "type": "array", "items": { "$ref": "#/definitions/State" } }, "currentStateIndex": { "title": "Current State", "description": "Index of the current operational state", "minimum": -1, "type": "integer" }, "parts": { "title": "Parts", "description": "List of constituent parts", "type": "array", "items": { "type": "string", "format": "uuid" } }, "icon": { "title": "Icon", "type": "string" }, "activeTimeFraction": { "title": "Active Time Fraction", "description": "fraction time an agent is available (0 to 1 inclusive)", "minimum": 0, "maximum": 1, "type": "number" } }, "required": [ "templateId", "name" ] }, "TimedImpulseDemandModel": { "title": "TimedImpulseDemandModel", "description": "Demand model that generates an impulsive demand for resources.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "type": "string" }, "type": { "title": "Type", "description": "Demand model type", "default": "Timed Impulse", "enum": [ "Timed Impulse" ], "type": "string" }, "description": { "title": "Description", "description": "Short description (optional)", "type": "string" }, "demands": { "title": "Demands", "description": "List of resource amounts to be demanded", "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/ResourceAmount" }, { "$ref": "#/definitions/GenericResourceAmount" } ] } } }, "required": [ "name", "demands" ] }, "RatedDemandModel": { "title": "RatedDemandModel", "description": "Demand model that generates a constant time rate demand for resources.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "type": "string" }, "type": { "title": "Type", "description": "Demand model type", "default": "Rated", "enum": [ "Rated" ], "type": "string" }, "description": { "title": "Description", "description": "Short description (optional)", "type": "string" }, "demands": { "title": "Demands", "description": "List of resource amount rates to be demanded", "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/ResourceAmountRate" }, { "$ref": "#/definitions/GenericResourceAmountRate" } ] } } }, "required": [ "name", "demands" ] }, "CrewConsumablesDemandModel": { "title": "CrewConsumablesDemandModel", "description": "Mission demand model that generates demands for crew consumables.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "type": "string" }, "type": { "title": "Type", "description": "Demand model type", "default": "Crew Consumables", "enum": [ "Crew Consumables" ], "type": "string" }, "description": { "title": "Description", "description": "Short description (optional)", "type": "string" }, "reservesDuration": { "title": "Reserves Duration", "description": "Duration (days) of reserve resources", "default": 0, "minimum": 0, "type": "number" }, "waterRecoveryRate": { "title": "Water Recovery Rate", "description": "Rate (between 0 and 1) of water recovery", "default": 0.42, "minimum": 0, "maximum": 1, "type": "number" }, "clothingLifetime": { "title": "Clothing Lifetime", "description": "Duration (days) of clothing lifetime", "default": 4, "minimum": 0, "type": "number" }, "transitDemandsOmitted": { "title": "Transit Demand Omitted", "description": "True, if transit demands shall be omitted", "default": false, "type": "boolean" }, "waterRate": { "title": "Water Rate", "description": "Rate (kg/person/day) of water (generic COS 201) demands", "default": 3.6, "type": "number" }, "evaWaterRate": { "title": "EVA Water Rate", "description": "Rate (kg/person/hour) of water (generic COS 201) demands during extra-vehicular activity", "default": 0.6875, "type": "number" }, "foodSupportRate": { "title": "Food Support Rate", "description": "Rate (kg/person/day) of food support equipment (generic COS 202) demands", "default": 0.05556, "type": "number" }, "ambientFoodRate": { "title": "Ambient Food Rate", "description": "Rate (kg/person/day) of ambient food (generic COS 202) demands", "default": 0.76389, "type": "number" }, "rfFoodRate": { "title": "Rf Food Rate", "description": "Rate (kg/person/day) of RF food (generic COS 202) demands", "default": 1.61667, "type": "number" }, "oxygenRate": { "title": "Oxygen Rate", "description": "Rate (kg/person/day) of oxygen (generic COS 203) demands", "default": 3.85714, "type": "number" }, "evaOxygenRate": { "title": "EVA Oxygen Rate", "description": "Rate (kg/person/hour) of oxygen (generic COS 203) demands during extra-vehicular activity", "default": 0.07875, "type": "number" }, "nitrogenRate": { "title": "Nitrogen Rate", "description": "Rate (kg/person/day) of nitrogen (generic COS 203) demands", "default": 2.21429, "type": "number" }, "hygieneRate": { "title": "Hygiene Rate", "description": "Rate (kg/person/day) of hygeine (generic COS 204) demands", "default": 0.27778, "type": "number" }, "hygieneKit": { "title": "Hygiene Kit", "description": "Amount (kg/person) of hygeine kit (generic COS 204) demands", "default": 1.8, "type": "number" }, "clothingRate": { "title": "Clothing Rate", "description": "Rate (kg/person/day) of clothing (generic COS 205) demands", "default": 2.3, "type": "number" }, "personalItems": { "title": "Personal Items", "description": "Amount (kg/person) of personal item (generic COS 206) demands", "default": 10, "type": "number" }, "officeEquipment": { "title": "Office Equipment", "description": "Amount (kg/person) of office equipment (generic COS 301) demands", "default": 5, "type": "number" }, "evaSuit": { "title": "EVA Suit", "description": "Amount (kg/person) of extra-vehicular activity suit (generic COS 302) demands", "default": 107, "type": "number" }, "evaLithiumHydroxide": { "title": "EVA Lithium Hydroxide", "description": "Rate (kg/person/hour) of lithium hydroxide (generic COS 302) demands", "default": 0.3625, "type": "number" }, "healthEquipment": { "title": "Health Equipment", "description": "Amount (kg) of health equipment (generic COS 303) demands", "default": 20, "type": "number" }, "healthConsumables": { "title": "Health Consumables", "description": "Amount (kg/person) of health consumables (generic COS 303) demands", "default": 0.1, "type": "number" }, "safetyEquipment": { "title": "Safety Equipment", "description": "Amount (kg) of safety equipment (generic COS 304) demands", "default": 25, "type": "number" }, "commEquipment": { "title": "Comm Equipment", "description": "Amount (kg) of communication equipment (generic COS 305) demands", "default": 20, "type": "number" }, "computerEquipment": { "title": "Computer Equipment", "description": "Amount (kg/person) of computer equipment (generic COS 306) demands", "default": 5, "type": "number" }, "trashBagRate": { "title": "Trash Bag Rate", "description": "Rate (kg/person/day) of trash bag (generic COS 701) demands", "default": 0.05, "type": "number" }, "wasteContainmentRate": { "title": "Waste Containment Rate", "description": "Rate (kg/person/day) of waste containment (generic COS 702) demands", "default": 0.05, "type": "number" } }, "required": [ "name" ] }, "SparingByMassDemandModel": { "title": "SparingByMassDemandModel", "description": "Element demand model that generates demands for spares based on mass fraction.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "type": "string" }, "type": { "title": "Type", "description": "Demand model type", "default": "Sparing By Mass", "enum": [ "Sparing By Mass" ], "type": "string" }, "description": { "title": "Description", "description": "Short description (optional)", "type": "string" }, "unpressurizedSparesRate": { "title": "Unpressurized Spares Rate", "description": "fraction of an element mass demanded per year as unpressurized spares (generic COS 4)", "minimum": 0, "maximum": 1, "type": "number" }, "pressurizedSparesRate": { "title": "Pressurized Spares Rate", "description": "fraction of an element mass demanded per year as pressurized spares (generic COS 4)", "minimum": 0, "maximum": 1, "type": "number" }, "partsListEnabled": { "title": "Parts List Enabled", "description": "True, if the element part list identifies specific (non-generic) demands", "type": "boolean" } }, "required": [ "name", "unpressurizedSparesRate", "pressurizedSparesRate", "partsListEnabled" ] }, "ContinuousResource": { "title": "ContinuousResource", "description": "A resource instantiated in continuous (floating point) amounts.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Resource name", "type": "string" }, "classOfSupply": { "title": "Class of Supply", "description": "Class of supply", "allOf": [ { "$ref": "#/definitions/ClassOfSupply" } ] }, "environment": { "title": "Environment", "description": "Required stowage environment", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "packingFactor": { "title": "Packing Factor", "description": "Mass (kg) of packing material (generic COS 5) required per unit", "minimum": 0, "type": "number" }, "units": { "title": "Units", "description": "Unit resource label (default: kg)", "default": "kg", "type": "string" }, "description": { "title": "Description", "description": "Short description (optional)", "type": "string" }, "unitMass": { "title": "Unit Mass", "description": "Mass (kg) of 1.0 units", "exclusiveMinimum": 0, "type": "number" }, "unitVolume": { "title": "Unit Volume", "description": "Volume (m^3) of 1.0 units", "minimum": 0, "type": "number" }, "type": { "title": "Type", "description": "Resource type", "default": "Continuous", "enum": [ "Continuous" ], "type": "string" } }, "required": [ "name", "classOfSupply", "environment", "packingFactor", "unitMass", "unitVolume" ] }, "DiscreteResource": { "title": "DiscreteResource", "description": "A resource instantiated in discrete (integer) amounts.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Resource name", "type": "string" }, "classOfSupply": { "title": "Class of Supply", "description": "Class of supply", "allOf": [ { "$ref": "#/definitions/ClassOfSupply" } ] }, "environment": { "title": "Environment", "description": "Required stowage environment", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "packingFactor": { "title": "Packing Factor", "description": "Mass (kg) of packing material (generic COS 5) required per unit", "minimum": 0, "type": "number" }, "units": { "title": "Units", "description": "Unit resource label (default: kg)", "default": "kg", "type": "string" }, "description": { "title": "Description", "description": "Short description (optional)", "type": "string" }, "unitMass": { "title": "Unit Mass", "description": "Mass (kg) of 1.0 units", "exclusiveMinimum": 0, "type": "number" }, "unitVolume": { "title": "Unit Volume", "description": "Volume (m^3) of 1.0 units", "minimum": 0, "type": "number" }, "type": { "title": "Type", "description": "Resource type", "default": "Discrete", "enum": [ "Discrete" ], "type": "string" } }, "required": [ "name", "classOfSupply", "environment", "packingFactor", "unitMass", "unitVolume" ] }, "Manifest": { "title": "Manifest", "description": "Manifest of events that schedule resource packing and loading.", "type": "object", "properties": {} }, "ItemDiscretizationType": { "title": "ItemDiscretizationType", "description": "Enumeration of item discretization types (i.e., how discrete demands get\naggregated to unit quantities).", "enum": [ "None", "Element", "Location", "Scenario" ], "type": "string" }, "Configuration": { "title": "Configuration", "description": "Scenario configuration settings.", "type": "object", "properties": { "timePrecision": { "title": "Time Precision", "description": "Minimum time duration (days) considered non-zero.", "default": 0.05, "minimum": 0, "type": "number" }, "demandPrecision": { "title": "Demand Precision", "description": "Minimum resource amount (units) considered non-zero.", "default": 0.01, "minimum": 0, "type": "number" }, "massPrecision": { "title": "Mass Precision", "description": "Minimum mass (kg) considered non-zero.", "default": 0.01, "minimum": 0, "type": "number" }, "volumePrecision": { "title": "Volume Precision", "description": "Minimum volume (m^3) considered non-zero.", "default": 1e-06, "minimum": 0, "type": "number" }, "volumeConstrained": { "title": "Volume Constrained", "description": "True, if volume constraints are enabled.", "default": false, "type": "boolean" }, "itemDiscretization": { "title": "Item Discretization", "description": "Level at which discrete resources can be aggregated.", "default": "None", "allOf": [ { "$ref": "#/definitions/ItemDiscretizationType" } ] }, "itemAggregation": { "title": "Item Aggregation", "description": "Fraction of a unit (0 to 1 inclusive) which is aggregated to a unit demand.", "default": 0.0, "minimum": 0, "maximum": 1, "type": "number" }, "environmentConstrained": { "title": "Environment Constrained", "description": "True, if environment constraints are enabled.", "default": false, "type": "boolean" }, "scavengeSpares": { "title": "Scavenge Spares", "description": "True, if spares can be scavenged from parts of decommissioned elements.", "default": false, "type": "boolean" }, "detailedEva": { "title": "Detailed EVA", "description": "True, if the simulator shall model all EVA events (e.g., egress, ingress).", "default": true, "type": "boolean" }, "detailedExploration": { "title": "Detailedexploration", "description": "True, if the simulator shall model all exploration events (e.g., EVAs).", "default": true, "type": "boolean" }, "genericPackingFactorGas": { "title": "Generic Gas Packing Factor", "description": "Mass of packing material (generic COS 5) required per kg of gases (generic COS 203)", "default": 1.0, "minimum": 0, "type": "number" }, "genericPackingFactorLiquid": { "title": "Generic Liquid Packing Factor", "description": "Mass of packing material (generic COS 5) required per kg of liquids (generic COS 201)", "default": 0.5, "minimum": 0, "type": "number" }, "genericPackingFactorPressurized": { "title": "Generic Pressurized Packing Factor", "description": "Mass of packing material (generic COS 5) required per kg pressurized resources", "default": 0.2, "minimum": 0, "type": "number" }, "genericPackingFactorUnpressurized": { "title": "Generic Unpressurized Packing Factor", "description": "Mass of packing material (generic COS 5) required per kg of unpressurized resources", "default": 0.6, "minimum": 0, "type": "number" }, "smallGasTankMass": { "title": "Small Gas Tank Mass", "description": "Mass (kg) of small gas tank resource containers", "default": 10.8, "minimum": 0, "type": "number" }, "smallGasTankVolume": { "title": "Small Gas Tank Volume", "description": "Volume (m^3) of small gas tank resource containers", "default": 0.275, "minimum": 0, "type": "number" }, "smallGasTankMaxMass": { "title": "Small Gas Tank Max Mass", "description": "Mass capacity (kg) of small gas tank resource containers", "default": 10.0, "minimum": 0, "type": "number" }, "smallGasTTankMaxVolume": { "title": "Small Gas Tank Max Volume", "description": "Volume capacity (m^3) of small gas tank resource containers", "default": 0.275, "minimum": 0, "type": "number" }, "largeGasTankMass": { "title": "Large Gas Tank Mass", "description": "Mass (kg) of large gas tank resource containers", "default": 108.0, "minimum": 0, "type": "number" }, "largeGasTankVolume": { "title": "Large Gas Tank Volume", "description": "Volume (m^3) of large gas tank resource containers", "default": 2.75, "minimum": 0, "type": "number" }, "largeGasTankMaxMass": { "title": "Large Gas Tank Max Mass", "description": "Mass capacity (kg) of large gas tank resource containers", "default": 100.0, "minimum": 0, "type": "number" }, "largeGasTankMaxVolume": { "title": "Large Gas Tank Max Volume", "description": "Volume capacity (m^3) of large gas tank resource containers", "default": 2.75, "minimum": 0, "type": "number" }, "smallLiquidTTankMass": { "title": "Small Liquid Tank Mass", "description": "Mass (kg) of small liquid tank resource containers", "default": 11.4567, "minimum": 0, "type": "number" }, "smallLiquidTankVolume": { "title": "Small Liquid Tank Volume", "description": "Volume (m^3) of small liquid tank resource containers", "default": 0.0249, "minimum": 0, "type": "number" }, "smallLiquidTankMaxMass": { "title": "Small Liquid Tank Max Mass", "description": "Mass capacity (kg) of small liquid tank resource containers", "default": 24.9333, "minimum": 0, "type": "number" }, "smallLiquidTankMaxVolume": { "title": "Small Liquid Tank Max Volume", "description": "Volume capacity (m^3) of small liquid tank resource containers", "default": 0.0249, "minimum": 0, "type": "number" }, "largeLiquidTankMass": { "title": "Large Liquid Tank Mass", "description": "Mass (kg) of large liquid tank resource containers", "default": 34.37, "minimum": 0, "type": "number" }, "largeLiquidTankVolume": { "title": "Large Liquid Tank Volume", "description": "Volume (m^3) of large liquid tank resource containers", "default": 0.0748, "minimum": 0, "type": "number" }, "largeLiquidTankMaxMass": { "title": "Large Liquid Tank Max Mass", "description": "Mass capacity (kg) of large liquid tank resource containers", "default": 74.8, "minimum": 0, "type": "number" }, "largeLiquidTankMaxVolume": { "title": "Large Liquid Tank Max Volume", "description": "Volume capacity (m^3) of large liquid tank resource containers", "default": 0.0748, "minimum": 0, "type": "number" }, "cargoTransferBagMass": { "title": "Cargo Transfer Bag Mass", "description": "Mass (kg) of cargo transfer bag resource containers", "default": 0.83, "minimum": 0, "type": "number" }, "cargoTransferBagVolume": { "title": "Cargo Transfer Bag Volume", "description": "Volume (m^3) of cargo transfer bag resource containers", "default": 0.053, "minimum": 0, "type": "number" }, "cargoTransferBagMaxMass": { "title": "Cargo Transfer Bag Max Mass", "description": "Mass capacity (kg) of cargo transfer bag resource containers", "default": 26.8, "minimum": 0, "type": "number" }, "cargoTransferBagMaxVolume": { "title": "Cargo Transfer Bag Max Volume", "description": "Volume capacity (m^3) of cargo transfer bag resource containers", "default": 0.049, "minimum": 0, "type": "number" } } } } }
- field configuration: Configuration = Configuration(time_precision=0.05, demand_precision=0.01, mass_precision=0.01, volume_precision=1e-06, volume_constrained=False, item_discretization=<ItemDiscretizationType.DO_NOT_DISCRETIZE: 'None'>, item_aggregation=0.0, environment_constrained=False, scavenge_spares=False, detailed_eva=True, detailed_exploration=True, generic_packing_factor_gas=1.0, generic_packing_factor_liquid=0.5, generic_packing_factor_pressurized=0.2, generic_packing_factor_unpressurized=0.6, small_gas_tank_mass=10.8, small_gas_tank_volume=0.275, small_gas_tank_max_mass=10.0, small_gas_t_tank_max_volume=0.275, large_gas_tank_mass=108.0, large_gas_tank_volume=2.75, large_gas_tank_max_mass=100.0, large_gas_tank_max_volume=2.75, small_liquid_t_tank_mass=11.4567, small_liquid_tank_volume=0.0249, small_liquid_tank_max_mass=24.9333, small_liquid_tank_max_volume=0.0249, large_liquid_tank_mass=34.37, large_liquid_tank_volume=0.0748, large_liquid_tank_max_mass=74.8, large_liquid_tank_max_volume=0.0748, cargo_transfer_bag_mass=0.83, cargo_transfer_bag_volume=0.053, cargo_transfer_bag_max_mass=26.8, cargo_transfer_bag_max_volume=0.049)
- field demand_models: List[Union[TimedImpulseDemandModel, RatedDemandModel, CrewConsumablesDemandModel, SparingByMassDemandModel]] = [] (alias 'demandModels')
List of demand model templates
- field element_templates: List[Union[Element, ResourceContainer, ElementCarrier, SurfaceVehicle, PropulsiveVehicle, HumanAgent, RoboticAgent]] = [] (alias 'elementTemplates')
List of element templates
- field instantiated_elements: List[Union[InstElement, InstResourceContainer, InstElementCarrier, InstPropulsiveVehicle, InstSurfaceVehicle, InstHumanAgent, InstRoboticAgent]] = [] (alias 'instantiatedElements')
List of instantiated elements
- field resource_list: List[Union[ContinuousResource, DiscreteResource]] = [] (alias 'resourceList')
List of resources
- field scenario_type: ScenarioType [Required] (alias 'scenarioType')
Scenario type
Network
- pydantic model spacenet.schemas.Network[source]
Composition of nodes and edges.
Show JSON schema
{ "title": "Network", "description": "Composition of nodes and edges.", "type": "object", "properties": { "nodes": { "title": "Nodes", "description": "Constituent nodes", "default": [], "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/LagrangeNode" }, { "$ref": "#/definitions/OrbitalNode" }, { "$ref": "#/definitions/SurfaceNode" } ] } }, "edges": { "title": "Edges", "description": "Constituent edges", "default": [], "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/FlightEdge" }, { "$ref": "#/definitions/SpaceEdge" }, { "$ref": "#/definitions/SurfaceEdge" } ] } } }, "definitions": { "InstElementUUID": { "title": "InstElementUUID", "description": "Instantiated element referenced by unique identifier.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" } } }, "Body": { "title": "Body", "description": "An enumeration of planetary bodies.", "enum": [ "Sun", "Earth", "Moon", "Mars" ], "type": "string" }, "LagrangeNode": { "title": "LagrangeNode", "description": "Stable location at a Lagrange point between two bodies.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Location name", "type": "string" }, "description": { "title": "Description", "description": "Short description of this location.", "type": "string" }, "contents": { "title": "Contents", "description": "List of elements (by unique identifiers) located at this location.", "default": [], "type": "array", "items": { "$ref": "#/definitions/InstElementUUID" } }, "type": { "title": "Type", "description": "Node type", "default": "Lagrange Node", "enum": [ "Lagrange Node" ], "type": "string" }, "body1": { "title": "Body 1", "description": "Primary planetary body", "default": "Earth", "allOf": [ { "$ref": "#/definitions/Body" } ] }, "body2": { "title": "Body 2", "description": "Secondary Lagrange point body", "allOf": [ { "$ref": "#/definitions/Body" } ] }, "lpNumber": { "title": "LP Number", "description": "Lagrange point number (1 to 5)", "minimum": 1, "maximum": 5, "type": "integer" } }, "required": [ "name", "body2", "lpNumber" ] }, "OrbitalNode": { "title": "OrbitalNode", "description": "Stable location orbiting a planetary body.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Location name", "type": "string" }, "description": { "title": "Description", "description": "Short description of this location.", "type": "string" }, "contents": { "title": "Contents", "description": "List of elements (by unique identifiers) located at this location.", "default": [], "type": "array", "items": { "$ref": "#/definitions/InstElementUUID" } }, "type": { "title": "Type", "description": "Node type", "default": "Orbital Node", "enum": [ "Orbital Node" ], "type": "string" }, "body1": { "title": "Body 1", "description": "Primary planetary body", "default": "Earth", "allOf": [ { "$ref": "#/definitions/Body" } ] }, "apoapsis": { "title": "Apoapsis", "description": "Major orbit radius (m)", "minimum": 0, "type": "number" }, "periapsis": { "title": "Periapsis", "description": "Minor orbit radius (m)", "minimum": 0, "type": "number" }, "inclination": { "title": "Inclination", "description": "Orbit inclination (decimal degrees, 0 to 180 inclusive)", "minimum": 0, "maximum": 180, "type": "number" } }, "required": [ "name", "apoapsis", "periapsis", "inclination" ] }, "SurfaceNode": { "title": "SurfaceNode", "description": "Stable location on the surface of a planetary body.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Location name", "type": "string" }, "description": { "title": "Description", "description": "Short description of this location.", "type": "string" }, "contents": { "title": "Contents", "description": "List of elements (by unique identifiers) located at this location.", "default": [], "type": "array", "items": { "$ref": "#/definitions/InstElementUUID" } }, "type": { "title": "Type", "description": "Node type", "default": "Surface Node", "enum": [ "Surface Node" ], "type": "string" }, "body1": { "title": "Body 1", "description": "Primary planetary body", "default": "Earth", "allOf": [ { "$ref": "#/definitions/Body" } ] }, "latitude": { "title": "Latitude", "description": "Latitude (decimal degrees, -90 to 90 inclusive)", "minimum": -90, "maximum": 90, "type": "number" }, "longitude": { "title": "Longitude", "description": "Longitude (decimal degrees, -180 to 180 inclusive)", "minimum": -180, "maximum": 180, "type": "number" } }, "required": [ "name", "latitude", "longitude" ] }, "FlightEdge": { "title": "FlightEdge", "description": "A trajectory between two nodes that is known to be feasible for a given\ncargo (mass) and crew capacity under a specified flight architecture.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Location name", "type": "string" }, "description": { "title": "Description", "description": "Short description of this location.", "type": "string" }, "contents": { "title": "Contents", "description": "List of elements (by unique identifiers) located at this location.", "default": [], "type": "array", "items": { "$ref": "#/definitions/InstElementUUID" } }, "type": { "title": "Type", "description": "Edge type", "default": "Flight Edge", "enum": [ "Flight Edge" ], "type": "string" }, "origin": { "title": "Origin Node", "description": "Origin node unique identifier", "type": "string", "format": "uuid" }, "destination": { "title": "Destination Node", "description": "Destination node unique identifier", "type": "string", "format": "uuid" }, "duration": { "title": "duration", "description": "Duration of traversal between nodes", "type": "number", "format": "time-delta" }, "maxCrew": { "title": "Max Crew", "description": "Maximum number of crew to be transported", "minimum": 0, "type": "integer" }, "maxCargo": { "title": "Max Cargo", "description": "Maximum cargo (kg) to be transported", "minimum": 0, "type": "number" } }, "required": [ "name", "origin", "destination", "duration", "maxCrew", "maxCargo" ] }, "Burn": { "title": "Burn", "description": "Impulsive propulsive burn triggered at a designated time during a space\ntransport to generate a target change in velocity (delta-V).", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "time": { "title": "Time", "description": "Time relative to the start of the space transport", "type": "number", "format": "time-delta" }, "deltaV": { "title": "Deltav", "description": "Change in velocity (m/s) to be achieved", "minimum": 0, "type": "number" } }, "required": [ "time", "deltaV" ] }, "SpaceEdge": { "title": "SpaceEdge", "description": "An in-space trajectory between two nodes using a propulsive burn sequence.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Location name", "type": "string" }, "description": { "title": "Description", "description": "Short description of this location.", "type": "string" }, "contents": { "title": "Contents", "description": "List of elements (by unique identifiers) located at this location.", "default": [], "type": "array", "items": { "$ref": "#/definitions/InstElementUUID" } }, "type": { "title": "Type", "description": "Edge type", "default": "Space Edge", "enum": [ "Space Edge" ], "type": "string" }, "origin": { "title": "Origin Node", "description": "Origin node unique identifier", "type": "string", "format": "uuid" }, "destination": { "title": "Destination Node", "description": "Destination node unique identifier", "type": "string", "format": "uuid" }, "duration": { "title": "Duration", "description": "Duration of space edge", "type": "number", "format": "time-delta" }, "burns": { "title": "Burns", "description": "List of propulsive burns required to traverse the edge", "default": [], "type": "array", "items": { "$ref": "#/definitions/Burn" } } }, "required": [ "name", "origin", "destination", "duration" ] }, "SurfaceEdge": { "title": "SurfaceEdge", "description": "Surface trajectory between two surface nodes.", "type": "object", "properties": { "id": { "title": "Id", "description": "Unique identifier", "type": "string", "format": "uuid" }, "name": { "title": "Name", "description": "Location name", "type": "string" }, "description": { "title": "Description", "description": "Short description of this location.", "type": "string" }, "contents": { "title": "Contents", "description": "List of elements (by unique identifiers) located at this location.", "default": [], "type": "array", "items": { "$ref": "#/definitions/InstElementUUID" } }, "type": { "title": "Type", "description": "Edge type", "default": "Surface Edge", "enum": [ "Surface Edge" ], "type": "string" }, "origin": { "title": "Origin Node", "description": "Origin node unique identifier", "type": "string", "format": "uuid" }, "destination": { "title": "Destination Node", "description": "Destination node unique identifier", "type": "string", "format": "uuid" }, "distance": { "title": "Distance", "description": "Distance (m) of surface trajectory", "minimum": 0, "type": "number" } }, "required": [ "name", "origin", "destination", "distance" ] } } }
- field edges: List[Union[FlightEdge, SpaceEdge, SurfaceEdge]] = []
Constituent edges
- field nodes: List[Union[LagrangeNode, OrbitalNode, SurfaceNode]] = []
Constituent nodes
Manifest
Configuration
- pydantic model spacenet.schemas.Configuration[source]
Scenario configuration settings.
Show JSON schema
{ "title": "Configuration", "description": "Scenario configuration settings.", "type": "object", "properties": { "timePrecision": { "title": "Time Precision", "description": "Minimum time duration (days) considered non-zero.", "default": 0.05, "minimum": 0, "type": "number" }, "demandPrecision": { "title": "Demand Precision", "description": "Minimum resource amount (units) considered non-zero.", "default": 0.01, "minimum": 0, "type": "number" }, "massPrecision": { "title": "Mass Precision", "description": "Minimum mass (kg) considered non-zero.", "default": 0.01, "minimum": 0, "type": "number" }, "volumePrecision": { "title": "Volume Precision", "description": "Minimum volume (m^3) considered non-zero.", "default": 1e-06, "minimum": 0, "type": "number" }, "volumeConstrained": { "title": "Volume Constrained", "description": "True, if volume constraints are enabled.", "default": false, "type": "boolean" }, "itemDiscretization": { "title": "Item Discretization", "description": "Level at which discrete resources can be aggregated.", "default": "None", "allOf": [ { "$ref": "#/definitions/ItemDiscretizationType" } ] }, "itemAggregation": { "title": "Item Aggregation", "description": "Fraction of a unit (0 to 1 inclusive) which is aggregated to a unit demand.", "default": 0.0, "minimum": 0, "maximum": 1, "type": "number" }, "environmentConstrained": { "title": "Environment Constrained", "description": "True, if environment constraints are enabled.", "default": false, "type": "boolean" }, "scavengeSpares": { "title": "Scavenge Spares", "description": "True, if spares can be scavenged from parts of decommissioned elements.", "default": false, "type": "boolean" }, "detailedEva": { "title": "Detailed EVA", "description": "True, if the simulator shall model all EVA events (e.g., egress, ingress).", "default": true, "type": "boolean" }, "detailedExploration": { "title": "Detailedexploration", "description": "True, if the simulator shall model all exploration events (e.g., EVAs).", "default": true, "type": "boolean" }, "genericPackingFactorGas": { "title": "Generic Gas Packing Factor", "description": "Mass of packing material (generic COS 5) required per kg of gases (generic COS 203)", "default": 1.0, "minimum": 0, "type": "number" }, "genericPackingFactorLiquid": { "title": "Generic Liquid Packing Factor", "description": "Mass of packing material (generic COS 5) required per kg of liquids (generic COS 201)", "default": 0.5, "minimum": 0, "type": "number" }, "genericPackingFactorPressurized": { "title": "Generic Pressurized Packing Factor", "description": "Mass of packing material (generic COS 5) required per kg pressurized resources", "default": 0.2, "minimum": 0, "type": "number" }, "genericPackingFactorUnpressurized": { "title": "Generic Unpressurized Packing Factor", "description": "Mass of packing material (generic COS 5) required per kg of unpressurized resources", "default": 0.6, "minimum": 0, "type": "number" }, "smallGasTankMass": { "title": "Small Gas Tank Mass", "description": "Mass (kg) of small gas tank resource containers", "default": 10.8, "minimum": 0, "type": "number" }, "smallGasTankVolume": { "title": "Small Gas Tank Volume", "description": "Volume (m^3) of small gas tank resource containers", "default": 0.275, "minimum": 0, "type": "number" }, "smallGasTankMaxMass": { "title": "Small Gas Tank Max Mass", "description": "Mass capacity (kg) of small gas tank resource containers", "default": 10.0, "minimum": 0, "type": "number" }, "smallGasTTankMaxVolume": { "title": "Small Gas Tank Max Volume", "description": "Volume capacity (m^3) of small gas tank resource containers", "default": 0.275, "minimum": 0, "type": "number" }, "largeGasTankMass": { "title": "Large Gas Tank Mass", "description": "Mass (kg) of large gas tank resource containers", "default": 108.0, "minimum": 0, "type": "number" }, "largeGasTankVolume": { "title": "Large Gas Tank Volume", "description": "Volume (m^3) of large gas tank resource containers", "default": 2.75, "minimum": 0, "type": "number" }, "largeGasTankMaxMass": { "title": "Large Gas Tank Max Mass", "description": "Mass capacity (kg) of large gas tank resource containers", "default": 100.0, "minimum": 0, "type": "number" }, "largeGasTankMaxVolume": { "title": "Large Gas Tank Max Volume", "description": "Volume capacity (m^3) of large gas tank resource containers", "default": 2.75, "minimum": 0, "type": "number" }, "smallLiquidTTankMass": { "title": "Small Liquid Tank Mass", "description": "Mass (kg) of small liquid tank resource containers", "default": 11.4567, "minimum": 0, "type": "number" }, "smallLiquidTankVolume": { "title": "Small Liquid Tank Volume", "description": "Volume (m^3) of small liquid tank resource containers", "default": 0.0249, "minimum": 0, "type": "number" }, "smallLiquidTankMaxMass": { "title": "Small Liquid Tank Max Mass", "description": "Mass capacity (kg) of small liquid tank resource containers", "default": 24.9333, "minimum": 0, "type": "number" }, "smallLiquidTankMaxVolume": { "title": "Small Liquid Tank Max Volume", "description": "Volume capacity (m^3) of small liquid tank resource containers", "default": 0.0249, "minimum": 0, "type": "number" }, "largeLiquidTankMass": { "title": "Large Liquid Tank Mass", "description": "Mass (kg) of large liquid tank resource containers", "default": 34.37, "minimum": 0, "type": "number" }, "largeLiquidTankVolume": { "title": "Large Liquid Tank Volume", "description": "Volume (m^3) of large liquid tank resource containers", "default": 0.0748, "minimum": 0, "type": "number" }, "largeLiquidTankMaxMass": { "title": "Large Liquid Tank Max Mass", "description": "Mass capacity (kg) of large liquid tank resource containers", "default": 74.8, "minimum": 0, "type": "number" }, "largeLiquidTankMaxVolume": { "title": "Large Liquid Tank Max Volume", "description": "Volume capacity (m^3) of large liquid tank resource containers", "default": 0.0748, "minimum": 0, "type": "number" }, "cargoTransferBagMass": { "title": "Cargo Transfer Bag Mass", "description": "Mass (kg) of cargo transfer bag resource containers", "default": 0.83, "minimum": 0, "type": "number" }, "cargoTransferBagVolume": { "title": "Cargo Transfer Bag Volume", "description": "Volume (m^3) of cargo transfer bag resource containers", "default": 0.053, "minimum": 0, "type": "number" }, "cargoTransferBagMaxMass": { "title": "Cargo Transfer Bag Max Mass", "description": "Mass capacity (kg) of cargo transfer bag resource containers", "default": 26.8, "minimum": 0, "type": "number" }, "cargoTransferBagMaxVolume": { "title": "Cargo Transfer Bag Max Volume", "description": "Volume capacity (m^3) of cargo transfer bag resource containers", "default": 0.049, "minimum": 0, "type": "number" } }, "definitions": { "ItemDiscretizationType": { "title": "ItemDiscretizationType", "description": "Enumeration of item discretization types (i.e., how discrete demands get\naggregated to unit quantities).", "enum": [ "None", "Element", "Location", "Scenario" ], "type": "string" } } }
- field cargo_transfer_bag_mass: float = 0.83 (alias 'cargoTransferBagMass')
Mass (kg) of cargo transfer bag resource containers
- Constraints
minimum = 0
- field cargo_transfer_bag_max_mass: float = 26.8 (alias 'cargoTransferBagMaxMass')
Mass capacity (kg) of cargo transfer bag resource containers
- Constraints
minimum = 0
- field cargo_transfer_bag_max_volume: float = 0.049 (alias 'cargoTransferBagMaxVolume')
Volume capacity (m^3) of cargo transfer bag resource containers
- Constraints
minimum = 0
- field cargo_transfer_bag_volume: float = 0.053 (alias 'cargoTransferBagVolume')
Volume (m^3) of cargo transfer bag resource containers
- Constraints
minimum = 0
- field demand_precision: float = 0.01 (alias 'demandPrecision')
Minimum resource amount (units) considered non-zero.
- Constraints
minimum = 0
- field detailed_eva: bool = True (alias 'detailedEva')
True, if the simulator shall model all EVA events (e.g., egress, ingress).
- field detailed_exploration: bool = True (alias 'detailedExploration')
True, if the simulator shall model all exploration events (e.g., EVAs).
- field environment_constrained: bool = False (alias 'environmentConstrained')
True, if environment constraints are enabled.
- field generic_packing_factor_gas: float = 1.0 (alias 'genericPackingFactorGas')
Mass of packing material (generic COS 5) required per kg of gases (generic COS 203)
- Constraints
minimum = 0
- field generic_packing_factor_liquid: float = 0.5 (alias 'genericPackingFactorLiquid')
Mass of packing material (generic COS 5) required per kg of liquids (generic COS 201)
- Constraints
minimum = 0
- field generic_packing_factor_pressurized: float = 0.2 (alias 'genericPackingFactorPressurized')
Mass of packing material (generic COS 5) required per kg pressurized resources
- Constraints
minimum = 0
- field generic_packing_factor_unpressurized: float = 0.6 (alias 'genericPackingFactorUnpressurized')
Mass of packing material (generic COS 5) required per kg of unpressurized resources
- Constraints
minimum = 0
- field item_aggregation: float = 0.0 (alias 'itemAggregation')
Fraction of a unit (0 to 1 inclusive) which is aggregated to a unit demand.
- Constraints
minimum = 0
maximum = 1
- field item_discretization: ItemDiscretizationType = ItemDiscretizationType.DO_NOT_DISCRETIZE (alias 'itemDiscretization')
Level at which discrete resources can be aggregated.
- field large_gas_tank_mass: float = 108.0 (alias 'largeGasTankMass')
Mass (kg) of large gas tank resource containers
- Constraints
minimum = 0
- field large_gas_tank_max_mass: float = 100.0 (alias 'largeGasTankMaxMass')
Mass capacity (kg) of large gas tank resource containers
- Constraints
minimum = 0
- field large_gas_tank_max_volume: float = 2.75 (alias 'largeGasTankMaxVolume')
Volume capacity (m^3) of large gas tank resource containers
- Constraints
minimum = 0
- field large_gas_tank_volume: float = 2.75 (alias 'largeGasTankVolume')
Volume (m^3) of large gas tank resource containers
- Constraints
minimum = 0
- field large_liquid_tank_mass: float = 34.37 (alias 'largeLiquidTankMass')
Mass (kg) of large liquid tank resource containers
- Constraints
minimum = 0
- field large_liquid_tank_max_mass: float = 74.8 (alias 'largeLiquidTankMaxMass')
Mass capacity (kg) of large liquid tank resource containers
- Constraints
minimum = 0
- field large_liquid_tank_max_volume: float = 0.0748 (alias 'largeLiquidTankMaxVolume')
Volume capacity (m^3) of large liquid tank resource containers
- Constraints
minimum = 0
- field large_liquid_tank_volume: float = 0.0748 (alias 'largeLiquidTankVolume')
Volume (m^3) of large liquid tank resource containers
- Constraints
minimum = 0
- field mass_precision: float = 0.01 (alias 'massPrecision')
Minimum mass (kg) considered non-zero.
- Constraints
minimum = 0
- field scavenge_spares: bool = False (alias 'scavengeSpares')
True, if spares can be scavenged from parts of decommissioned elements.
- field small_gas_t_tank_max_volume: float = 0.275 (alias 'smallGasTTankMaxVolume')
Volume capacity (m^3) of small gas tank resource containers
- Constraints
minimum = 0
- field small_gas_tank_mass: float = 10.8 (alias 'smallGasTankMass')
Mass (kg) of small gas tank resource containers
- Constraints
minimum = 0
- field small_gas_tank_max_mass: float = 10.0 (alias 'smallGasTankMaxMass')
Mass capacity (kg) of small gas tank resource containers
- Constraints
minimum = 0
- field small_gas_tank_volume: float = 0.275 (alias 'smallGasTankVolume')
Volume (m^3) of small gas tank resource containers
- Constraints
minimum = 0
- field small_liquid_t_tank_mass: float = 11.4567 (alias 'smallLiquidTTankMass')
Mass (kg) of small liquid tank resource containers
- Constraints
minimum = 0
- field small_liquid_tank_max_mass: float = 24.9333 (alias 'smallLiquidTankMaxMass')
Mass capacity (kg) of small liquid tank resource containers
- Constraints
minimum = 0
- field small_liquid_tank_max_volume: float = 0.0249 (alias 'smallLiquidTankMaxVolume')
Volume capacity (m^3) of small liquid tank resource containers
- Constraints
minimum = 0
- field small_liquid_tank_volume: float = 0.0249 (alias 'smallLiquidTankVolume')
Volume (m^3) of small liquid tank resource containers
- Constraints
minimum = 0
- field time_precision: float = 0.05 (alias 'timePrecision')
Minimum time duration (days) considered non-zero.
- Constraints
minimum = 0
Mission
- pydantic model spacenet.schemas.Mission[source]
A mission composes a sequence of events.
- Parameters
name (str) – mission name
start_date (datetime) – time of mission start
events ([AllEvents]) – list of events composing a mission
demand_models ([UUID]) – list of mission demand models (by unique identifier)
origin (UUID) – origin node unique identifier
destination (UUID) – destination node unique identifier
return_origin (UUID) – return origin node unique identifier (not necessary for one-way missions)
return_destination (UUID) – return destination node unique identifier (not necessary for one-way missions)
Show JSON schema
{ "title": "Mission", "description": "A mission composes a sequence of events.\n\n:param str name: mission name\n:param datetime start_date: time of mission start\n:param [AllEvents] events: list of events composing a mission\n:param [UUID] demand_models: list of mission demand models (by unique identifier)\n:param UUID origin: origin node unique identifier\n:param UUID destination: destination node unique identifier\n:param UUID return_origin: return origin node unique identifier (not necessary for one-way missions)\n:param UUID return_destination: return destination node unique identifier (not necessary for one-way missions)", "type": "object", "properties": { "name": { "title": "Name", "description": "Mission name", "type": "string" }, "startDate": { "title": "Start Date", "description": "Time of mission start", "type": "string", "format": "date-time" }, "events": { "title": "Event ID List", "description": "List of events composing a mission", "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/CreateElements" }, { "$ref": "#/definitions/MoveElements" }, { "$ref": "#/definitions/RemoveElements" }, { "$ref": "#/definitions/ReconfigureElement" }, { "$ref": "#/definitions/ReconfigureElements" }, { "$ref": "#/definitions/AddResources" }, { "$ref": "#/definitions/ConsumeResources" }, { "$ref": "#/definitions/TransferResources" }, { "$ref": "#/definitions/PropulsiveBurn" }, { "$ref": "#/definitions/CrewedEVA" }, { "$ref": "#/definitions/CrewedExploration" }, { "$ref": "#/definitions/SurfaceTransport" }, { "$ref": "#/definitions/FlightTransport" }, { "$ref": "#/definitions/SpaceTransport" } ] } }, "demandModels": { "title": "Demand Models List", "description": "List of mission demand models (by unique identifier)", "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/InstTimedImpulseDemandModel" }, { "$ref": "#/definitions/InstRatedDemandModel" }, { "$ref": "#/definitions/InstCrewConsumablesDemandModel" } ] } }, "origin": { "title": "Origin UUID", "description": "Origin node unique identifier", "type": "string", "format": "uuid" }, "destination": { "title": "Destination UUID", "description": "Destination node unique identifier", "type": "string", "format": "uuid" }, "returnOrigin": { "title": "Return Origin UUID", "description": "Return origin node unique identifier (not necessary for one-way missions)", "type": "string", "format": "uuid" }, "returnDestination": { "title": "Return Destination ID", "description": "Return destination node unique identifier (not necessary for one-way missions)", "type": "string", "format": "uuid" } }, "required": [ "name", "startDate", "events", "demandModels", "origin", "destination" ], "definitions": { "CreateElements": { "title": "CreateElements", "description": "Event that creates instantiated elements inside a node, edge, or\ninstantiated element carrier.", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Create Elements", "enum": [ "Create Elements" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "elements": { "title": "Elements", "description": "List of instantiated elements (by unique identifier) to be created", "type": "array", "items": { "type": "string", "format": "uuid" } }, "container": { "title": "Container", "description": "Node, edge, or instantiated carrier where the elements are to be created", "type": "string", "format": "uuid" } }, "required": [ "name", "priority", "missionTime", "location", "elements", "container" ] }, "MoveElements": { "title": "MoveElements", "description": "Event that moves instantiated elements to a new node, edge, or instantiated\ncarrier.\n\n:param [UUID] elements: list of instantiated elements (by unique identifier) to be moved\n:param UUID container: unique identifier of the node, edge, or instantiated carrier where the elements are to be moved", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Move Elements", "enum": [ "Move Elements" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "elements": { "title": "Elements", "description": "List of instantiated elements (by unique identifier) to be moved", "type": "array", "items": { "type": "string", "format": "uuid" } }, "container": { "title": "Container", "description": "Unique identifier of the node, edge, or instantiated carrier where the elements are to be moved", "type": "string", "format": "uuid" } }, "required": [ "name", "priority", "missionTime", "location", "elements", "container" ] }, "RemoveElements": { "title": "RemoveElements", "description": "Event that removes instantiated elements.\n\n:param [UUID] elements: list of instantiated elements (by unique identifier) to be removed", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Remove Elements", "enum": [ "Remove Elements" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "elements": { "title": "Elements", "description": "List of instantiated elements (by unique identifier) to be removed", "type": "array", "items": { "type": "string", "format": "uuid" } } }, "required": [ "name", "priority", "missionTime", "location", "elements" ] }, "ReconfigureElement": { "title": "ReconfigureElement", "description": "Event that changes the operational state of one instantiated element.\n\n:param UUID element: unique identifier of the instantiated element to be reconfigured\n:param SafeInt state_index: index of the new operational state", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Reconfigure Element", "enum": [ "Reconfigure Element" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "element": { "title": "Element", "description": "Unique identifier of the instantiated element to be reconfigured", "type": "string", "format": "uuid" }, "stateIndex": { "title": "State Index", "description": "Index of the new operational state", "minimum": -1, "type": "integer" } }, "required": [ "name", "priority", "missionTime", "location", "element", "stateIndex" ] }, "StateType": { "title": "StateType", "description": "Enumeration of state types.", "enum": [ "Active", "Quiescent", "Dormant", "Decommissioned" ], "type": "string" }, "ReconfigureElements": { "title": "ReconfigureElements", "description": "Event that changes the operational state of multiple instantiated elements.\n\n:param [UUID] elements: list of instantiated elements (by unique identifier) to be reconfigured\n:param StateType state_type: state type to which to be reconfigured", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Reconfigure Elements", "enum": [ "Reconfigure Elements" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "elements": { "title": "Elements", "description": "List of instantiated elements (by unique identifier) to be reconfigured", "type": "array", "items": { "type": "string", "format": "uuid" } }, "stateType": { "description": "State type to which to be reconfigured", "allOf": [ { "$ref": "#/definitions/StateType" } ] } }, "required": [ "name", "priority", "missionTime", "location", "elements", "stateType" ] }, "ResourceAmount": { "title": "ResourceAmount", "description": "A specified amount of a resource.", "type": "object", "properties": { "resource": { "title": "Resource UUID", "description": "Resource unique identifier", "type": "string", "format": "uuid" }, "amount": { "title": "Amount", "description": "Fixed amount of resource (units)", "type": "number" } }, "required": [ "resource", "amount" ] }, "ClassOfSupply": { "title": "ClassOfSupply", "description": "Enumeration of the ten top-level classes of supply and sub-classes of supply.", "enum": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 101, 102, 103, 104, 105, 106, 201, 202, 203, 204, 205, 206, 301, 302, 303, 304, 305, 306, 401, 402, 403, 404, 405, 501, 502, 601, 602, 603, 701, 702, 703, 801, 802, 803, 804, 805, 806, 901, 902, 4011, 4012, 8041, 8042, 9021, 9022, 9023, 9024 ], "type": "integer" }, "Environment": { "title": "Environment", "description": "Enumeration of stowage environments.", "enum": [ "Pressurized", "Unpressurized" ], "type": "string" }, "GenericResourceAmount": { "title": "GenericResourceAmount", "description": "A specified amount of a generic resource.", "type": "object", "properties": { "classOfSupply": { "title": "Class of Suppoly", "description": "Class of supply", "allOf": [ { "$ref": "#/definitions/ClassOfSupply" } ] }, "environment": { "title": "Environment", "description": "Required stowage environment", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "amount": { "title": "Amount", "description": "Fixed amount of resource (kg)", "type": "number" } }, "required": [ "classOfSupply", "environment", "amount" ] }, "AddResources": { "title": "AddResources", "description": "Event that adds resources to an instantiated container element.", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Add Resources", "enum": [ "Add Resources" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "resources": { "title": "Produced Resources", "description": "List of resource amounts to produce", "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/ResourceAmount" }, { "$ref": "#/definitions/GenericResourceAmount" } ] } }, "container": { "title": "Container", "description": "Unique identifier of the container element", "type": "string", "format": "uuid" } }, "required": [ "name", "priority", "missionTime", "location", "resources", "container" ] }, "ConsumeResources": { "title": "ConsumeResources", "description": "Event that consumes resources.", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Consume Resources", "enum": [ "Consume Resources" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "resources": { "title": "Consumed Resources", "description": "List of resource amounts to consume", "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/ResourceAmount" }, { "$ref": "#/definitions/GenericResourceAmount" } ] } }, "source": { "title": "Source", "description": "Unique identifier of the resource-consuming element", "type": "string", "format": "uuid" } }, "required": [ "name", "priority", "missionTime", "location", "resources", "source" ] }, "TransferResources": { "title": "TransferResources", "description": "Event that transfers resources between resource container elements.", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Transfer Resources", "enum": [ "Transfer Resources" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "resources": { "title": "Transferred Resources", "description": "list of resource amounts to transfer", "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/ResourceAmount" }, { "$ref": "#/definitions/GenericResourceAmount" } ] } }, "originContainer": { "title": "Origin Container", "description": "Unique identifier of the resource-transferring origin container", "type": "string", "format": "uuid" }, "destinationContainer": { "title": "Destination Container", "description": "Unique identifier of the resource-transferring destination container", "type": "string", "format": "uuid" } }, "required": [ "name", "priority", "missionTime", "location", "resources", "originContainer", "destinationContainer" ] }, "BurnStage": { "title": "BurnStage", "description": "Enumeration of actions during a burn/stage sequence.", "enum": [ "Burn", "Stage" ] }, "BurnStageItem": { "title": "BurnStageItem", "description": "Object schema for element-specific actions during a burn/stage sequence.\n\n:param UUID element: unique identifier of the instantiated element performing the action\n:param BurnStage: action to be performed", "type": "object", "properties": { "element": { "title": "Element", "description": "Unique identifier of the instantiated element performing the action", "type": "string", "format": "uuid" }, "type": { "title": "Burn/Stage", "description": "Action to be performed", "allOf": [ { "$ref": "#/definitions/BurnStage" } ] } }, "required": [ "element", "type" ] }, "PropulsiveBurn": { "title": "PropulsiveBurn", "description": "Event that represents an impulsive propulsive maneuver composed of burn\n(fire engine) and stage (discard component) actions.\n\n:param [UUID] elements: list of instantiated elements (by unique identifier) to participate\n:param UUID burn: unique identifier of the burn to achieve\n:param [BurnStageItem] burn_stage_sequence: list of the actions to be sequenced", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Propulsive Burn", "enum": [ "Propulsive Burn" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "elements": { "title": "Elements List", "description": "List of instantiated elements (by unique identifier) to participate.", "type": "array", "items": { "type": "string", "format": "uuid" } }, "burn": { "title": "Burn", "description": "Unique identifier of the burn to achieve", "type": "string", "format": "uuid" }, "burnStageSequence": { "title": "Burn/Stage Sequence", "description": "List of the burns and stages to be performed in the event.", "type": "array", "items": { "$ref": "#/definitions/BurnStageItem" } } }, "required": [ "name", "priority", "missionTime", "location", "elements", "burn", "burnStageSequence" ] }, "ElementState": { "title": "ElementState", "description": "Specification of an element state.", "type": "object", "properties": { "element": { "title": "element", "description": "Unique identifier of element", "type": "string", "format": "uuid" }, "stateIndex": { "title": "State Index", "description": "Index of the referenced state (-1 if none)", "minimum": -1, "type": "integer" } }, "required": [ "element", "stateIndex" ] }, "CrewedEVA": { "title": "CrewedEVA", "description": "Event for a crewed extravehicular activity.", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Crewed EVA", "enum": [ "Crewed EVA" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "evaDuration": { "title": "EVA Duration", "description": "Duration of the extra-vehicular activity", "type": "number", "format": "time-delta" }, "vehicle": { "title": "Crew Vehicle", "description": "Unique identifier of the crew habitat from which crew will egress and ingress", "type": "string", "format": "uuid" }, "elementStates": { "title": "Elementstates", "description": "List of reconfiguration states for each participating element", "type": "array", "items": { "$ref": "#/definitions/ElementState" } }, "additionalDemands": { "title": "Additional Demands", "description": "List of additional resource amounts to be consumed", "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/ResourceAmount" }, { "$ref": "#/definitions/GenericResourceAmount" } ] } } }, "required": [ "name", "priority", "missionTime", "location", "evaDuration", "vehicle", "elementStates", "additionalDemands" ] }, "CrewedExploration": { "title": "CrewedExploration", "description": "Event for a crewed exploration period that consists of regularly-scheduled\nextra-vehicular activities.", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Crewed Exploration", "enum": [ "Crewed Exploration" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "evaDuration": { "title": "EVA Duration", "description": "Duration of the extra-vehicular activity", "type": "number", "format": "time-delta" }, "duration": { "title": "Duration", "description": "Duration of the exploration", "type": "number", "format": "time-delta" }, "vehicle": { "title": "Crew Vehicle", "description": "Unique identifier of the crew habitat from which crew will egress and ingress", "type": "string", "format": "uuid" }, "evaPerWeek": { "title": "EVAs per week", "description": "Number of extra-vehiclular activitys to be performed per week", "minimum": 0, "type": "integer" }, "elementStates": { "title": "Elementstates", "description": "List of reconfiguration states for each participating element", "type": "array", "items": { "$ref": "#/definitions/ElementState" } }, "additionalDemands": { "title": "Additional Demands", "description": "List of additional resource amounts to be consumed", "default": [], "type": "array", "items": { "type": "string", "format": "uuid" } } }, "required": [ "name", "priority", "missionTime", "location", "evaDuration", "duration", "vehicle", "evaPerWeek", "elementStates" ] }, "SurfaceTransport": { "title": "SurfaceTransport", "description": "Event that transports instantiated elements along a surface edge.", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Surface Transport", "enum": [ "Surface Transport" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "edge": { "title": "Edge", "description": "Edge (by unique identifier) along which this transport traverses", "type": "string", "format": "uuid" }, "vehicle": { "title": "Surface Vehicle", "description": "Surface vehicle (by unique identifier) to transport", "type": "string", "format": "uuid" }, "transportState": { "title": "Transport State Index", "description": "Index of the transport state", "minimum": -1, "type": "integer" }, "speed": { "title": "Transport Speed", "description": "Transport speed (m/s)", "exclusiveMinimum": 0, "type": "number" }, "dutyCycle": { "title": "Duty Cycle", "description": "Fraction of the time the vehicle is moving at the transport speed", "default": 1, "exclusiveMinimum": 0, "maximum": 1, "type": "number" } }, "required": [ "name", "priority", "missionTime", "location", "edge", "vehicle", "speed" ] }, "FlightTransport": { "title": "FlightTransport", "description": "Event that transports instantiated elements along a flight edge.", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Flight Transport", "enum": [ "Flight Transport" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "edge": { "title": "Edge", "description": "Edge (by unique identifier) along which this transport traverses", "type": "string", "format": "uuid" }, "elements": { "title": "List of Elements", "description": "List of instantiated elements (by unique identifier) to transport", "type": "array", "items": { "type": "string", "format": "uuid" } } }, "required": [ "name", "priority", "missionTime", "location", "edge", "elements" ] }, "BurnStageSequence": { "title": "BurnStageSequence", "description": "A sequence of burn/stage events.", "type": "object", "properties": { "burn": { "title": "Burn", "description": "UUID of burn", "type": "string", "format": "uuid" }, "actions": { "title": "Actions", "description": "List of the burns and stages to be performed in the event", "type": "array", "items": { "$ref": "#/definitions/BurnStageItem" } } }, "required": [ "burn", "actions" ] }, "SpaceTransport": { "title": "SpaceTransport", "description": "Event that transports instantiated elements along a space edge.", "type": "object", "properties": { "name": { "title": "Name", "description": "Event name", "type": "string" }, "type": { "title": "Type", "description": "Event type", "default": "Space Transport", "enum": [ "Space Transport" ], "type": "string" }, "priority": { "title": "Priority", "description": "Prioritization for coincident events", "minimum": 1, "maximum": 5, "type": "integer" }, "missionTime": { "title": "Mission Time", "description": "Event time relative to the start of the mission", "type": "number", "format": "time-delta" }, "location": { "title": "Location", "description": "Event location unique identifier", "type": "string", "format": "uuid" }, "edge": { "title": "Edge", "description": "Edge (by unique identifier) along which this transport traverses", "type": "string", "format": "uuid" }, "elements": { "title": "List of Elements", "description": "List of instantiated elements (by unique identifier) to transport", "type": "array", "items": { "type": "string", "format": "uuid" } }, "burnStageSequence": { "title": "Burn Sequence", "description": "List of burn-stage sequences to perform", "type": "array", "items": { "$ref": "#/definitions/BurnStageSequence" } } }, "required": [ "name", "priority", "missionTime", "location", "edge", "elements", "burnStageSequence" ] }, "InstTimedImpulseDemandModel": { "title": "InstTimedImpulseDemandModel", "description": "Instantiated demand model that generates an impulsive demand for resources.", "type": "object", "properties": { "name": { "title": "Name", "description": "Instantiated demand model name", "type": "string" }, "type": { "title": "Type", "description": "Demand model type", "default": "Timed Impulse", "enum": [ "Timed Impulse" ], "type": "string" }, "templateId": { "title": "Templateid", "description": "Element demand model template unique identifier", "type": "string", "format": "uuid" }, "demands": { "title": "Demands", "description": "List of resource amounts to be demanded", "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/ResourceAmount" }, { "$ref": "#/definitions/GenericResourceAmount" } ] } } }, "required": [ "name", "templateId" ] }, "ResourceAmountRate": { "title": "ResourceAmountRate", "description": "A specified amount of a resource type.", "type": "object", "properties": { "resource": { "title": "Resource UUID", "description": "Resource unique identifier", "type": "string", "format": "uuid" }, "rate": { "title": "Rate", "description": "Time-rate of resource (units/day)", "type": "number" } }, "required": [ "resource", "rate" ] }, "GenericResourceAmountRate": { "title": "GenericResourceAmountRate", "description": "A specified amount of a generic resource.", "type": "object", "properties": { "classOfSupply": { "title": "Class of Suppoly", "description": "Class of supply", "allOf": [ { "$ref": "#/definitions/ClassOfSupply" } ] }, "environment": { "title": "Environment", "description": "Required stowage environment", "allOf": [ { "$ref": "#/definitions/Environment" } ] }, "rate": { "title": "Rate", "description": "Time-rate of resource (kg/day)", "type": "number" } }, "required": [ "classOfSupply", "environment", "rate" ] }, "InstRatedDemandModel": { "title": "InstRatedDemandModel", "description": "Instantiated demand model that generates a constant time rate demand for resources.", "type": "object", "properties": { "name": { "title": "Name", "description": "Instantiated demand model name", "type": "string" }, "type": { "title": "Type", "description": "Demand model type", "default": "Rated", "enum": [ "Rated" ], "type": "string" }, "templateId": { "title": "Templateid", "description": "Element demand model template unique identifier", "type": "string", "format": "uuid" }, "demands": { "title": "Demands", "description": "List of resource amount rates to be demanded", "type": "array", "items": { "anyOf": [ { "$ref": "#/definitions/ResourceAmountRate" }, { "$ref": "#/definitions/GenericResourceAmountRate" } ] } } }, "required": [ "name", "templateId" ] }, "InstCrewConsumablesDemandModel": { "title": "InstCrewConsumablesDemandModel", "description": "Instantiated mission demand model that generates demands for crew consumables.", "type": "object", "properties": { "name": { "title": "Name", "description": "Instantiated demand model name", "type": "string" }, "type": { "title": "Type", "description": "Demand model type", "default": "Crew Consumables", "enum": [ "Crew Consumables" ], "type": "string" }, "templateId": { "title": "Templateid", "description": "Mission demand model template unique identifier", "type": "string", "format": "uuid" }, "reservesDuration": { "title": "Reserves Duration", "description": "Duration (days) of reserve resources", "minimum": 0, "type": "number" }, "waterRecoveryRate": { "title": "Water Recovery Rate", "description": "Rate (between 0 and 1) of water recovery", "minimum": 0, "maximum": 1, "type": "number" }, "clothingLifetime": { "title": "Clothing Lifetime", "description": "Duration (days) of clothing lifetime", "minimum": 0, "type": "number" }, "transitDemandsOmitted": { "title": "Transit Demand Omitted", "description": "True, if transit demands shall be omitted", "type": "boolean" }, "waterRate": { "title": "Water Rate", "description": "Rate (kg/person/day) of water (generic COS 201) demands", "type": "number" }, "evaWaterRate": { "title": "EVA Water Rate", "description": "Rate (kg/person/hour) of water (generic COS 201) demands during extra-vehicular activity", "type": "number" }, "foodSupportRate": { "title": "Food Support Rate", "description": "Rate (kg/person/day) of food support equipment (generic COS 202) demands", "type": "number" }, "ambientFoodRate": { "title": "Ambient Food Rate", "description": "Rate (kg/person/day) of ambient food (generic COS 202) demands", "type": "number" }, "rfFoodRate": { "title": "Rf Food Rate", "description": "Rate (kg/person/day) of RF food (generic COS 202) demands", "type": "number" }, "oxygenRate": { "title": "Oxygen Rate", "description": "Rate (kg/person/day) of oxygen (generic COS 203) demands", "type": "number" }, "evaOxygenRate": { "title": "EVA Oxygen Rate", "description": "Rate (kg/person/hour) of oxygen (generic COS 203) demands during extra-vehicular activity", "type": "number" }, "nitrogenRate": { "title": "Nitrogen Rate", "description": "Rate (kg/person/day) of nitrogen (generic COS 203) demands", "type": "number" }, "hygieneRate": { "title": "Hygiene Rate", "description": "Rate (kg/person/day) of hygeine (generic COS 204) demands", "type": "number" }, "hygieneKit": { "title": "Hygiene Kit", "description": "Amount (kg/person) of hygeine kit (generic COS 204) demands", "type": "number" }, "clothingRate": { "title": "Clothing Rate", "description": "Rate (kg/person/day) of clothing (generic COS 205) demands", "type": "number" }, "personalItems": { "title": "Personal Items", "description": "Amount (kg/person) of personal item (generic COS 206) demands", "type": "number" }, "officeEquipment": { "title": "Office Equipment", "description": "Amount (kg/person) of office equipment (generic COS 301) demands", "type": "number" }, "evaSuit": { "title": "EVA Suit", "description": "Amount (kg/person) of extra-vehicular activity suit (generic COS 302) demands", "type": "number" }, "evaLithiumHydroxide": { "title": "EVA Lithium Hydroxide", "description": "Rate (kg/person/hour) of lithium hydroxide (generic COS 302) demands", "type": "number" }, "healthEquipment": { "title": "Health Equipment", "description": "Amount (kg) of health equipment (generic COS 303) demands", "type": "number" }, "healthConsumables": { "title": "Health Consumables", "description": "Amount (kg/person) of health consumables (generic COS 303) demands", "type": "number" }, "safetyEquipment": { "title": "Safety Equipment", "description": "Amount (kg) of safety equipment (generic COS 304) demands", "type": "number" }, "commEquipment": { "title": "Comm Equipment", "description": "Amount (kg) of communication equipment (generic COS 305) demands", "type": "number" }, "computerEquipment": { "title": "Computer Equipment", "description": "Amount (kg/person) of computer equipment (generic COS 306) demands", "type": "number" }, "trashBagRate": { "title": "Trash Bag Rate", "description": "Rate (kg/person/day) of trash bag (generic COS 701) demands", "type": "number" }, "wasteContainmentRate": { "title": "Waste Containment Rate", "description": "Rate (kg/person/day) of waste containment (generic COS 702) demands", "type": "number" } }, "required": [ "name", "templateId" ] } } }
- field demand_models: List[Union[InstTimedImpulseDemandModel, InstRatedDemandModel, InstCrewConsumablesDemandModel]] [Required] (alias 'demandModels')
List of mission demand models (by unique identifier)
- field events: List[Union[CreateElements, MoveElements, RemoveElements, ReconfigureElement, ReconfigureElements, AddResources, ConsumeResources, TransferResources, PropulsiveBurn, CrewedEVA, CrewedExploration, SurfaceTransport, FlightTransport, SpaceTransport]] [Required]
List of events composing a mission
- field return_destination: Optional[UUID] = None (alias 'returnDestination')
Return destination node unique identifier (not necessary for one-way missions)