{
  "schema": "EQUATION_FUNCTION_SOURCE_MAP_V1",
  "module_sha256": "af4c3056a61716d48c5eb8eec3f1abb67be7dee123d78c6bbc7c6f6cc37322ca",
  "rows": [
    {
      "equation_id": "P01",
      "method_document": "methods/design_and_diagnostics.md",
      "module": "modules/design_review.py",
      "function": "ReferenceAtmosphere.pressure_column",
      "line": 173,
      "end_line": 190,
      "original_file": "reference/analytic/rayleigh.py",
      "original_function_or_block": "PT and geometric density integration; new independent pressure-coordinate route",
      "original_sha256": "98d4021c3791f4932b32ee8e8897c6f2f28fdbe6b87ea36bde906d8bb2cc2527",
      "inputs_and_SI_units": "geometric altitude[m],documented USSA constants",
      "outputs_and_units": "number column[m-2],tail[m-2]",
      "sources": [
        {
          "id": "CT041",
          "title": "U S Standard Atmosphere 1976 deeper primary scan and clear-air audit",
          "url": "https://ntrs.nasa.gov/api/citations/19770009539/downloads/19770009539.pdf",
          "locators": [
            "printed 2-3 Tables 2-4, printed 36-39 Tables 18-19",
            "Rayleigh_standard_vs_frozen_337_audit.json",
            "USSA 1976_ozone_above_source_audit.json"
          ],
          "access": "Original 243 pagegovernment PDF privatelyretained; selectedprinted 2-3, 36-39 visuallyread. Scanned OCR ispoor. NASA 2005 Appendix A independentlycrosschecksformulas."
        },
        {
          "id": "VERIFICATION-NASA-TM2005",
          "title": "NASA/TM2005-213659",
          "url": "https://ntrs.nasa.gov/api/citations/20050207438/downloads/20050207438.pdf",
          "locators": [
            "AppendixA equationsA1-A5,pp34-35"
          ],
          "access": "Primary PDF had been inspected in the retained atmosphere audit; the exact original constants are in reference/analytic/rayleigh.py."
        }
      ],
      "related_functions": [
        {
          "function": "ReferenceAtmosphere.state",
          "line": 172,
          "end_line": 172
        },
        {
          "function": "ReferenceAtmosphere.state_H",
          "line": 166,
          "end_line": 171
        }
      ]
    },
    {
      "equation_id": "P02",
      "method_document": "methods/design_and_diagnostics.md",
      "module": "modules/design_review.py",
      "function": "rayleigh_bodhaine",
      "line": 192,
      "end_line": 196,
      "original_file": "reference/analytic/rayleigh.py",
      "original_function_or_block": "module cross-section fits / frozen Rayleigh arithmetic",
      "original_sha256": "98d4021c3791f4932b32ee8e8897c6f2f28fdbe6b87ea36bde906d8bb2cc2527",
      "inputs_and_SI_units": "numerical wavelength[m]; fit argument converted to micrometres",
      "outputs_and_units": "sigma[m2],reference tau[1]",
      "sources": [
        {
          "id": "CT029",
          "title": "On Rayleigh Optical Depth Calculations",
          "url": "https://web.gps.caltech.edu/~vijay/Papers/Rayleigh_Scattering/Bodhaine-etal-99.pdf",
          "locators": [
            "sections 1-2, equations 2, 5-6, 9",
            "section 3; Table 2; equation 8"
          ],
          "access": "author/institution_hosted_full_PDF; all 8 pages extracted, sections 1-4 read closely"
        },
        {
          "id": "R4-CLOUDSCAT",
          "title": "Luque etal.2020: Modeling lightning observations from space-based platforms(CloudScat.jl 1.0)",
          "url": "https://gmd.copernicus.org/articles/13/5549/2020/",
          "locators": [
            "Sections 2-4: Monte Carlo cloud source/observer implementation and applications"
          ],
          "access": "Open primary article; source/model methods inspected in project and official article reopened 22 October 2026"
        }
      ],
      "related_functions": [
        {
          "function": "rayleigh_frozen",
          "line": 198,
          "end_line": 204
        }
      ]
    },
    {
      "equation_id": "P03",
      "method_document": "methods/design_and_diagnostics.md",
      "module": "modules/design_review.py",
      "function": "direct_fraction",
      "line": 206,
      "end_line": 208,
      "original_file": "reference/analytic/reflection.py",
      "original_function_or_block": "ideal_25mm_aperture_fraction_of_emitted_photons; ballistic factor separately derived",
      "original_sha256": "b10a9b2f93701aa2bdc8a16a95748dd3da3ff5734a0d9b217b55120eea86bc74",
      "inputs_and_SI_units": "area[m2],range[m],optical depths[1]",
      "outputs_and_units": "fraction per isotropically emitted photon[1]",
      "sources": [
        {
          "id": "own-isotropic-dilution-and-Beer-law",
          "type": "own derivation fully displayed in methods/design_and_diagnostics.md",
          "url": null
        }
      ],
      "related_functions": []
    },
    {
      "equation_id": "P04",
      "method_document": "methods/design_and_diagnostics.md",
      "module": "modules/design_review.py",
      "function": "LambertPlane.density",
      "line": 218,
      "end_line": 220,
      "original_file": "reference/analytic/reflection.py",
      "original_function_or_block": "setup / integrate_x; independent log radial coordinate here",
      "original_sha256": "b10a9b2f93701aa2bdc8a16a95748dd3da3ff5734a0d9b217b55120eea86bc74",
      "inputs_and_SI_units": "H,h[m],rho[1],field half-cone[rad]",
      "outputs_and_units": "reflected/direct directional gain[1],delay[s]",
      "sources": [
        {
          "id": "R4-LAMBERT",
          "title": "Physically Based Rendering, 4 th edition: Diffuse Reflection",
          "url": "https://www.pbr-book.org/4ed/Reflection_Models/Diffuse_Reflection",
          "locators": [
            "Lambertian reflection model and radiance/irradiance normalization."
          ],
          "access": "Official author-published technical reference used for the idealreflection law."
        }
      ],
      "related_functions": [
        {
          "function": "LambertPlane.__init__",
          "line": 212,
          "end_line": 217
        },
        {
          "function": "LambertPlane.delay",
          "line": 221,
          "end_line": 223
        },
        {
          "function": "LambertPlane.integral",
          "line": 224,
          "end_line": 224
        }
      ]
    },
    {
      "equation_id": "P05",
      "method_document": "methods/design_and_diagnostics.md",
      "module": "modules/design_review.py",
      "function": "LambertPlane.rise",
      "line": 234,
      "end_line": 239,
      "original_file": "reference/analytic/reflection.py",
      "original_function_or_block": "rise; independent split quadrature and bisection here",
      "original_sha256": "b10a9b2f93701aa2bdc8a16a95748dd3da3ff5734a0d9b217b55120eea86bc74",
      "inputs_and_SI_units": "intrinsic10-90rise[s],Lambert geometry",
      "outputs_and_units": "final-plateau10-90rise[s]",
      "sources": [
        {
          "id": "R4-LAMBERT",
          "title": "Physically Based Rendering, 4 th edition: Diffuse Reflection",
          "url": "https://www.pbr-book.org/4ed/Reflection_Models/Diffuse_Reflection",
          "locators": [
            "Lambertian reflection model and radiance/irradiance normalization."
          ],
          "access": "Official author-published technical reference used for the idealreflection law."
        },
        {
          "id": "own-explicit-convolution",
          "type": "own derivation fully displayed in methods/design_and_diagnostics.md",
          "url": null
        }
      ],
      "related_functions": [
        {
          "function": "LambertPlane.received_ramp",
          "line": 229,
          "end_line": 233
        },
        {
          "function": "LambertPlane.cumulative_q",
          "line": 225,
          "end_line": 228
        }
      ]
    },
    {
      "equation_id": "P06",
      "method_document": "methods/design_and_diagnostics.md",
      "module": "modules/design_review.py",
      "function": "diffusion_kernel",
      "line": 241,
      "end_line": 247,
      "original_file": "reference/analytic/diffusion.py",
      "original_function_or_block": "normalized_at_mode_units / loop logh,density; independent closed finite-time CDF added",
      "original_sha256": "8521699a3c3703f2323e084600e895b10dab966f00763e803abd64c67c5fa66b",
      "inputs_and_SI_units": "depth[m],D[m2/s],gamma[1/s],t[s]",
      "outputs_and_units": "h[1/s],escape/CDF[1],rise[s]",
      "sources": [
        {
          "id": "bai2023-bath-waveform",
          "title": "Height Determination of a Blue Discharge Observed by ASIM/MMIA on the International Space Station",
          "url": "https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2022JD037460",
          "locators": [
            "Publicfig 5.fig; MATLAB axis YL abel properties",
            "fig 5 line 03/02",
            "Section 3 and Figure 3",
            "Section 6 and Supplement Figure S1",
            "Author Figure 5 arrays; analyze_bath_waveform.py"
          ],
          "access": "Public 95.1 MB ZIP inspected by HTTPR ange; selected MATLAB figures retrieved with ZIPCRC checks. Full paper inspected. Numeric figure arrays decoded without executing MATLAB."
        },
        {
          "id": "own-method-of-images-derivation",
          "type": "own derivation fully displayed in methods/design_and_diagnostics.md",
          "url": null
        }
      ],
      "related_functions": [
        {
          "function": "diffusion_peak",
          "line": 249,
          "end_line": 251
        },
        {
          "function": "diffusion_rise",
          "line": 253,
          "end_line": 258
        },
        {
          "function": "diffusion_exit_integral",
          "line": 260,
          "end_line": 264
        },
        {
          "function": "diffusion_cdf",
          "line": 266,
          "end_line": 270
        }
      ]
    },
    {
      "equation_id": "P07",
      "method_document": "methods/design_and_diagnostics.md",
      "module": "modules/design_review.py",
      "function": "deadtime_fractions",
      "line": 276,
      "end_line": 283,
      "original_file": "reference/analytic/deadtime.py",
      "original_function_or_block": "counter / normalized_response; inverse mean-rate route here",
      "original_sha256": "da99b28033a01ef334cd66f014135f0fcadc0b036bd2698563dc00fa1dc37e0e",
      "inputs_and_SI_units": "b,S[1/s],nonparalyzable tau[s]",
      "outputs_and_units": "crossing fractions,rise ratio[1]",
      "sources": [
        {
          "id": "DO-ELEC-MMIA-ARCH",
          "title": "The Modular Multispectral Imaging Array (MMIA) of the ASIM payload",
          "url": "https://backend.orbit.dtu.dk/ws/files/175725338/The_Modular_Multi.pdf",
          "locators": [
            "section 3.3, printed pp.9-11 and Table 5; section 4.1 p.12"
          ],
          "access": "Primary published author-hosted full manuscript."
        },
        {
          "id": "own-renewal-mean-derivation",
          "type": "own derivation fully displayed in methods/design_and_diagnostics.md",
          "url": null
        }
      ],
      "related_functions": [
        {
          "function": "deadtime_mean",
          "line": 272,
          "end_line": 274
        }
      ]
    },
    {
      "equation_id": "P08",
      "method_document": "methods/design_and_diagnostics.md",
      "module": "modules/design_review.py",
      "function": "spherical_field",
      "line": 285,
      "end_line": 288,
      "original_file": "reference/analytic/fov_population.py",
      "original_function_or_block": "geometry / footprint; independent shell-central angle here",
      "original_sha256": "6dbb39b16214ab3a4cc6bea02bee0a45c1231b4b6576fad07cb47657389a190e",
      "inputs_and_SI_units": "observer/source radius[m],half-field[rad]",
      "outputs_and_units": "central cap angle[rad],physical cap area[m2]",
      "sources": [
        {
          "id": "own-spherical-geometry",
          "type": "own derivation fully displayed in methods/design_and_diagnostics.md",
          "url": null
        }
      ],
      "related_functions": [
        {
          "function": "shell_geometry",
          "line": 290,
          "end_line": 295
        }
      ]
    },
    {
      "equation_id": "P09",
      "method_document": "methods/design_and_diagnostics.md",
      "module": "modules/design_review.py",
      "function": "population_weight",
      "line": 297,
      "end_line": 305,
      "original_file": "reference/analytic/fov_population.py",
      "original_function_or_block": "point_threshold / weighted_area; independent shell coordinate",
      "original_sha256": "6dbb39b16214ab3a4cc6bea02bee0a45c1231b4b6576fad07cb47657389a190e",
      "inputs_and_SI_units": "S_required[count] supplied,area[m2],eta,field,alpha,pivot photons",
      "outputs_and_units": "conditional bright-enough weight[m2]",
      "sources": [
        {
          "id": "own-explicit-power-law-proxy",
          "type": "own derivation fully displayed in methods/design_and_diagnostics.md",
          "url": null
        }
      ],
      "related_functions": []
    }
  ],
  "scope": "Own equations plus source locators; cross-check agreement is not physical mission validation."
}