Demand Model Instances

Defines object schemas for demand model instances.

Instantiated Crew Consumables Demand Model

pydantic model spacenet.schemas.InstCrewConsumablesDemandModel[source]

Instantiated mission demand model that generates demands for crew consumables.

Show JSON schema
{
   "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 ambient_food_rate: Optional[float] = None (alias 'ambientFoodRate')

Rate (kg/person/day) of ambient food (generic COS 202) demands

field clothing_lifetime: Optional[float] = None (alias 'clothingLifetime')

Duration (days) of clothing lifetime

Constraints
  • minimum = 0

field clothing_rate: Optional[float] = None (alias 'clothingRate')

Rate (kg/person/day) of clothing (generic COS 205) demands

field comm_equipment: Optional[float] = None (alias 'commEquipment')

Amount (kg) of communication equipment (generic COS 305) demands

field computer_equipment: Optional[float] = None (alias 'computerEquipment')

Amount (kg/person) of computer equipment (generic COS 306) demands

field eva_lithium_hydroxide: Optional[float] = None (alias 'evaLithiumHydroxide')

Rate (kg/person/hour) of lithium hydroxide (generic COS 302) demands

field eva_oxygen_rate: Optional[float] = None (alias 'evaOxygenRate')

Rate (kg/person/hour) of oxygen (generic COS 203) demands during extra-vehicular activity

field eva_suit: Optional[float] = None (alias 'evaSuit')

Amount (kg/person) of extra-vehicular activity suit (generic COS 302) demands

field eva_water_rate: Optional[float] = None (alias 'evaWaterRate')

Rate (kg/person/hour) of water (generic COS 201) demands during extra-vehicular activity

field food_support_rate: Optional[float] = None (alias 'foodSupportRate')

Rate (kg/person/day) of food support equipment (generic COS 202) demands

field health_consumables: Optional[float] = None (alias 'healthConsumables')

Amount (kg/person) of health consumables (generic COS 303) demands

field health_equipment: Optional[float] = None (alias 'healthEquipment')

Amount (kg) of health equipment (generic COS 303) demands

field hygiene_kit: Optional[float] = None (alias 'hygieneKit')

Amount (kg/person) of hygeine kit (generic COS 204) demands

field hygiene_rate: Optional[float] = None (alias 'hygieneRate')

Rate (kg/person/day) of hygeine (generic COS 204) demands

field name: str [Required]

Instantiated demand model name

field nitrogen_rate: Optional[float] = None (alias 'nitrogenRate')

Rate (kg/person/day) of nitrogen (generic COS 203) demands

field office_equipment: Optional[float] = None (alias 'officeEquipment')

Amount (kg/person) of office equipment (generic COS 301) demands

field oxygen_rate: Optional[float] = None (alias 'oxygenRate')

Rate (kg/person/day) of oxygen (generic COS 203) demands

field personal_items: Optional[float] = None (alias 'personalItems')

Amount (kg/person) of personal item (generic COS 206) demands

field reserves_duration: Optional[float] = None (alias 'reservesDuration')

Duration (days) of reserve resources

Constraints
  • minimum = 0

field rf_food_rate: Optional[float] = None (alias 'rfFoodRate')

Rate (kg/person/day) of RF food (generic COS 202) demands

field safety_equipment: Optional[float] = None (alias 'safetyEquipment')

Amount (kg) of safety equipment (generic COS 304) demands

field template_id: UUID [Required] (alias 'templateId')

Mission demand model template unique identifier

field transit_demands_omitted: Optional[bool] = None (alias 'transitDemandsOmitted')

True, if transit demands shall be omitted

field trash_bag_rate: Optional[float] = None (alias 'trashBagRate')

Rate (kg/person/day) of trash bag (generic COS 701) demands

field type: typing_extensions.Literal[Crew Consumables] = DemandModelType.CREW_CONSUMABLES

Demand model type

field waste_containment_rate: Optional[float] = None (alias 'wasteContainmentRate')

Rate (kg/person/day) of waste containment (generic COS 702) demands

field water_rate: Optional[float] = None (alias 'waterRate')

Rate (kg/person/day) of water (generic COS 201) demands

field water_recovery_rate: Optional[float] = None (alias 'waterRecoveryRate')

Rate (between 0 and 1) of water recovery

Constraints
  • minimum = 0

  • maximum = 1

Instantiated Timed Impulse Demand Model

pydantic model spacenet.schemas.InstTimedImpulseDemandModel[source]

Instantiated demand model that generates an impulsive demand for resources.

Show JSON schema
{
   "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"
   ],
   "definitions": {
      "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"
         ]
      }
   }
}

field demands: Optional[List[Union[ResourceAmount, GenericResourceAmount]]] = None

List of resource amounts to be demanded

field name: str [Required]

Instantiated demand model name

field template_id: UUID [Required] (alias 'templateId')

Element demand model template unique identifier

field type: typing_extensions.Literal[Timed Impulse] = DemandModelType.TIMED_IMPULSE

Demand model type

Instantiated Rated Demand Model

pydantic model spacenet.schemas.InstRatedDemandModel[source]

Instantiated demand model that generates a constant time rate demand for resources.

Show JSON schema
{
   "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"
   ],
   "definitions": {
      "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"
         ]
      },
      "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"
      },
      "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"
         ]
      }
   }
}

field demands: Optional[List[Union[ResourceAmountRate, GenericResourceAmountRate]]] = None

List of resource amount rates to be demanded

field name: str [Required]

Instantiated demand model name

field template_id: UUID [Required] (alias 'templateId')

Element demand model template unique identifier

field type: typing_extensions.Literal[Rated] = DemandModelType.RATED

Demand model type

Instantiated Sparing By Mass Demand Model

pydantic model spacenet.schemas.InstSparingByMassDemandModel[source]

Instantiated element demand model that generates demands for spares based on mass fraction.

Show JSON schema
{
   "title": "InstSparingByMassDemandModel",
   "description": "Instantiated element demand model that generates demands for spares based on mass fraction.",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "description": "Instantiated demand model name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "Demand model type",
         "default": "Sparing By Mass",
         "enum": [
            "Sparing By Mass"
         ],
         "type": "string"
      },
      "templateId": {
         "title": "Templateid",
         "description": "Element demand model template unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "unpressurizedSparesRate": {
         "title": "Unpressurized Spares Rate",
         "description": "Fraction of an element mass demanded per year as unpressurized spares (generic COS 4)",
         "type": "number"
      },
      "pressurizedSparesRate": {
         "title": "Pressurized Spares Rate",
         "description": "Fraction of an element mass demanded per year as pressurized spares (generic COS 4)",
         "type": "number"
      },
      "partsListEnabled": {
         "title": "Parts List Enabled",
         "description": "True, if the element part list identifies specific (non-generic) demands",
         "type": "boolean"
      }
   },
   "required": [
      "name",
      "templateId"
   ]
}

field name: str [Required]

Instantiated demand model name

field parts_list_enabled: Optional[bool] = None (alias 'partsListEnabled')

True, if the element part list identifies specific (non-generic) demands

field pressurized_spares_rate: Optional[float] = None (alias 'pressurizedSparesRate')

Fraction of an element mass demanded per year as pressurized spares (generic COS 4)

field template_id: UUID [Required] (alias 'templateId')

Element demand model template unique identifier

field type: typing_extensions.Literal[Sparing By Mass] = DemandModelType.SPARING_BY_MASS

Demand model type

field unpressurized_spares_rate: Optional[float] = None (alias 'unpressurizedSparesRate')

Fraction of an element mass demanded per year as unpressurized spares (generic COS 4)