{
  "title": "Raised bed soil calculator",
  "human_url": "https://happytails.ai/en/calculators/raised-bed-soil-calculator/",
  "agent_url": "https://happytails.ai/agents/en/calculators/raised-bed-soil-calculator/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/calculators/raised-bed-soil-calculator.md",
  "content": "Raised bed soil calculator\nCalculate soil fill after subtracting layers and existing material, then estimate whole bags of loose soil.\nHow can we improve this tool?\nReport a problem or share an idea.\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\nHow to use Raised bed soil calculator\nEnter your measured quantities, units and assumptions.\nReview the calculated result and the stated limits.\nDownload the report or plan for your project.\nUseful next steps\nPlant spacing calculator\nCompost volume calculator\nMeasure the usable bed\nUse internal dimensions. Subtract the drainage and structural depths you actually have from every bed. Those fields describe space occupied; they do not recommend installing a particular layer.\nAllow for existing soil and settling\nEnter existing settled soil across all beds. Divide the remaining settled volume by your measured retained-volume fraction to estimate loose material, then round up to whole bags.\nSave the measurements and assumptions\nDownload CSV and a text or JSON report. The calculation runs on your device. Changing a unit keeps the number you entered, so check both before using the result.",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "Plant spacing calculator",
      "url": "https://happytails.ai/en/calculators/plant-spacing-calculator/"
    },
    {
      "name": "Compost volume calculator",
      "url": "https://happytails.ai/en/calculators/compost-volume-calculator/"
    }
  ],
  "tool": {
    "id": "raised-bed-soil-calculator",
    "category": "calculators",
    "built": true,
    "requirements": "Up to 10,000 identical beds and 1 million bags. Layers must leave positive soil depth. Existing soil cannot exceed the target; settling remains a user-supplied assumption.",
    "implementation": {
      "fields": [
        {
          "key": "length",
          "label": "Internal bed length",
          "value": 2,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any"
        },
        {
          "key": "width",
          "label": "Internal bed width",
          "value": 1,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any"
        },
        {
          "key": "height",
          "label": "Internal fill height",
          "value": 0.5,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any"
        },
        {
          "key": "drainage",
          "label": "Drainage-layer depth to subtract",
          "value": 0.1,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any"
        },
        {
          "key": "structure",
          "label": "Other structural-layer depth to subtract",
          "value": 0.05,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any"
        },
        {
          "key": "unit",
          "label": "Dimension unit",
          "value": "m",
          "type": "select",
          "values": [
            "mm",
            "cm",
            "m",
            "in",
            "ft",
            "yd"
          ]
        },
        {
          "key": "beds",
          "label": "Identical beds",
          "value": 2,
          "type": "number",
          "min": 1,
          "max": 10000,
          "step": 1
        },
        {
          "key": "existing",
          "label": "Existing settled soil across all beds",
          "value": 100,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any"
        },
        {
          "key": "volumeUnit",
          "label": "Volume unit",
          "value": "L",
          "type": "select",
          "values": [
            "L",
            "m³",
            "US gal",
            "Imp gal",
            "ft³",
            "yd³"
          ]
        },
        {
          "key": "settledFraction",
          "label": "Settled soil volume as % of loose volume",
          "value": 90,
          "type": "number",
          "min": 0,
          "max": 100,
          "step": "any"
        },
        {
          "key": "bag",
          "label": "Loose material per bag",
          "value": 40,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any"
        },
        {
          "key": "bagUnit",
          "label": "Bag volume unit",
          "value": "L",
          "type": "select",
          "values": [
            "L",
            "m³",
            "US gal",
            "Imp gal",
            "ft³",
            "yd³"
          ]
        }
      ],
      "input": false,
      "background": false,
      "live": true,
      "presentation": "metrics",
      "note": "Subtract the entered drainage and structural layers, then existing settled soil. The layer fields are quantities, not a recommendation to add those materials. Runs on your device. Changing units keeps the entered numbers.",
      "experience": {
        "automatic": true,
        "single": false,
        "inputMaxLength": 1000000,
        "inputMode": "text",
        "label": "Your text",
        "placeholder": "Type or paste your input…",
        "help": "Change the input or settings to update your result. Results update as you type. Up to 1,000,000 characters.",
        "action": null
      },
      "mode": "automatic",
      "interactive": false
    },
    "execution": "Browser interface",
    "api": null,
    "browser_agent": {
      "supported": true,
      "name": "run_current_tool",
      "discovery": "WebMCP on the human page in a supporting browser",
      "verification": "See audit/API-AUDIT.md; availability is not verification"
    }
  },
  "markdown": "# Raised bed soil calculator\n\n- Human page: https://happytails.ai/en/calculators/raised-bed-soil-calculator/\n- Markdown: https://happytails.ai/en/calculators/raised-bed-soil-calculator.md\n- Structured JSON: https://happytails.ai/agents/en/calculators/raised-bed-soil-calculator/index.json\n- Visibility: public\n\n## Tool capabilities\n\n| Property | Value |\n| --- | --- |\n| Tool ID | `raised-bed-soil-calculator` |\n| Category | calculators |\n| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |\n| Browser execution | Automatic updates after valid input or file selection. |\n| Browser processing | Browser; see tool notes for network behavior. |\n| HTTP API | Not callable through HTTP. |\n| Browser-agent interface | run_current_tool |\n\n### Implementation notes\n\nSubtract the entered drainage and structural layers, then existing settled soil. The layer fields are quantities, not a recommendation to add those materials. Runs on your device. Changing units keeps the entered numbers.\n\n### Inputs and settings\n\nNo free-text input is required. Use the file inputs and/or settings below.\n\n| Setting | Meaning | Control type | Default | Constraints |\n| --- | --- | --- | --- | --- |\n| `length` | Internal bed length | number | 2 | min=0 max=1000000000 step=any |\n| `width` | Internal bed width | number | 1 | min=0 max=1000000000 step=any |\n| `height` | Internal fill height | number | 0.5 | min=0 max=1000000000 step=any |\n| `drainage` | Drainage-layer depth to subtract | number | 0.1 | min=0 max=1000000000 step=any |\n| `structure` | Other structural-layer depth to subtract | number | 0.05 | min=0 max=1000000000 step=any |\n| `unit` | Dimension unit | select | \"m\" | Allowed: mm, cm, m, in, ft, yd |\n| `beds` | Identical beds | number | 2 | min=1 max=10000 step=1 |\n| `existing` | Existing settled soil across all beds | number | 100 | min=0 max=1000000000 step=any |\n| `volumeUnit` | Volume unit | select | \"L\" | Allowed: L, m³, US gal, Imp gal, ft³, yd³ |\n| `settledFraction` | Settled soil volume as % of loose volume | number | 90 | min=0 max=100 step=any |\n| `bag` | Loose material per bag | number | 40 | min=0 max=1000000000 step=any |\n| `bagUnit` | Bag volume unit | select | \"L\" | Allowed: L, m³, US gal, Imp gal, ft³, yd³ |\n\n### Browser-agent workflow\n\n1. Open the human page in a browser that supports WebMCP.\n2. Discover the interface exposed by that page; use its actual schema.\n3. Select files on the page first when the tool requires files.\n4. Call `run_current_tool` with valid input and settings.\n5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.\n\nCalls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.\n\n### Planning specification\n\nUp to 10,000 identical beds and 1 million bags. Layers must leave positive soil depth. Existing soil cannot exceed the target; settling remains a user-supplied assumption.\n\nThis describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.\n\n### Complete machine-readable capability record\n\n```json\n{\n  \"id\": \"raised-bed-soil-calculator\",\n  \"category\": \"calculators\",\n  \"built\": true,\n  \"requirements\": \"Up to 10,000 identical beds and 1 million bags. Layers must leave positive soil depth. Existing soil cannot exceed the target; settling remains a user-supplied assumption.\",\n  \"implementation\": {\n    \"fields\": [\n      {\n        \"key\": \"length\",\n        \"label\": \"Internal bed length\",\n        \"value\": 2,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\"\n      },\n      {\n        \"key\": \"width\",\n        \"label\": \"Internal bed width\",\n        \"value\": 1,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\"\n      },\n      {\n        \"key\": \"height\",\n        \"label\": \"Internal fill height\",\n        \"value\": 0.5,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\"\n      },\n      {\n        \"key\": \"drainage\",\n        \"label\": \"Drainage-layer depth to subtract\",\n        \"value\": 0.1,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\"\n      },\n      {\n        \"key\": \"structure\",\n        \"label\": \"Other structural-layer depth to subtract\",\n        \"value\": 0.05,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\"\n      },\n      {\n        \"key\": \"unit\",\n        \"label\": \"Dimension unit\",\n        \"value\": \"m\",\n        \"type\": \"select\",\n        \"values\": [\n          \"mm\",\n          \"cm\",\n          \"m\",\n          \"in\",\n          \"ft\",\n          \"yd\"\n        ]\n      },\n      {\n        \"key\": \"beds\",\n        \"label\": \"Identical beds\",\n        \"value\": 2,\n        \"type\": \"number\",\n        \"min\": 1,\n        \"max\": 10000,\n        \"step\": 1\n      },\n      {\n        \"key\": \"existing\",\n        \"label\": \"Existing settled soil across all beds\",\n        \"value\": 100,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\"\n      },\n      {\n        \"key\": \"volumeUnit\",\n        \"label\": \"Volume unit\",\n        \"value\": \"L\",\n        \"type\": \"select\",\n        \"values\": [\n          \"L\",\n          \"m³\",\n          \"US gal\",\n          \"Imp gal\",\n          \"ft³\",\n          \"yd³\"\n        ]\n      },\n      {\n        \"key\": \"settledFraction\",\n        \"label\": \"Settled soil volume as % of loose volume\",\n        \"value\": 90,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 100,\n        \"step\": \"any\"\n      },\n      {\n        \"key\": \"bag\",\n        \"label\": \"Loose material per bag\",\n        \"value\": 40,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\"\n      },\n      {\n        \"key\": \"bagUnit\",\n        \"label\": \"Bag volume unit\",\n        \"value\": \"L\",\n        \"type\": \"select\",\n        \"values\": [\n          \"L\",\n          \"m³\",\n          \"US gal\",\n          \"Imp gal\",\n          \"ft³\",\n          \"yd³\"\n        ]\n      }\n    ],\n    \"input\": false,\n    \"background\": false,\n    \"live\": true,\n    \"presentation\": \"metrics\",\n    \"note\": \"Subtract the entered drainage and structural layers, then existing settled soil. The layer fields are quantities, not a recommendation to add those materials. Runs on your device. Changing units keeps the entered numbers.\",\n    \"experience\": {\n      \"automatic\": true,\n      \"single\": false,\n      \"inputMaxLength\": 1000000,\n      \"inputMode\": \"text\",\n      \"label\": \"Your text\",\n      \"placeholder\": \"Type or paste your input…\",\n      \"help\": \"Change the input or settings to update your result. Results update as you type. Up to 1,000,000 characters.\",\n      \"action\": null\n    },\n    \"mode\": \"automatic\",\n    \"interactive\": false\n  },\n  \"execution\": \"Browser interface\",\n  \"api\": null,\n  \"browser_agent\": {\n    \"supported\": true,\n    \"name\": \"run_current_tool\",\n    \"discovery\": \"WebMCP on the human page in a supporting browser\",\n    \"verification\": \"See audit/API-AUDIT.md; availability is not verification\"\n  }\n}\n```\n\n## Page guide\n\nCalculate soil fill after subtracting layers and existing material, then estimate whole bags of loose soil.\n\nHow can we improve this tool?\n\nReport a problem or share an idea.\n\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\n\n### How to use Raised bed soil calculator\n\n1. Enter your measured quantities, units and assumptions.\n2. Review the calculated result and the stated limits.\n3. Download the report or plan for your project.\n\n## Useful next steps\n\n- [Plant spacing calculator](https://happytails.ai/en/calculators/plant-spacing-calculator/) ([Markdown](https://happytails.ai/en/calculators/plant-spacing-calculator.md))\n\n- [Compost volume calculator](https://happytails.ai/en/calculators/compost-volume-calculator/) ([Markdown](https://happytails.ai/en/calculators/compost-volume-calculator.md))\n\n## Measure the usable bed\n\nUse internal dimensions. Subtract the drainage and structural depths you actually have from every bed. Those fields describe space occupied; they do not recommend installing a particular layer.\n\n### Allow for existing soil and settling\n\nEnter existing settled soil across all beds. Divide the remaining settled volume by your measured retained-volume fraction to estimate loose material, then round up to whole bags.\n\n### Save the measurements and assumptions\n\nDownload CSV and a text or JSON report. The calculation runs on your device. Changing a unit keeps the number you entered, so check both before using the result.\n"
}