{
  "id": "pack-aqa-gcse-71-40",
  "title": "Hazards and ecosystems",
  "qualification": "AQA GCSE Geography",
  "qualificationId": "aqa-gcse",
  "examYear": 2027,
  "templateId": "mixed",
  "skillIds": [],
  "fieldworkModeIds": [],
  "engineOptions": {},
  "profileId": "aqa-gcse-practice",
  "minutes": 45,
  "totalMarks": 40,
  "topics": [
    "Hazards",
    "Ecosystems"
  ],
  "caseIds": [],
  "difficulty": "standard",
  "sections": [
    {
      "id": "section-1",
      "title": "Contours and relief",
      "intro": "Each line joins locations at the same height. No spot height is supplied for P.",
      "resourceType": "map",
      "skillId": "contours",
      "resource": {
        "kind": "svg",
        "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 400\" role=\"img\" aria-label=\"Fictional hill contours\"><title>Fictional hill contours</title><desc>Four contours rise from 80 m to 140 m at intervals of 20 m. P is between the two highest contours.</desc><rect width=\"640\" height=\"400\" fill=\"#fff\"/><g font-family=\"Arial, sans-serif\" font-size=\"14\" fill=\"#182c36\"><ellipse cx=\"310\" cy=\"195\" rx=\"220\" ry=\"140\" fill=\"none\" stroke=\"#896d43\" stroke-width=\"2\"/><text x=\"307\" y=\"55\" text-anchor=\"middle\">80 m</text><ellipse cx=\"310\" cy=\"195\" rx=\"175\" ry=\"111\" fill=\"none\" stroke=\"#896d43\" stroke-width=\"2\"/><text x=\"307\" y=\"84\" text-anchor=\"middle\">100 m</text><ellipse cx=\"310\" cy=\"195\" rx=\"130\" ry=\"82\" fill=\"none\" stroke=\"#896d43\" stroke-width=\"2\"/><text x=\"307\" y=\"113\" text-anchor=\"middle\">120 m</text><ellipse cx=\"310\" cy=\"195\" rx=\"85\" ry=\"53\" fill=\"none\" stroke=\"#896d43\" stroke-width=\"2\"/><text x=\"307\" y=\"142\" text-anchor=\"middle\">140 m</text><circle cx=\"415\" cy=\"195\" r=\"4\" fill=\"#176b56\"/><text x=\"426\" y=\"199\" >P</text><text x=\"80\" y=\"377\" >P lies between the third and fourth contour.</text></g></svg>",
        "caption": "Fictional hill contours. Original fictional resource; not an official map or real dataset.",
        "description": "Four contours rise from 80 m to 140 m at intervals of 20 m. P is between the two highest contours."
      },
      "questions": [
        {
          "id": "q1",
          "prompt": "What is the contour interval in metres?",
          "type": "number",
          "answer": 20,
          "tolerance": 0,
          "explanation": "Adjacent labelled contours differ by 20 m. For this 1-mark task, credit the accepted numerical answer in the requested units.",
          "unit": "m",
          "marks": 1
        },
        {
          "id": "q2",
          "prompt": "Which statement about P is supported?",
          "type": "choice",
          "answer": "Between 120 and 140 m",
          "choices": [
            "Exactly 140 m",
            "Between 120 and 140 m",
            "Above 140 m"
          ],
          "explanation": "A position between contours gives a height interval, not an exact height. For this 1-mark task, credit the keyed option.",
          "marks": 1
        }
      ]
    },
    {
      "id": "section-2",
      "title": "Scatter plots",
      "intro": "Six locations were observed once. Several unmeasured factors could influence the number of trees.",
      "resourceType": "graph",
      "skillId": "scatter-plots",
      "resource": {
        "kind": "svg",
        "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 400\" role=\"img\" aria-label=\"Fictional settlement transect\"><title>Fictional settlement transect</title><desc>1 km: 28 trees; 2 km: 24 trees; 3 km: 20 trees; 4 km: 19 trees; 5 km: 14 trees; 6 km: 13 trees</desc><rect width=\"640\" height=\"400\" fill=\"#fff\"/><g font-family=\"Arial, sans-serif\" font-size=\"14\" fill=\"#182c36\"><line x1=\"75\" y1=\"320\" x2=\"565\" y2=\"320\" stroke=\"#627581\" /><line x1=\"75\" y1=\"320\" x2=\"75\" y2=\"45\" stroke=\"#627581\" /><text x=\"63\" y=\"324\" text-anchor=\"end\">0</text><line x1=\"75\" y1=\"320\" x2=\"565\" y2=\"320\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"289\" text-anchor=\"end\">5</text><line x1=\"75\" y1=\"285\" x2=\"565\" y2=\"285\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"254\" text-anchor=\"end\">10</text><line x1=\"75\" y1=\"250\" x2=\"565\" y2=\"250\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"219\" text-anchor=\"end\">15</text><line x1=\"75\" y1=\"215\" x2=\"565\" y2=\"215\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"184\" text-anchor=\"end\">20</text><line x1=\"75\" y1=\"180\" x2=\"565\" y2=\"180\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"149\" text-anchor=\"end\">25</text><line x1=\"75\" y1=\"145\" x2=\"565\" y2=\"145\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"114\" text-anchor=\"end\">30</text><line x1=\"75\" y1=\"110\" x2=\"565\" y2=\"110\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"79\" text-anchor=\"end\">35</text><line x1=\"75\" y1=\"75\" x2=\"565\" y2=\"75\" stroke=\"#627581\" stroke-opacity=\".2\"/><circle cx=\"140\" cy=\"124\" r=\"5\" fill=\"#176b56\"/><text x=\"140\" y=\"342\" text-anchor=\"middle\">1</text><circle cx=\"205\" cy=\"152\" r=\"5\" fill=\"#176b56\"/><text x=\"205\" y=\"342\" text-anchor=\"middle\">2</text><circle cx=\"270\" cy=\"180\" r=\"5\" fill=\"#176b56\"/><text x=\"270\" y=\"342\" text-anchor=\"middle\">3</text><circle cx=\"335\" cy=\"187\" r=\"5\" fill=\"#176b56\"/><text x=\"335\" y=\"342\" text-anchor=\"middle\">4</text><circle cx=\"400\" cy=\"222\" r=\"5\" fill=\"#176b56\"/><text x=\"400\" y=\"342\" text-anchor=\"middle\">5</text><circle cx=\"465\" cy=\"229\" r=\"5\" fill=\"#176b56\"/><text x=\"465\" y=\"342\" text-anchor=\"middle\">6</text><text x=\"75\" y=\"25\" >Trees within 50 m</text><text x=\"240\" y=\"378\" >Distance from town centre (km)</text></g></svg>",
        "caption": "Fictional settlement transect. Original fictional resource; not an official map or real dataset.",
        "description": "1 km: 28 trees; 2 km: 24 trees; 3 km: 20 trees; 4 km: 19 trees; 5 km: 14 trees; 6 km: 13 trees",
        "columns": [
          "Distance (km)",
          "Trees within 50 m"
        ],
        "rows": [
          [
            1,
            28
          ],
          [
            2,
            24
          ],
          [
            3,
            20
          ],
          [
            4,
            19
          ],
          [
            5,
            14
          ],
          [
            6,
            13
          ]
        ]
      },
      "questions": [
        {
          "id": "q3",
          "prompt": "Which description best fits the pattern?",
          "type": "choice",
          "answer": "Negative association",
          "choices": [
            "Positive association",
            "Negative association",
            "Curved association",
            "No association"
          ],
          "explanation": "Tree counts generally fall as distance increases. For this 1-mark task, credit the keyed option.",
          "marks": 1
        },
        {
          "id": "q4",
          "prompt": "Which conclusion is justified?",
          "type": "choice",
          "answer": "The observations show an association, but do not establish its cause.",
          "choices": [
            "Distance itself causes every difference.",
            "The observations show an association, but do not establish its cause.",
            "The relationship applies to every town."
          ],
          "explanation": "An observational association alone cannot establish causation or universal applicability. For this 1-mark task, credit the keyed option.",
          "marks": 1
        }
      ]
    },
    {
      "id": "section-3",
      "title": "Coastal change rates",
      "intro": "Both surveys use the same defined cliff-top line and coordinate system. Movement is a net landward change over the whole period.",
      "resourceType": "table",
      "skillId": "coastal-rate",
      "resource": {
        "kind": "table",
        "columns": [
          "Record",
          "Value"
        ],
        "rows": [
          [
            "Initial survey year",
            2000
          ],
          [
            "Final survey year",
            2019
          ],
          [
            "Landward movement of the same cliff-top line (m)",
            95
          ]
        ],
        "caption": "Fictional repeated cliff-top surveys All values are synthetic.",
        "description": "Fictional repeated cliff-top surveys"
      },
      "questions": [
        {
          "id": "q5",
          "prompt": "What is the mean annual retreat rate in m/year?",
          "type": "number",
          "answer": 5,
          "tolerance": 0,
          "explanation": "95 m ÷ 19 years. For this 1-mark task, credit the accepted numerical answer in the requested units.",
          "unit": "m/year",
          "marks": 1
        },
        {
          "id": "q6",
          "prompt": "Does this average show that retreat happened evenly each year?",
          "type": "choice",
          "answer": "No; the endpoint surveys do not show the annual pattern.",
          "choices": [
            "Yes; an annual rate proves steady retreat.",
            "No; the endpoint surveys do not show the annual pattern."
          ],
          "explanation": "Storm events may concentrate change in a few years. Two endpoints establish net change, not its timing. For this 1-mark task, credit the keyed option.",
          "marks": 1
        }
      ]
    },
    {
      "id": "section-4",
      "title": "Coastal change rates",
      "intro": "Both surveys use the same defined cliff-top line and coordinate system. Movement is a net landward change over the whole period.",
      "resourceType": "table",
      "skillId": "coastal-rate",
      "resource": {
        "kind": "table",
        "columns": [
          "Record",
          "Value"
        ],
        "rows": [
          [
            "Initial survey year",
            2000
          ],
          [
            "Final survey year",
            2012
          ],
          [
            "Landward movement of the same cliff-top line (m)",
            60
          ]
        ],
        "caption": "Fictional repeated cliff-top surveys All values are synthetic.",
        "description": "Fictional repeated cliff-top surveys"
      },
      "questions": [
        {
          "id": "q7",
          "prompt": "What is the mean annual retreat rate in m/year?",
          "type": "number",
          "answer": 5,
          "tolerance": 0,
          "explanation": "60 m ÷ 12 years. For this 1-mark task, credit the accepted numerical answer in the requested units.",
          "unit": "m/year",
          "marks": 1
        },
        {
          "id": "q8",
          "prompt": "Does this average show that retreat happened evenly each year?",
          "type": "choice",
          "answer": "No; the endpoint surveys do not show the annual pattern.",
          "choices": [
            "Yes; an annual rate proves steady retreat.",
            "No; the endpoint surveys do not show the annual pattern."
          ],
          "explanation": "Storm events may concentrate change in a few years. Two endpoints establish net change, not its timing. For this 1-mark task, credit the keyed option.",
          "marks": 1
        }
      ]
    },
    {
      "id": "section-5",
      "title": "River hydrographs",
      "intro": "Blue bars show rainfall in the hour ending at each labelled time. The green line shows discharge at that time. Peak lag is the difference between the hours of maximum rainfall and maximum discharge.",
      "resourceType": "graph",
      "skillId": "river-hydrographs",
      "resource": {
        "kind": "svg",
        "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 400\" role=\"img\" aria-label=\"Fictional storm hydrograph\"><title>Fictional storm hydrograph</title><desc>Hour 0: 0 mm rainfall, 5 m³/s discharge; Hour 1: 4 mm rainfall, 5 m³/s discharge; Hour 2: 11 mm rainfall, 5 m³/s discharge; Hour 3: 6 mm rainfall, 9 m³/s discharge; Hour 4: 0 mm rainfall, 15 m³/s discharge; Hour 5: 0 mm rainfall, 21 m³/s discharge; Hour 6: 0 mm rainfall, 27 m³/s discharge; Hour 7: 0 mm rainfall, 21 m³/s discharge; Hour 8: 0 mm rainfall, 15 m³/s discharge; Hour 9: 0 mm rainfall, 9 m³/s discharge; Hour 10: 0 mm rainfall, 5 m³/s discharge; Hour 11: 0 mm rainfall, 5 m³/s discharge; Hour 12: 0 mm rainfall, 5 m³/s discharge</desc><rect width=\"640\" height=\"400\" fill=\"#fff\"/><g font-family=\"Arial, sans-serif\" font-size=\"14\" fill=\"#182c36\"><line x1=\"75\" y1=\"320\" x2=\"565\" y2=\"320\" stroke=\"#627581\" /><line x1=\"75\" y1=\"45\" x2=\"75\" y2=\"320\" stroke=\"#627581\" /><line x1=\"565\" y1=\"45\" x2=\"565\" y2=\"320\" stroke=\"#627581\" /><text x=\"64\" y=\"325\" text-anchor=\"end\">0</text><line x1=\"75\" y1=\"320\" x2=\"565\" y2=\"320\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"64\" y=\"265\" text-anchor=\"end\">10</text><line x1=\"75\" y1=\"260\" x2=\"565\" y2=\"260\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"64\" y=\"205\" text-anchor=\"end\">20</text><line x1=\"75\" y1=\"200\" x2=\"565\" y2=\"200\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"64\" y=\"145\" text-anchor=\"end\">30</text><line x1=\"75\" y1=\"140\" x2=\"565\" y2=\"140\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"64\" y=\"85\" text-anchor=\"end\">40</text><line x1=\"75\" y1=\"80\" x2=\"565\" y2=\"80\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"575\" y=\"325\" >0</text><text x=\"575\" y=\"265\" >5</text><text x=\"575\" y=\"205\" >10</text><text x=\"575\" y=\"145\" >15</text><text x=\"575\" y=\"85\" >20</text><rect x=\"86\" y=\"320\" width=\"18\" height=\"0\" fill=\"#a8cddb\" /><text x=\"95\" y=\"345\" text-anchor=\"middle\" font-size=\"12\">0</text><rect x=\"123\" y=\"272\" width=\"18\" height=\"48\" fill=\"#a8cddb\" /><text x=\"132\" y=\"345\" text-anchor=\"middle\" font-size=\"12\">1</text><rect x=\"160\" y=\"188\" width=\"18\" height=\"132\" fill=\"#a8cddb\" /><text x=\"169\" y=\"345\" text-anchor=\"middle\" font-size=\"12\">2</text><rect x=\"197\" y=\"248\" width=\"18\" height=\"72\" fill=\"#a8cddb\" /><text x=\"206\" y=\"345\" text-anchor=\"middle\" font-size=\"12\">3</text><rect x=\"234\" y=\"320\" width=\"18\" height=\"0\" fill=\"#a8cddb\" /><text x=\"243\" y=\"345\" text-anchor=\"middle\" font-size=\"12\">4</text><rect x=\"271\" y=\"320\" width=\"18\" height=\"0\" fill=\"#a8cddb\" /><text x=\"280\" y=\"345\" text-anchor=\"middle\" font-size=\"12\">5</text><rect x=\"308\" y=\"320\" width=\"18\" height=\"0\" fill=\"#a8cddb\" /><text x=\"317\" y=\"345\" text-anchor=\"middle\" font-size=\"12\">6</text><rect x=\"345\" y=\"320\" width=\"18\" height=\"0\" fill=\"#a8cddb\" /><text x=\"354\" y=\"345\" text-anchor=\"middle\" font-size=\"12\">7</text><rect x=\"382\" y=\"320\" width=\"18\" height=\"0\" fill=\"#a8cddb\" /><text x=\"391\" y=\"345\" text-anchor=\"middle\" font-size=\"12\">8</text><rect x=\"419\" y=\"320\" width=\"18\" height=\"0\" fill=\"#a8cddb\" /><text x=\"428\" y=\"345\" text-anchor=\"middle\" font-size=\"12\">9</text><rect x=\"456\" y=\"320\" width=\"18\" height=\"0\" fill=\"#a8cddb\" /><text x=\"465\" y=\"345\" text-anchor=\"middle\" font-size=\"12\">10</text><rect x=\"493\" y=\"320\" width=\"18\" height=\"0\" fill=\"#a8cddb\" /><text x=\"502\" y=\"345\" text-anchor=\"middle\" font-size=\"12\">11</text><rect x=\"530\" y=\"320\" width=\"18\" height=\"0\" fill=\"#a8cddb\" /><text x=\"539\" y=\"345\" text-anchor=\"middle\" font-size=\"12\">12</text><polyline points=\"95,290 132,290 169,290 206,266 243,230 280,194 317,158 354,194 391,230 428,266 465,290 502,290 539,290\" fill=\"none\" stroke=\"#176b56\" stroke-width=\"3\"/><text x=\"75\" y=\"25\" >Discharge (m³/s)</text><text x=\"470\" y=\"25\" >Rainfall (mm)</text><text x=\"225\" y=\"376\" >Hour since record began</text></g></svg>",
        "caption": "Fictional storm hydrograph. Original fictional resource; not an official map or real dataset.",
        "description": "Hour 0: 0 mm rainfall, 5 m³/s discharge; Hour 1: 4 mm rainfall, 5 m³/s discharge; Hour 2: 11 mm rainfall, 5 m³/s discharge; Hour 3: 6 mm rainfall, 9 m³/s discharge; Hour 4: 0 mm rainfall, 15 m³/s discharge; Hour 5: 0 mm rainfall, 21 m³/s discharge; Hour 6: 0 mm rainfall, 27 m³/s discharge; Hour 7: 0 mm rainfall, 21 m³/s discharge; Hour 8: 0 mm rainfall, 15 m³/s discharge; Hour 9: 0 mm rainfall, 9 m³/s discharge; Hour 10: 0 mm rainfall, 5 m³/s discharge; Hour 11: 0 mm rainfall, 5 m³/s discharge; Hour 12: 0 mm rainfall, 5 m³/s discharge",
        "columns": [
          "Hour",
          "Rainfall in preceding hour (mm)",
          "Discharge (m³/s)"
        ],
        "rows": [
          [
            0,
            0,
            5
          ],
          [
            1,
            4,
            5
          ],
          [
            2,
            11,
            5
          ],
          [
            3,
            6,
            9
          ],
          [
            4,
            0,
            15
          ],
          [
            5,
            0,
            21
          ],
          [
            6,
            0,
            27
          ],
          [
            7,
            0,
            21
          ],
          [
            8,
            0,
            15
          ],
          [
            9,
            0,
            9
          ],
          [
            10,
            0,
            5
          ],
          [
            11,
            0,
            5
          ],
          [
            12,
            0,
            5
          ]
        ]
      },
      "questions": [
        {
          "id": "q9",
          "prompt": "What is peak discharge in m³/s?",
          "type": "number",
          "answer": 27,
          "tolerance": 0.01,
          "explanation": "Read the maximum on the discharge line and its left axis. For this 1-mark task, credit the accepted numerical answer in the requested units.",
          "unit": "m³/s",
          "marks": 1
        },
        {
          "id": "q10",
          "prompt": "What is the peak lag time in hours?",
          "type": "number",
          "answer": 4,
          "tolerance": 0,
          "explanation": "Maximum rainfall is at hour 2; maximum discharge is at hour 6. Subtract 2. For this 1-mark task, credit the accepted numerical answer in the requested units.",
          "unit": "h",
          "marks": 1
        },
        {
          "id": "q11",
          "prompt": "What can this record establish?",
          "type": "choice",
          "answer": "The discharge peak follows the rainfall peak in this storm.",
          "choices": [
            "The discharge peak follows the rainfall peak in this storm.",
            "The same lag occurs in every storm.",
            "The lag proves that one particular soil type caused the response."
          ],
          "explanation": "Travel time and storage can delay discharge, but one record does not identify a unique mechanism or prove a universal lag. For this 1-mark task, credit the keyed option.",
          "marks": 1
        }
      ]
    },
    {
      "id": "section-6",
      "title": "Latitude and longitude",
      "intro": "Read latitude and longitude separately. Give a signed number: north and east are positive, south and west negative. The grid is for coordinates, not for measuring distances.",
      "resourceType": "map",
      "skillId": "coordinates",
      "resource": {
        "kind": "svg",
        "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 550\" role=\"img\" aria-label=\"Coordinate training grid\"><title>Coordinate training grid</title><desc>Longitude runs from -20° to 30°. Latitude runs from -30° to 20°. P is at longitude -10°, latitude -20°. Grid interval is 10°. This diagram is not a distance-preserving map projection.</desc><rect width=\"640\" height=\"550\" fill=\"#fff\"/><g font-family=\"Arial, sans-serif\" font-size=\"14\" fill=\"#182c36\"><line x1=\"90\" y1=\"45\" x2=\"90\" y2=\"445\" stroke=\"#627581\" /><text x=\"90\" y=\"468\" text-anchor=\"middle\">-20°</text><line x1=\"90\" y1=\"445\" x2=\"490\" y2=\"445\" stroke=\"#627581\" /><text x=\"75\" y=\"450\" text-anchor=\"end\">-30°</text><line x1=\"170\" y1=\"45\" x2=\"170\" y2=\"445\" stroke=\"#627581\" /><text x=\"170\" y=\"468\" text-anchor=\"middle\">-10°</text><line x1=\"90\" y1=\"365\" x2=\"490\" y2=\"365\" stroke=\"#627581\" /><text x=\"75\" y=\"370\" text-anchor=\"end\">-20°</text><line x1=\"250\" y1=\"45\" x2=\"250\" y2=\"445\" stroke=\"#627581\" /><text x=\"250\" y=\"468\" text-anchor=\"middle\">0°</text><line x1=\"90\" y1=\"285\" x2=\"490\" y2=\"285\" stroke=\"#627581\" /><text x=\"75\" y=\"290\" text-anchor=\"end\">-10°</text><line x1=\"330\" y1=\"45\" x2=\"330\" y2=\"445\" stroke=\"#627581\" /><text x=\"330\" y=\"468\" text-anchor=\"middle\">10°</text><line x1=\"90\" y1=\"205\" x2=\"490\" y2=\"205\" stroke=\"#627581\" /><text x=\"75\" y=\"210\" text-anchor=\"end\">0°</text><line x1=\"410\" y1=\"45\" x2=\"410\" y2=\"445\" stroke=\"#627581\" /><text x=\"410\" y=\"468\" text-anchor=\"middle\">20°</text><line x1=\"90\" y1=\"125\" x2=\"490\" y2=\"125\" stroke=\"#627581\" /><text x=\"75\" y=\"130\" text-anchor=\"end\">10°</text><line x1=\"490\" y1=\"45\" x2=\"490\" y2=\"445\" stroke=\"#627581\" /><text x=\"490\" y=\"468\" text-anchor=\"middle\">30°</text><line x1=\"90\" y1=\"45\" x2=\"490\" y2=\"45\" stroke=\"#627581\" /><text x=\"75\" y=\"50\" text-anchor=\"end\">20°</text><circle cx=\"170\" cy=\"365\" r=\"6\" fill=\"#176b56\"/><text x=\"182\" y=\"355\" >P</text><text x=\"90\" y=\"501\" >Longitude: west is negative; east is positive</text><text x=\"90\" y=\"525\" >Latitude: south is negative; north is positive</text></g></svg>",
        "caption": "Coordinate training grid. Original fictional resource; not an official map or real dataset.",
        "description": "Longitude runs from -20° to 30°. Latitude runs from -30° to 20°. P is at longitude -10°, latitude -20°. Grid interval is 10°. This diagram is not a distance-preserving map projection.",
        "columns": [
          "Point",
          "Latitude (signed degrees)",
          "Longitude (signed degrees)"
        ],
        "rows": [
          [
            "P",
            -20,
            -10
          ]
        ]
      },
      "questions": [
        {
          "id": "q12",
          "prompt": "What is P’s latitude in degrees?",
          "type": "number",
          "answer": -20,
          "tolerance": 0,
          "explanation": "Use the horizontal latitude line through P; preserve its sign. For this 1-mark task, credit the accepted numerical answer in the requested units.",
          "unit": "°",
          "marks": 1
        },
        {
          "id": "q13",
          "prompt": "What is P’s longitude in degrees?",
          "type": "number",
          "answer": -10,
          "tolerance": 0,
          "explanation": "Use the vertical longitude line through P; preserve its sign. For this 1-mark task, credit the accepted numerical answer in the requested units.",
          "unit": "°",
          "marks": 1
        },
        {
          "id": "q14",
          "prompt": "Where does P lie?",
          "type": "choice",
          "answer": "Southern hemisphere",
          "choices": [
            "Northern hemisphere",
            "Southern hemisphere",
            "On the equator"
          ],
          "explanation": "A latitude of zero is the equator. A positive latitude is north; a negative latitude is south. For this 1-mark task, credit the keyed option.",
          "marks": 1
        }
      ]
    },
    {
      "id": "section-7",
      "title": "Scatter plots",
      "intro": "Six locations were observed once. Several unmeasured factors could influence the number of trees.",
      "resourceType": "graph",
      "skillId": "scatter-plots",
      "resource": {
        "kind": "svg",
        "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 400\" role=\"img\" aria-label=\"Fictional settlement transect\"><title>Fictional settlement transect</title><desc>1 km: 27 trees; 2 km: 14 trees; 3 km: 5 trees; 4 km: 5 trees; 5 km: 14 trees; 6 km: 27 trees</desc><rect width=\"640\" height=\"400\" fill=\"#fff\"/><g font-family=\"Arial, sans-serif\" font-size=\"14\" fill=\"#182c36\"><line x1=\"75\" y1=\"320\" x2=\"565\" y2=\"320\" stroke=\"#627581\" /><line x1=\"75\" y1=\"320\" x2=\"75\" y2=\"45\" stroke=\"#627581\" /><text x=\"63\" y=\"324\" text-anchor=\"end\">0</text><line x1=\"75\" y1=\"320\" x2=\"565\" y2=\"320\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"289\" text-anchor=\"end\">5</text><line x1=\"75\" y1=\"285\" x2=\"565\" y2=\"285\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"254\" text-anchor=\"end\">10</text><line x1=\"75\" y1=\"250\" x2=\"565\" y2=\"250\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"219\" text-anchor=\"end\">15</text><line x1=\"75\" y1=\"215\" x2=\"565\" y2=\"215\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"184\" text-anchor=\"end\">20</text><line x1=\"75\" y1=\"180\" x2=\"565\" y2=\"180\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"149\" text-anchor=\"end\">25</text><line x1=\"75\" y1=\"145\" x2=\"565\" y2=\"145\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"114\" text-anchor=\"end\">30</text><line x1=\"75\" y1=\"110\" x2=\"565\" y2=\"110\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"79\" text-anchor=\"end\">35</text><line x1=\"75\" y1=\"75\" x2=\"565\" y2=\"75\" stroke=\"#627581\" stroke-opacity=\".2\"/><circle cx=\"140\" cy=\"131\" r=\"5\" fill=\"#176b56\"/><text x=\"140\" y=\"342\" text-anchor=\"middle\">1</text><circle cx=\"205\" cy=\"222\" r=\"5\" fill=\"#176b56\"/><text x=\"205\" y=\"342\" text-anchor=\"middle\">2</text><circle cx=\"270\" cy=\"285\" r=\"5\" fill=\"#176b56\"/><text x=\"270\" y=\"342\" text-anchor=\"middle\">3</text><circle cx=\"335\" cy=\"285\" r=\"5\" fill=\"#176b56\"/><text x=\"335\" y=\"342\" text-anchor=\"middle\">4</text><circle cx=\"400\" cy=\"222\" r=\"5\" fill=\"#176b56\"/><text x=\"400\" y=\"342\" text-anchor=\"middle\">5</text><circle cx=\"465\" cy=\"131\" r=\"5\" fill=\"#176b56\"/><text x=\"465\" y=\"342\" text-anchor=\"middle\">6</text><text x=\"75\" y=\"25\" >Trees within 50 m</text><text x=\"240\" y=\"378\" >Distance from town centre (km)</text></g></svg>",
        "caption": "Fictional settlement transect. Original fictional resource; not an official map or real dataset.",
        "description": "1 km: 27 trees; 2 km: 14 trees; 3 km: 5 trees; 4 km: 5 trees; 5 km: 14 trees; 6 km: 27 trees",
        "columns": [
          "Distance (km)",
          "Trees within 50 m"
        ],
        "rows": [
          [
            1,
            27
          ],
          [
            2,
            14
          ],
          [
            3,
            5
          ],
          [
            4,
            5
          ],
          [
            5,
            14
          ],
          [
            6,
            27
          ]
        ]
      },
      "questions": [
        {
          "id": "q15",
          "prompt": "Which description best fits the pattern?",
          "type": "choice",
          "answer": "Curved association",
          "choices": [
            "Positive association",
            "Negative association",
            "Curved association",
            "No association"
          ],
          "explanation": "Tree counts fall and then rise. A curved relationship can exist even when a straight-line correlation is zero. For this 1-mark task, credit the keyed option.",
          "marks": 1
        },
        {
          "id": "q16",
          "prompt": "Which conclusion is justified?",
          "type": "choice",
          "answer": "The observations show an association, but do not establish its cause.",
          "choices": [
            "Distance itself causes every difference.",
            "The observations show an association, but do not establish its cause.",
            "The relationship applies to every town."
          ],
          "explanation": "An observational association alone cannot establish causation or universal applicability. For this 1-mark task, credit the keyed option.",
          "marks": 1
        }
      ]
    },
    {
      "id": "section-8",
      "title": "Scatter plots",
      "intro": "Six locations were observed once. Several unmeasured factors could influence the number of trees.",
      "resourceType": "graph",
      "skillId": "scatter-plots",
      "resource": {
        "kind": "svg",
        "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 400\" role=\"img\" aria-label=\"Fictional settlement transect\"><title>Fictional settlement transect</title><desc>1 km: 25 trees; 2 km: 13 trees; 3 km: 5 trees; 4 km: 5 trees; 5 km: 13 trees; 6 km: 25 trees</desc><rect width=\"640\" height=\"400\" fill=\"#fff\"/><g font-family=\"Arial, sans-serif\" font-size=\"14\" fill=\"#182c36\"><line x1=\"75\" y1=\"320\" x2=\"565\" y2=\"320\" stroke=\"#627581\" /><line x1=\"75\" y1=\"320\" x2=\"75\" y2=\"45\" stroke=\"#627581\" /><text x=\"63\" y=\"324\" text-anchor=\"end\">0</text><line x1=\"75\" y1=\"320\" x2=\"565\" y2=\"320\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"289\" text-anchor=\"end\">5</text><line x1=\"75\" y1=\"285\" x2=\"565\" y2=\"285\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"254\" text-anchor=\"end\">10</text><line x1=\"75\" y1=\"250\" x2=\"565\" y2=\"250\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"219\" text-anchor=\"end\">15</text><line x1=\"75\" y1=\"215\" x2=\"565\" y2=\"215\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"184\" text-anchor=\"end\">20</text><line x1=\"75\" y1=\"180\" x2=\"565\" y2=\"180\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"149\" text-anchor=\"end\">25</text><line x1=\"75\" y1=\"145\" x2=\"565\" y2=\"145\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"114\" text-anchor=\"end\">30</text><line x1=\"75\" y1=\"110\" x2=\"565\" y2=\"110\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"79\" text-anchor=\"end\">35</text><line x1=\"75\" y1=\"75\" x2=\"565\" y2=\"75\" stroke=\"#627581\" stroke-opacity=\".2\"/><circle cx=\"140\" cy=\"145\" r=\"5\" fill=\"#176b56\"/><text x=\"140\" y=\"342\" text-anchor=\"middle\">1</text><circle cx=\"205\" cy=\"229\" r=\"5\" fill=\"#176b56\"/><text x=\"205\" y=\"342\" text-anchor=\"middle\">2</text><circle cx=\"270\" cy=\"285\" r=\"5\" fill=\"#176b56\"/><text x=\"270\" y=\"342\" text-anchor=\"middle\">3</text><circle cx=\"335\" cy=\"285\" r=\"5\" fill=\"#176b56\"/><text x=\"335\" y=\"342\" text-anchor=\"middle\">4</text><circle cx=\"400\" cy=\"229\" r=\"5\" fill=\"#176b56\"/><text x=\"400\" y=\"342\" text-anchor=\"middle\">5</text><circle cx=\"465\" cy=\"145\" r=\"5\" fill=\"#176b56\"/><text x=\"465\" y=\"342\" text-anchor=\"middle\">6</text><text x=\"75\" y=\"25\" >Trees within 50 m</text><text x=\"240\" y=\"378\" >Distance from town centre (km)</text></g></svg>",
        "caption": "Fictional settlement transect. Original fictional resource; not an official map or real dataset.",
        "description": "1 km: 25 trees; 2 km: 13 trees; 3 km: 5 trees; 4 km: 5 trees; 5 km: 13 trees; 6 km: 25 trees",
        "columns": [
          "Distance (km)",
          "Trees within 50 m"
        ],
        "rows": [
          [
            1,
            25
          ],
          [
            2,
            13
          ],
          [
            3,
            5
          ],
          [
            4,
            5
          ],
          [
            5,
            13
          ],
          [
            6,
            25
          ]
        ]
      },
      "questions": [
        {
          "id": "q17",
          "prompt": "Which description best fits the pattern?",
          "type": "choice",
          "answer": "Curved association",
          "choices": [
            "Positive association",
            "Negative association",
            "Curved association",
            "No association"
          ],
          "explanation": "Tree counts fall and then rise. A curved relationship can exist even when a straight-line correlation is zero. For this 1-mark task, credit the keyed option.",
          "marks": 1
        },
        {
          "id": "q18",
          "prompt": "Which conclusion is justified?",
          "type": "choice",
          "answer": "The observations show an association, but do not establish its cause.",
          "choices": [
            "Distance itself causes every difference.",
            "The observations show an association, but do not establish its cause.",
            "The relationship applies to every town."
          ],
          "explanation": "An observational association alone cannot establish causation or universal applicability. For this 1-mark task, credit the keyed option.",
          "marks": 1
        }
      ]
    },
    {
      "id": "section-9",
      "title": "Scatter plots",
      "intro": "Six locations were observed once. Several unmeasured factors could influence the number of trees.",
      "resourceType": "graph",
      "skillId": "scatter-plots",
      "resource": {
        "kind": "svg",
        "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 400\" role=\"img\" aria-label=\"Fictional settlement transect\"><title>Fictional settlement transect</title><desc>1 km: 11 trees; 2 km: 13 trees; 3 km: 18 trees; 4 km: 21 trees; 5 km: 22 trees; 6 km: 25 trees</desc><rect width=\"640\" height=\"400\" fill=\"#fff\"/><g font-family=\"Arial, sans-serif\" font-size=\"14\" fill=\"#182c36\"><line x1=\"75\" y1=\"320\" x2=\"565\" y2=\"320\" stroke=\"#627581\" /><line x1=\"75\" y1=\"320\" x2=\"75\" y2=\"45\" stroke=\"#627581\" /><text x=\"63\" y=\"324\" text-anchor=\"end\">0</text><line x1=\"75\" y1=\"320\" x2=\"565\" y2=\"320\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"289\" text-anchor=\"end\">5</text><line x1=\"75\" y1=\"285\" x2=\"565\" y2=\"285\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"254\" text-anchor=\"end\">10</text><line x1=\"75\" y1=\"250\" x2=\"565\" y2=\"250\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"219\" text-anchor=\"end\">15</text><line x1=\"75\" y1=\"215\" x2=\"565\" y2=\"215\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"184\" text-anchor=\"end\">20</text><line x1=\"75\" y1=\"180\" x2=\"565\" y2=\"180\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"149\" text-anchor=\"end\">25</text><line x1=\"75\" y1=\"145\" x2=\"565\" y2=\"145\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"114\" text-anchor=\"end\">30</text><line x1=\"75\" y1=\"110\" x2=\"565\" y2=\"110\" stroke=\"#627581\" stroke-opacity=\".2\"/><text x=\"63\" y=\"79\" text-anchor=\"end\">35</text><line x1=\"75\" y1=\"75\" x2=\"565\" y2=\"75\" stroke=\"#627581\" stroke-opacity=\".2\"/><circle cx=\"140\" cy=\"243\" r=\"5\" fill=\"#176b56\"/><text x=\"140\" y=\"342\" text-anchor=\"middle\">1</text><circle cx=\"205\" cy=\"229\" r=\"5\" fill=\"#176b56\"/><text x=\"205\" y=\"342\" text-anchor=\"middle\">2</text><circle cx=\"270\" cy=\"194\" r=\"5\" fill=\"#176b56\"/><text x=\"270\" y=\"342\" text-anchor=\"middle\">3</text><circle cx=\"335\" cy=\"173\" r=\"5\" fill=\"#176b56\"/><text x=\"335\" y=\"342\" text-anchor=\"middle\">4</text><circle cx=\"400\" cy=\"166\" r=\"5\" fill=\"#176b56\"/><text x=\"400\" y=\"342\" text-anchor=\"middle\">5</text><circle cx=\"465\" cy=\"145\" r=\"5\" fill=\"#176b56\"/><text x=\"465\" y=\"342\" text-anchor=\"middle\">6</text><text x=\"75\" y=\"25\" >Trees within 50 m</text><text x=\"240\" y=\"378\" >Distance from town centre (km)</text></g></svg>",
        "caption": "Fictional settlement transect. Original fictional resource; not an official map or real dataset.",
        "description": "1 km: 11 trees; 2 km: 13 trees; 3 km: 18 trees; 4 km: 21 trees; 5 km: 22 trees; 6 km: 25 trees",
        "columns": [
          "Distance (km)",
          "Trees within 50 m"
        ],
        "rows": [
          [
            1,
            11
          ],
          [
            2,
            13
          ],
          [
            3,
            18
          ],
          [
            4,
            21
          ],
          [
            5,
            22
          ],
          [
            6,
            25
          ]
        ]
      },
      "questions": [
        {
          "id": "q19",
          "prompt": "Which description best fits the pattern?",
          "type": "choice",
          "answer": "Positive association",
          "choices": [
            "Positive association",
            "Negative association",
            "Curved association",
            "No association"
          ],
          "explanation": "Tree counts generally rise as distance increases. For this 1-mark task, credit the keyed option.",
          "marks": 1
        },
        {
          "id": "q20",
          "prompt": "Which conclusion is justified?",
          "type": "choice",
          "answer": "The observations show an association, but do not establish its cause.",
          "choices": [
            "Distance itself causes every difference.",
            "The observations show an association, but do not establish its cause.",
            "The relationship applies to every town."
          ],
          "explanation": "An observational association alone cannot establish causation or universal applicability. For this 1-mark task, credit the keyed option.",
          "marks": 1
        }
      ]
    },
    {
      "id": "section-10",
      "title": "Climate graphs",
      "intro": "Use the accompanying exact monthly values for calculations. Both axes begin at zero.",
      "resourceType": "graph",
      "skillId": "climate-graphs",
      "resource": {
        "kind": "svg",
        "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 400\" role=\"img\" aria-label=\"Monthly climate graph\"><title>Monthly climate graph</title><desc>Jan: 107 mm, 3°C; Feb: 79 mm, 4°C; Mar: 111 mm, 7°C; Apr: 99 mm, 10°C; May: 102 mm, 14°C; Jun: 23 mm, 17°C; Jul: 39 mm, 19°C; Aug: 19 mm, 18°C; Sep: 32 mm, 15°C; Oct: 108 mm, 11°C; Nov: 115 mm, 7°C; Dec: 114 mm, 4°C</desc><rect width=\"640\" height=\"400\" fill=\"#fff\"/><g font-family=\"Arial, sans-serif\" font-size=\"14\" fill=\"#182c36\"><line x1=\"65\" y1=\"325\" x2=\"565\" y2=\"325\" stroke=\"#627581\" /><line x1=\"65\" y1=\"45\" x2=\"65\" y2=\"325\" stroke=\"#627581\" /><line x1=\"565\" y1=\"45\" x2=\"565\" y2=\"325\" stroke=\"#627581\" /><line x1=\"65\" y1=\"325\" x2=\"565\" y2=\"325\" stroke=\"#627581\" stroke-opacity=\".25\"/><text x=\"55\" y=\"330\" text-anchor=\"end\">0</text><line x1=\"65\" y1=\"271\" x2=\"565\" y2=\"271\" stroke=\"#627581\" stroke-opacity=\".25\"/><text x=\"55\" y=\"276\" text-anchor=\"end\">30</text><line x1=\"65\" y1=\"217\" x2=\"565\" y2=\"217\" stroke=\"#627581\" stroke-opacity=\".25\"/><text x=\"55\" y=\"222\" text-anchor=\"end\">60</text><line x1=\"65\" y1=\"163\" x2=\"565\" y2=\"163\" stroke=\"#627581\" stroke-opacity=\".25\"/><text x=\"55\" y=\"168\" text-anchor=\"end\">90</text><line x1=\"65\" y1=\"109\" x2=\"565\" y2=\"109\" stroke=\"#627581\" stroke-opacity=\".25\"/><text x=\"55\" y=\"114\" text-anchor=\"end\">120</text><line x1=\"65\" y1=\"55\" x2=\"565\" y2=\"55\" stroke=\"#627581\" stroke-opacity=\".25\"/><text x=\"55\" y=\"60\" text-anchor=\"end\">150</text><text x=\"573\" y=\"330\" >0</text><text x=\"573\" y=\"240\" >10</text><text x=\"573\" y=\"150\" >20</text><text x=\"573\" y=\"60\" >30</text><rect x=\"75\" y=\"132.4\" width=\"20\" height=\"192.6\" fill=\"#a8cddb\" /><text x=\"85\" y=\"348\" text-anchor=\"middle\" font-size=\"12\">Jan</text><rect x=\"115\" y=\"182.79999999999998\" width=\"20\" height=\"142.20000000000002\" fill=\"#a8cddb\" /><text x=\"125\" y=\"348\" text-anchor=\"middle\" font-size=\"12\">Feb</text><rect x=\"155\" y=\"125.19999999999999\" width=\"20\" height=\"199.8\" fill=\"#a8cddb\" /><text x=\"165\" y=\"348\" text-anchor=\"middle\" font-size=\"12\">Mar</text><rect x=\"195\" y=\"146.79999999999998\" width=\"20\" height=\"178.20000000000002\" fill=\"#a8cddb\" /><text x=\"205\" y=\"348\" text-anchor=\"middle\" font-size=\"12\">Apr</text><rect x=\"235\" y=\"141.4\" width=\"20\" height=\"183.6\" fill=\"#a8cddb\" /><text x=\"245\" y=\"348\" text-anchor=\"middle\" font-size=\"12\">May</text><rect x=\"275\" y=\"283.6\" width=\"20\" height=\"41.4\" fill=\"#a8cddb\" /><text x=\"285\" y=\"348\" text-anchor=\"middle\" font-size=\"12\">Jun</text><rect x=\"315\" y=\"254.8\" width=\"20\" height=\"70.2\" fill=\"#a8cddb\" /><text x=\"325\" y=\"348\" text-anchor=\"middle\" font-size=\"12\">Jul</text><rect x=\"355\" y=\"290.8\" width=\"20\" height=\"34.2\" fill=\"#a8cddb\" /><text x=\"365\" y=\"348\" text-anchor=\"middle\" font-size=\"12\">Aug</text><rect x=\"395\" y=\"267.4\" width=\"20\" height=\"57.6\" fill=\"#a8cddb\" /><text x=\"405\" y=\"348\" text-anchor=\"middle\" font-size=\"12\">Sep</text><rect x=\"435\" y=\"130.6\" width=\"20\" height=\"194.4\" fill=\"#a8cddb\" /><text x=\"445\" y=\"348\" text-anchor=\"middle\" font-size=\"12\">Oct</text><rect x=\"475\" y=\"118\" width=\"20\" height=\"207\" fill=\"#a8cddb\" /><text x=\"485\" y=\"348\" text-anchor=\"middle\" font-size=\"12\">Nov</text><rect x=\"515\" y=\"119.79999999999998\" width=\"20\" height=\"205.20000000000002\" fill=\"#a8cddb\" /><text x=\"525\" y=\"348\" text-anchor=\"middle\" font-size=\"12\">Dec</text><polyline points=\"85,298 125,289 165,262 205,235 245,199 285,172 325,154 365,163 405,190 445,226 485,262 525,289\" fill=\"none\" stroke=\"#a94128\" stroke-width=\"3\"/><text x=\"65\" y=\"25\" >Rainfall (mm)</text><text x=\"490\" y=\"25\" >Temperature (°C)</text><text x=\"65\" y=\"385\" >Blue bars: rainfall. Brown line: temperature.</text></g></svg>",
        "caption": "Monthly climate graph. Original fictional resource; not an official map or real dataset.",
        "description": "Jan: 107 mm, 3°C; Feb: 79 mm, 4°C; Mar: 111 mm, 7°C; Apr: 99 mm, 10°C; May: 102 mm, 14°C; Jun: 23 mm, 17°C; Jul: 39 mm, 19°C; Aug: 19 mm, 18°C; Sep: 32 mm, 15°C; Oct: 108 mm, 11°C; Nov: 115 mm, 7°C; Dec: 114 mm, 4°C",
        "columns": [
          "Month",
          "Rainfall (mm)",
          "Temperature (°C)"
        ],
        "rows": [
          [
            "Jan",
            107,
            3
          ],
          [
            "Feb",
            79,
            4
          ],
          [
            "Mar",
            111,
            7
          ],
          [
            "Apr",
            99,
            10
          ],
          [
            "May",
            102,
            14
          ],
          [
            "Jun",
            23,
            17
          ],
          [
            "Jul",
            39,
            19
          ],
          [
            "Aug",
            19,
            18
          ],
          [
            "Sep",
            32,
            15
          ],
          [
            "Oct",
            108,
            11
          ],
          [
            "Nov",
            115,
            7
          ],
          [
            "Dec",
            114,
            4
          ]
        ]
      },
      "questions": [
        {
          "id": "q21",
          "prompt": "What is the total annual rainfall in mm?",
          "type": "number",
          "answer": 948,
          "tolerance": 0,
          "explanation": "Add the rainfall for all twelve months. For this 1-mark task, credit the accepted numerical answer in the requested units.",
          "unit": "mm",
          "marks": 1
        },
        {
          "id": "q22",
          "prompt": "What is the annual temperature range in °C?",
          "type": "number",
          "answer": 16,
          "tolerance": 0,
          "explanation": "Subtract the lowest monthly temperature from the highest. For this 1-mark task, credit the accepted numerical answer in the requested units.",
          "unit": "°C",
          "marks": 1
        },
        {
          "id": "q23",
          "prompt": "In which month is the highest mean temperature?",
          "type": "choice",
          "answer": "Jul",
          "choices": [
            "Jan",
            "Apr",
            "Jul",
            "Oct"
          ],
          "explanation": "Identify the highest point on the temperature line. For this 1-mark task, credit the keyed option.",
          "marks": 1
        }
      ]
    },
    {
      "id": "section-11",
      "title": "Calculate river discharge",
      "intro": "Fictional training exercise. A team measures a permitted shallow reach from a safe platform. The section is simplified as a rectangle.",
      "environment": "Rivers",
      "activityId": "river-discharge",
      "resourceType": "table",
      "resource": {
        "columns": [
          "Measurement",
          "Value"
        ],
        "rows": [
          [
            "Width (m)",
            4
          ],
          [
            "Mean depth (m)",
            0.3
          ],
          [
            "Mean velocity (m/s)",
            0.5
          ]
        ],
        "caption": "Fictional training data created by GeographyHelp"
      },
      "questions": [
        {
          "id": "q24",
          "prompt": "Calculate cross-sectional area in square metres.",
          "type": "number",
          "answer": 1.2,
          "tolerance": 0.01,
          "explanation": "Width × mean depth = 4 × 0.3 = 1.2 m². For this 1-mark task, credit the accepted numerical answer in the requested units.",
          "unit": "m²",
          "marks": 1
        },
        {
          "id": "q25",
          "prompt": "Calculate discharge in cubic metres per second.",
          "type": "number",
          "answer": 0.6,
          "tolerance": 0.01,
          "explanation": "Discharge = cross-sectional area × mean velocity = 1.2 × 0.5 = 0.6 m³/s. For this 1-mark task, credit the accepted numerical answer in the requested units.",
          "unit": "m³/s",
          "marks": 1
        },
        {
          "id": "q26",
          "prompt": "Explain a limitation of estimating the section as a rectangle.",
          "type": "text",
          "answer": "Depth varies across the channel. Several depth measurements and a more realistic cross-section could improve the area estimate. A surface float also may not represent mean velocity through the water column.",
          "explanation": "Depth varies across the channel. Several depth measurements and a more realistic cross-section could improve the area estimate. A surface float also may not represent mean velocity through the water column. Original credit guidance: credit relevant explained reasoning; accept accurate alternatives.",
          "marks": 2
        }
      ]
    },
    {
      "id": "section-12",
      "title": "Sample beach material fairly",
      "intro": "Fictional training exercise. Three zones have different surface materials. The group wants to compare all zones without choosing conspicuous stones.",
      "environment": "Coasts",
      "activityId": "pebble-sampling",
      "resourceType": "table",
      "resource": {
        "columns": [
          "Zone",
          "Length of zone (m)"
        ],
        "rows": [
          [
            "Upper",
            30
          ],
          [
            "Middle",
            50
          ],
          [
            "Lower",
            20
          ]
        ],
        "caption": "Fictional training data created by GeographyHelp"
      },
      "questions": [
        {
          "id": "q27",
          "prompt": "Which design directly represents each zone?",
          "type": "choice",
          "choices": [
            "Take the largest pebbles near the access path",
            "Use random locations within each zone",
            "Only sample the middle zone"
          ],
          "answer": "Use random locations within each zone",
          "explanation": "Stratified sampling includes each zone; random locations within zones reduce convenience and selection bias. For this 1-mark task, credit the keyed option.",
          "marks": 1
        },
        {
          "id": "q28",
          "prompt": "For proportional allocation of 40 samples, how many go in the middle zone?",
          "type": "number",
          "answer": 20,
          "tolerance": 0.01,
          "explanation": "The middle zone is 50/100 of the total length: 0.5 × 40 = 20. For this 1-mark task, credit the accepted numerical answer in the requested units.",
          "marks": 1
        },
        {
          "id": "q29",
          "prompt": "How could the team make pebble size measurements comparable?",
          "type": "text",
          "answer": "Use the same axis, units and instrument throughout; record the rule for selecting the pebble at each location. Measure rather than classify by eye.",
          "explanation": "Use the same axis, units and instrument throughout; record the rule for selecting the pebble at each location. Measure rather than classify by eye. Original credit guidance: credit relevant explained reasoning; accept accurate alternatives.",
          "marks": 2
        }
      ]
    },
    {
      "id": "section-13",
      "title": "Choropleth maps",
      "intro": "The shading represents a percentage of households, not a total. Class boundaries are lower-inclusive and upper-exclusive.",
      "resourceType": "map",
      "skillId": "choropleths",
      "resource": {
        "kind": "svg",
        "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 450\" role=\"img\" aria-label=\"Fictional district flood survey\"><title>Fictional district flood survey</title><desc>A–D use these non-overlapping classes: 0 to less than 10%; 10 to less than 20%; 20 to less than 30%; 30 to less than 40%. A has 1,000 households and D has 100 households.</desc><rect width=\"640\" height=\"450\" fill=\"#fff\"/><g font-family=\"Arial, sans-serif\" font-size=\"14\" fill=\"#182c36\"><rect x=\"95\" y=\"65\" width=\"185\" height=\"105\" fill=\"#eaf1ee\" stroke=\"#fff\" stroke-width=\"3\"/><text x=\"110\" y=\"94\" >A: 6%</text><rect x=\"285\" y=\"65\" width=\"185\" height=\"105\" fill=\"#b9d6c7\" stroke=\"#fff\" stroke-width=\"3\"/><text x=\"300\" y=\"94\" >B: 11%</text><rect x=\"95\" y=\"175\" width=\"185\" height=\"105\" fill=\"#6fab90\" stroke=\"#fff\" stroke-width=\"3\"/><text x=\"110\" y=\"204\" >C: 23%</text><rect x=\"285\" y=\"175\" width=\"185\" height=\"105\" fill=\"#26634c\" stroke=\"#fff\" stroke-width=\"3\"/><text x=\"300\" y=\"204\" fill=\"#fff\">D: 37%</text><text x=\"95\" y=\"320\" >Share of households reporting flood damage</text><text x=\"95\" y=\"343\" >A: 1,000 households; D: 100 households</text><rect x=\"40\" y=\"372\" width=\"22\" height=\"18\" fill=\"#eaf1ee\" /><text x=\"72\" y=\"387\" >0 to less than 10%</text><rect x=\"325\" y=\"372\" width=\"22\" height=\"18\" fill=\"#b9d6c7\" /><text x=\"357\" y=\"387\" >10 to less than 20%</text><rect x=\"40\" y=\"405\" width=\"22\" height=\"18\" fill=\"#6fab90\" /><text x=\"72\" y=\"420\" >20 to less than 30%</text><rect x=\"325\" y=\"405\" width=\"22\" height=\"18\" fill=\"#26634c\" /><text x=\"357\" y=\"420\" >30 to less than 40%</text></g></svg>",
        "caption": "Fictional district flood survey. Original fictional resource; not an official map or real dataset.",
        "description": "A–D use these non-overlapping classes: 0 to less than 10%; 10 to less than 20%; 20 to less than 30%; 30 to less than 40%. A has 1,000 households and D has 100 households.",
        "columns": [
          "District",
          "Reported damage (%)",
          "Households"
        ],
        "rows": [
          [
            "A",
            6,
            1000
          ],
          [
            "B",
            11,
            500
          ],
          [
            "C",
            23,
            500
          ],
          [
            "D",
            37,
            100
          ]
        ]
      },
      "questions": [
        {
          "id": "q30",
          "prompt": "Which class contains district C?",
          "type": "choice",
          "answer": "20 to less than 30%",
          "choices": [
            "10 to less than 20%",
            "20 to less than 30%",
            "30 to less than 40%"
          ],
          "explanation": "23 is at least 20 and below 30. For this 1-mark task, credit the keyed option.",
          "marks": 1
        },
        {
          "id": "q31",
          "prompt": "How many households in A reported damage?",
          "type": "number",
          "answer": 60,
          "tolerance": 0,
          "explanation": "6% of 1,000 = 60. For this 1-mark task, credit the accepted numerical answer in the requested units.",
          "unit": null,
          "marks": 1
        },
        {
          "id": "q32",
          "prompt": "Does the darkest district necessarily have the most affected households?",
          "type": "choice",
          "answer": "No; the household denominators differ.",
          "choices": [
            "Yes; darkest always means the highest count.",
            "No; the household denominators differ."
          ],
          "explanation": "A high rate in a small population can represent fewer households than a lower rate in a large population. For this 1-mark task, credit the keyed option.",
          "marks": 1
        }
      ]
    },
    {
      "id": "section-14",
      "title": "Map scale and distance",
      "intro": "Use the stated printed measurement. Resizing this screen does not change the measurement in the table.",
      "resourceType": "table",
      "skillId": "scale-distance",
      "resource": {
        "kind": "table",
        "columns": [
          "Measurement",
          "Value"
        ],
        "rows": [
          [
            "Map scale",
            "1:100,000"
          ],
          [
            "Measured route on a printed map",
            "9 cm"
          ]
        ],
        "caption": "Distance along a fictional route All values are synthetic.",
        "description": "Distance along a fictional route"
      },
      "questions": [
        {
          "id": "q33",
          "prompt": "What is the ground distance in kilometres?",
          "type": "number",
          "answer": 9,
          "tolerance": 0.01,
          "explanation": "9 × 100000 cm ÷ 100,000 = 9 km. For this 1-mark task, credit the accepted numerical answer in the requested units.",
          "unit": "km",
          "marks": 1
        },
        {
          "id": "q34",
          "prompt": "How many centimetres would 2 km occupy on this printed map?",
          "type": "number",
          "answer": 2,
          "tolerance": 0.01,
          "explanation": "2 km is 200,000 cm. Divide by 100000. For this 1-mark task, credit the accepted numerical answer in the requested units.",
          "unit": "cm",
          "marks": 1
        }
      ]
    },
    {
      "id": "section-15",
      "title": "Contours and relief",
      "intro": "Each line joins locations at the same height. No spot height is supplied for P.",
      "resourceType": "map",
      "skillId": "contours",
      "resource": {
        "kind": "svg",
        "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 400\" role=\"img\" aria-label=\"Fictional hill contours\"><title>Fictional hill contours</title><desc>Four contours rise from 30 m to 60 m at intervals of 10 m. P is between the two highest contours.</desc><rect width=\"640\" height=\"400\" fill=\"#fff\"/><g font-family=\"Arial, sans-serif\" font-size=\"14\" fill=\"#182c36\"><ellipse cx=\"310\" cy=\"195\" rx=\"220\" ry=\"140\" fill=\"none\" stroke=\"#896d43\" stroke-width=\"2\"/><text x=\"307\" y=\"55\" text-anchor=\"middle\">30 m</text><ellipse cx=\"310\" cy=\"195\" rx=\"175\" ry=\"111\" fill=\"none\" stroke=\"#896d43\" stroke-width=\"2\"/><text x=\"307\" y=\"84\" text-anchor=\"middle\">40 m</text><ellipse cx=\"310\" cy=\"195\" rx=\"130\" ry=\"82\" fill=\"none\" stroke=\"#896d43\" stroke-width=\"2\"/><text x=\"307\" y=\"113\" text-anchor=\"middle\">50 m</text><ellipse cx=\"310\" cy=\"195\" rx=\"85\" ry=\"53\" fill=\"none\" stroke=\"#896d43\" stroke-width=\"2\"/><text x=\"307\" y=\"142\" text-anchor=\"middle\">60 m</text><circle cx=\"415\" cy=\"195\" r=\"4\" fill=\"#176b56\"/><text x=\"426\" y=\"199\" >P</text><text x=\"80\" y=\"377\" >P lies between the third and fourth contour.</text></g></svg>",
        "caption": "Fictional hill contours. Original fictional resource; not an official map or real dataset.",
        "description": "Four contours rise from 30 m to 60 m at intervals of 10 m. P is between the two highest contours."
      },
      "questions": [
        {
          "id": "q35",
          "prompt": "What is the contour interval in metres?",
          "type": "number",
          "answer": 10,
          "tolerance": 0,
          "explanation": "Adjacent labelled contours differ by 10 m. For this 1-mark task, credit the accepted numerical answer in the requested units.",
          "unit": "m",
          "marks": 1
        },
        {
          "id": "q36",
          "prompt": "Which statement about P is supported?",
          "type": "choice",
          "answer": "Between 50 and 60 m",
          "choices": [
            "Exactly 60 m",
            "Between 50 and 60 m",
            "Above 60 m"
          ],
          "explanation": "A position between contours gives a height interval, not an exact height. For this 1-mark task, credit the keyed option.",
          "marks": 1
        }
      ]
    },
    {
      "id": "section-16",
      "title": "Contours and relief",
      "intro": "Each line joins locations at the same height. No spot height is supplied for P.",
      "resourceType": "map",
      "skillId": "contours",
      "resource": {
        "kind": "svg",
        "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 400\" role=\"img\" aria-label=\"Fictional hill contours\"><title>Fictional hill contours</title><desc>Four contours rise from 60 m to 120 m at intervals of 20 m. P is between the two highest contours.</desc><rect width=\"640\" height=\"400\" fill=\"#fff\"/><g font-family=\"Arial, sans-serif\" font-size=\"14\" fill=\"#182c36\"><ellipse cx=\"310\" cy=\"195\" rx=\"220\" ry=\"140\" fill=\"none\" stroke=\"#896d43\" stroke-width=\"2\"/><text x=\"307\" y=\"55\" text-anchor=\"middle\">60 m</text><ellipse cx=\"310\" cy=\"195\" rx=\"175\" ry=\"111\" fill=\"none\" stroke=\"#896d43\" stroke-width=\"2\"/><text x=\"307\" y=\"84\" text-anchor=\"middle\">80 m</text><ellipse cx=\"310\" cy=\"195\" rx=\"130\" ry=\"82\" fill=\"none\" stroke=\"#896d43\" stroke-width=\"2\"/><text x=\"307\" y=\"113\" text-anchor=\"middle\">100 m</text><ellipse cx=\"310\" cy=\"195\" rx=\"85\" ry=\"53\" fill=\"none\" stroke=\"#896d43\" stroke-width=\"2\"/><text x=\"307\" y=\"142\" text-anchor=\"middle\">120 m</text><circle cx=\"415\" cy=\"195\" r=\"4\" fill=\"#176b56\"/><text x=\"426\" y=\"199\" >P</text><text x=\"80\" y=\"377\" >P lies between the third and fourth contour.</text></g></svg>",
        "caption": "Fictional hill contours. Original fictional resource; not an official map or real dataset.",
        "description": "Four contours rise from 60 m to 120 m at intervals of 20 m. P is between the two highest contours."
      },
      "questions": [
        {
          "id": "q37",
          "prompt": "What is the contour interval in metres?",
          "type": "number",
          "answer": 20,
          "tolerance": 0,
          "explanation": "Adjacent labelled contours differ by 20 m. For this 1-mark task, credit the accepted numerical answer in the requested units.",
          "unit": "m",
          "marks": 1
        },
        {
          "id": "q38",
          "prompt": "Which statement about P is supported?",
          "type": "choice",
          "answer": "Between 100 and 120 m",
          "choices": [
            "Exactly 120 m",
            "Between 100 and 120 m",
            "Above 120 m"
          ],
          "explanation": "A position between contours gives a height interval, not an exact height. For this 1-mark task, credit the keyed option.",
          "marks": 1
        }
      ]
    }
  ],
  "warnings": [
    "No extended decision task fits the selected profile, resource choice and mark budget. Original short explanation may be included; this pack does not imitate a full essay paper."
  ],
  "guidance": [
    "Use the taught landscape and resource options.",
    "Original packs are not AQA examination papers. Extended reasoning needs teacher review; separate SPaG is not generated.",
    "No extended decision task fits the selected profile, resource choice and mark budget. Original short explanation may be included; this pack does not imitate a full essay paper.",
    "All fictional resources are labelled. Deterministic answer keys cover resource questions; written guidance is indicative and accepts justified alternatives.",
    "Extension may include mathematical enrichment. A generated statistical test is not a claim that the selected qualification requires that test.",
    "Teacher review is required before use. This is not an awarding-body paper, official prediction, grade boundary tool or assessed-work assistant."
  ],
  "credits": [
    "Original fictional scenarios and fieldwork resources: GeographyHelp, 2026.",
    "Original controlled resources: GeographyHelp skills engine.",
    "Official assessment context: https://filestore.aqa.org.uk/resources/geography/specifications/AQA-8035-SP-2016.PDF"
  ],
  "version": "2026.10.07.2",
  "engineVersion": "1.2.1",
  "contentVersion": "2026-10-07.1",
  "seed": 71
}