{
  "run": "scaled_latent",
  "cell_m": 4,
  "domain_origin_xy_m": [
    480,
    640
  ],
  "orientation": "row 0 = south, col 0 = west (north up when flipped for display)",
  "domain_to_region_xy_m": "region = domain - (2116, 2124)",
  "wind_step_seconds": 25.0,
  "arrays": {
    "masks/building_footprint_yx.npy": {
      "shape": [
        704,
        768
      ],
      "dtype": "bool",
      "meaning": "True = building (4-8 m layer of the conservative 4 m voxels)"
    },
    "masks/solid_4m_zyx.npy": {
      "shape": [
        16,
        704,
        768
      ],
      "dtype": "bool",
      "meaning": "True = building, 16 layers x 4 m (bottom 64 m)"
    },
    "masks/roof_height_m_yx.npy": {
      "shape": [
        704,
        768
      ],
      "dtype": "float16",
      "meaning": "max roof height per 4 m cell, metres"
    },
    "masks/vegetation_yx.npy": {
      "shape": [
        704,
        768
      ],
      "dtype": "bool",
      "meaning": "grass / tree canopy from core008.glb"
    },
    "masks/impervious_ground_yx.npy": {
      "shape": [
        704,
        768
      ],
      "dtype": "bool",
      "meaning": "asphalt / paving from core008.glb"
    },
    "wind/uvw_z8-12m_tcyx.npy": {
      "shape": [
        100,
        3,
        704,
        768
      ],
      "dtype": "float16",
      "components": "u east, v north, w up (m/s)",
      "time_s": [
        25.0,
        50.0,
        75.0,
        100.0,
        125.0,
        150.0,
        175.0,
        200.0,
        225.0,
        250.0,
        275.0,
        300.0,
        325.0,
        350.0,
        375.0,
        400.0,
        425.0,
        450.0,
        475.0,
        500.0,
        525.0,
        550.0,
        575.0,
        600.0,
        625.0,
        650.0,
        675.0,
        700.0,
        725.0,
        750.0,
        775.0,
        800.0,
        825.0,
        850.0,
        875.0,
        900.0,
        925.0,
        950.0,
        975.0,
        1000.0,
        1025.0,
        1050.0,
        1075.0,
        1100.0,
        1125.0,
        1150.0,
        1175.0,
        1200.0,
        1225.0,
        1250.0,
        1275.0,
        1300.0,
        1325.0,
        1350.0,
        1375.0,
        1400.0,
        1425.0,
        1450.0,
        1475.0,
        1500.0,
        1525.0,
        1550.0,
        1575.0,
        1600.0,
        1625.0,
        1650.0,
        1675.0,
        1700.0,
        1725.0,
        1750.0,
        1775.0,
        1800.0,
        1825.0,
        1850.0,
        1875.0,
        1900.0,
        1925.0,
        1950.0,
        1975.0,
        2000.0,
        2025.0,
        2050.0,
        2075.0,
        2100.0,
        2125.0,
        2150.0,
        2175.0,
        2200.0,
        2225.0,
        2250.0,
        2275.0,
        2300.0,
        2325.0,
        2350.0,
        2375.0,
        2400.0,
        2425.0,
        2450.0,
        2475.0,
        2500.0
      ],
      "layer_m": [
        8,
        12
      ],
      "note": "zero inside conservative solid cells"
    },
    "wind/uvw_z40-44m_tcyx.npy": {
      "shape": [
        100,
        3,
        704,
        768
      ],
      "dtype": "float16",
      "components": "u east, v north, w up (m/s)",
      "time_s": [
        25.0,
        50.0,
        75.0,
        100.0,
        125.0,
        150.0,
        175.0,
        200.0,
        225.0,
        250.0,
        275.0,
        300.0,
        325.0,
        350.0,
        375.0,
        400.0,
        425.0,
        450.0,
        475.0,
        500.0,
        525.0,
        550.0,
        575.0,
        600.0,
        625.0,
        650.0,
        675.0,
        700.0,
        725.0,
        750.0,
        775.0,
        800.0,
        825.0,
        850.0,
        875.0,
        900.0,
        925.0,
        950.0,
        975.0,
        1000.0,
        1025.0,
        1050.0,
        1075.0,
        1100.0,
        1125.0,
        1150.0,
        1175.0,
        1200.0,
        1225.0,
        1250.0,
        1275.0,
        1300.0,
        1325.0,
        1350.0,
        1375.0,
        1400.0,
        1425.0,
        1450.0,
        1475.0,
        1500.0,
        1525.0,
        1550.0,
        1575.0,
        1600.0,
        1625.0,
        1650.0,
        1675.0,
        1700.0,
        1725.0,
        1750.0,
        1775.0,
        1800.0,
        1825.0,
        1850.0,
        1875.0,
        1900.0,
        1925.0,
        1950.0,
        1975.0,
        2000.0,
        2025.0,
        2050.0,
        2075.0,
        2100.0,
        2125.0,
        2150.0,
        2175.0,
        2200.0,
        2225.0,
        2250.0,
        2275.0,
        2300.0,
        2325.0,
        2350.0,
        2375.0,
        2400.0,
        2425.0,
        2450.0,
        2475.0,
        2500.0
      ],
      "layer_m": [
        40,
        44
      ],
      "note": "zero inside conservative solid cells"
    },
    "temperature3d/solver_reference_tyx.npy": {
      "shape": [
        8,
        704,
        768
      ],
      "dtype": "float16",
      "unit": "C",
      "time_s": [
        -180,
        -90,
        0,
        90,
        180,
        270,
        360,
        450
      ],
      "layer_m": [
        8,
        12
      ]
    },
    "temperature3d/unet_recursive_tyx.npy": {
      "shape": [
        5,
        704,
        768
      ],
      "dtype": "float16",
      "unit": "C",
      "time_s": [
        90,
        180,
        270,
        360,
        450
      ],
      "layer_m": [
        8,
        12
      ]
    },
    "temperature3d/unet_one_step_tyx.npy": {
      "shape": [
        5,
        704,
        768
      ],
      "dtype": "float16",
      "unit": "C",
      "time_s": [
        90,
        180,
        270,
        360,
        450
      ],
      "layer_m": [
        8,
        12
      ]
    },
    "temperature2d/temperature_tyx.npy": {
      "shape": [
        61,
        704,
        768
      ],
      "dtype": "float16",
      "unit": "C",
      "time_s": [
        0.0,
        25.0,
        50.0,
        75.0,
        100.0,
        125.0,
        150.0,
        175.0,
        200.0,
        225.0,
        250.0,
        275.0,
        300.0,
        325.0,
        350.0,
        375.0,
        400.0,
        425.0,
        450.0,
        475.0,
        500.0,
        525.0,
        550.0,
        575.0,
        600.0,
        625.0,
        650.0,
        675.0,
        700.0,
        725.0,
        750.0,
        775.0,
        800.0,
        825.0,
        850.0,
        875.0,
        900.0,
        925.0,
        950.0,
        975.0,
        1000.0,
        1025.0,
        1050.0,
        1075.0,
        1100.0,
        1125.0,
        1150.0,
        1175.0,
        1200.0,
        1225.0,
        1250.0,
        1275.0,
        1300.0,
        1325.0,
        1350.0,
        1375.0,
        1400.0,
        1425.0,
        1450.0,
        1475.0,
        1500.0
      ],
      "layer_m": [
        12,
        16
      ],
      "note": "building cells hold the fixed building temperature; outside study area = ambient"
    },
    "temperature2d/source_c_per_hour_yx.npy": {
      "shape": [
        704,
        768
      ],
      "dtype": "float16"
    },
    "temperature2d/initial_temperature_c_yx.npy": {
      "shape": [
        704,
        768
      ],
      "dtype": "float16"
    },
    "temperature2d/study_area_mask_yx.npy": {
      "shape": [
        704,
        768
      ],
      "dtype": "bool"
    },
    "temperature2d/urban_mask_yx.npy": {
      "shape": [
        704,
        768
      ],
      "dtype": "bool"
    },
    "temperature2d/vegetation_mask_yx.npy": {
      "shape": [
        704,
        768
      ],
      "dtype": "bool"
    },
    "pollution/concentration_z12-16m_tyx.npy": {
      "shape": [
        100,
        704,
        768
      ],
      "dtype": "float16",
      "unit": "arbitrary (source rate 0.1 per cell per s)",
      "time_s": [
        25.0,
        50.0,
        75.0,
        100.0,
        125.0,
        150.0,
        175.0,
        200.0,
        225.0,
        250.0,
        275.0,
        300.0,
        325.0,
        350.0,
        375.0,
        400.0,
        425.0,
        450.0,
        475.0,
        500.0,
        525.0,
        550.0,
        575.0,
        600.0,
        625.0,
        650.0,
        675.0,
        700.0,
        725.0,
        750.0,
        775.0,
        800.0,
        825.0,
        850.0,
        875.0,
        900.0,
        925.0,
        950.0,
        975.0,
        1000.0,
        1025.0,
        1050.0,
        1075.0,
        1100.0,
        1125.0,
        1150.0,
        1175.0,
        1200.0,
        1225.0,
        1250.0,
        1275.0,
        1300.0,
        1325.0,
        1350.0,
        1375.0,
        1400.0,
        1425.0,
        1450.0,
        1475.0,
        1500.0,
        1525.0,
        1550.0,
        1575.0,
        1600.0,
        1625.0,
        1650.0,
        1675.0,
        1700.0,
        1725.0,
        1750.0,
        1775.0,
        1800.0,
        1825.0,
        1850.0,
        1875.0,
        1900.0,
        1925.0,
        1950.0,
        1975.0,
        2000.0,
        2025.0,
        2050.0,
        2075.0,
        2100.0,
        2125.0,
        2150.0,
        2175.0,
        2200.0,
        2225.0,
        2250.0,
        2275.0,
        2300.0,
        2325.0,
        2350.0,
        2375.0,
        2400.0,
        2425.0,
        2450.0,
        2475.0,
        2500.0
      ],
      "note": "log colour recommended; hotspots at windward building feet come from wind convergence, see README"
    },
    "pollution/source_footprint_yx.npy": {
      "shape": [
        704,
        768
      ],
      "dtype": "bool",
      "meaning": "source cells (z 8-32 m) projected to the ground plane"
    }
  },
  "wind_metrics": "metadata/wind_metrics.json"
}
