{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.calculatorx.com/schemas/electrical.battery.runtime_temp.input.json",
  "title": "Battery runtime with temperature — input",
  "type": "object",
  "oneOf": [
    {
      "title": "watts",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "mode",
        "V",
        "P_W",
        "T_C"
      ],
      "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"
        },
        "T_C": {
          "type": "number",
          "description": "Cell/pack temperature (°C)"
        },
        "temperature_model": {
          "type": "string",
          "enum": [
            "generic_cold_derating",
            "custom_symmetric_linear"
          ],
          "description": "generic_cold_derating (default): f_T=clamp(1+k_T·min(T−25,0),0.1,1) — no high-temp capacity bonus. custom_symmetric_linear: f_T=clamp(1+k_T·(T−25),0.1,1.2)."
        },
        "k_T": {
          "type": "number",
          "minimum": 0,
          "description": "Planning temperature coefficient (/°C); default 0.006. Not manufacturer-validated. In cold-only mode this is the cold derating coefficient."
        }
      },
      "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",
        "T_C"
      ],
      "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"
        },
        "T_C": {
          "type": "number",
          "description": "Cell/pack temperature (°C)"
        },
        "temperature_model": {
          "type": "string",
          "enum": [
            "generic_cold_derating",
            "custom_symmetric_linear"
          ],
          "description": "generic_cold_derating (default): f_T=clamp(1+k_T·min(T−25,0),0.1,1) — no high-temp capacity bonus. custom_symmetric_linear: f_T=clamp(1+k_T·(T−25),0.1,1.2)."
        },
        "k_T": {
          "type": "number",
          "minimum": 0,
          "description": "Planning temperature coefficient (/°C); default 0.006. Not manufacturer-validated. In cold-only mode this is the cold derating coefficient."
        }
      },
      "allOf": [
        {
          "$ref": "https://www.calculatorx.com/schemas/common/battery-runtime-base.defs.json#/$defs/capacityXor"
        }
      ]
    }
  ],
  "description": "Composition: BatteryRuntimeBaseInput field defs ($ref) + required T_C + optional temperature_model / k_T. See https://www.calculatorx.com/schemas/common/battery-runtime-base.input.json (calculation_version 1.2.1)"
}
