{
  "schema": "eldric.worldmodel.render-manifest/v1.1",
  "model": "elastic_seismic_nslot.nsl",
  "render_kind": "elastic_field2d",
  "rollout": {
    "form": "conv_vector",
    "H": 80,
    "W": 80,
    "channels": [
      "ux",
      "uy",
      "ux_prev",
      "uy_prev",
      "Vp2",
      "Vs2",
      "rho",
      "sponge"
    ],
    "out_channels": [
      "dux",
      "duy"
    ],
    "static_channels": {
      "medium": "elastic_seismic_medium.npy"
    },
    "n_steps_default": 200
  },
  "field2d": {
    "grid": [
      80,
      80
    ],
    "upscale": 4,
    "smooth": true
  },
  "demo": {
    "source": [
      40,
      40
    ]
  },
  "fps": 18,
  "labels": {
    "title": "2D elastic seismic \u2014 P + S waves (layered crust)"
  },
  "domain_context": {
    "system": "2D elastic wave equation, vector displacement u=(ux,uz), depth cross-section",
    "physics": "P-wave (fast, \u221a((\u03bb+2\u03bc)/\u03c1)) and S-wave (slow, \u221a(\u03bc/\u03c1)) with reflection/refraction/mode-conversion at layer boundaries",
    "medium": "layered crust from a CRUST1.0 column (representative continental profile: sediments / upper-middle-lower crust / mantle)",
    "source": "point source at the centre, radiating P and S outward",
    "boundary": "absorbing \u2014 waves fade out at the edges (no wrap-around, no reflection)"
  },
  "legend": {
    "colormap": "warm = displacement magnitude |u| (toggle to P = div u, or S = curl u)",
    "units": "normalized",
    "note": "the fast outer front is P, the slower trailing front is S"
  },
  "why_it_looks_like_this": "A point source in the centre radiates a fast P wavefront and a slower S wavefront outward through the layered crust; the waves are absorbed at the edges so they fade rather than wrap around.",
  "honest": "Exact simulation of the known 2D elastic wave model over a bounded window \u2014 not an earthquake prediction."
}