{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.calculatorx.com/schemas/common/battery-runtime-base.input.json",
  "title": "BatteryRuntimeBaseInput",
  "description": "Canonical shared input contract for constant-load Battery Runtime family layers. Basic (electrical.battery_runtime) freezes this plus optional u_*/uncertainty_k|confidence. Temperature extends with T_C + temperature_model. Pack sizing is the inverse (t_h instead of capacity).",
  "type": "object",
  "oneOf": [
    {
      "title": "watts",
      "type": "object",
      "additionalProperties": false,
      "required": ["mode", "V", "P_W"],
      "properties": {
        "mode": {
          "const": "watts",
          "description": "Load entered as delivered load-side power P_W"
        },
        "capacity_Ah": {
          "$ref": "https://www.calculatorx.com/schemas/common/battery-runtime-base.defs.json#/$defs/capacity_Ah"
        },
        "capacity_mAh": {
          "$ref": "https://www.calculatorx.com/schemas/common/battery-runtime-base.defs.json#/$defs/capacity_mAh"
        },
        "V": {
          "$ref": "https://www.calculatorx.com/schemas/common/battery-runtime-base.defs.json#/$defs/V"
        },
        "P_W": {
          "$ref": "https://www.calculatorx.com/schemas/common/battery-runtime-base.defs.json#/$defs/P_W"
        },
        "dod": {
          "$ref": "https://www.calculatorx.com/schemas/common/battery-runtime-base.defs.json#/$defs/dod"
        },
        "eta": {
          "$ref": "https://www.calculatorx.com/schemas/common/battery-runtime-base.defs.json#/$defs/eta_watts"
        }
      },
      "allOf": [
        {
          "$ref": "https://www.calculatorx.com/schemas/common/battery-runtime-base.defs.json#/$defs/capacityXor"
        }
      ]
    },
    {
      "title": "amps",
      "type": "object",
      "additionalProperties": false,
      "required": ["mode", "V", "I_A"],
      "properties": {
        "mode": {
          "const": "amps",
          "description": "Load entered as battery-side discharge current I_A"
        },
        "capacity_Ah": {
          "$ref": "https://www.calculatorx.com/schemas/common/battery-runtime-base.defs.json#/$defs/capacity_Ah"
        },
        "capacity_mAh": {
          "$ref": "https://www.calculatorx.com/schemas/common/battery-runtime-base.defs.json#/$defs/capacity_mAh"
        },
        "V": {
          "$ref": "https://www.calculatorx.com/schemas/common/battery-runtime-base.defs.json#/$defs/V"
        },
        "I_A": {
          "$ref": "https://www.calculatorx.com/schemas/common/battery-runtime-base.defs.json#/$defs/I_A"
        },
        "dod": {
          "$ref": "https://www.calculatorx.com/schemas/common/battery-runtime-base.defs.json#/$defs/dod"
        },
        "eta": {
          "$ref": "https://www.calculatorx.com/schemas/common/battery-runtime-base.defs.json#/$defs/eta_amps"
        }
      },
      "allOf": [
        {
          "$ref": "https://www.calculatorx.com/schemas/common/battery-runtime-base.defs.json#/$defs/capacityXor"
        }
      ]
    }
  ]
}
