Project Layout
Top-Level Structure
src/ TARSA package entrypoint and implementation folders
validation/ Reproducible validation and benchmark studies
examples/ Application case studies and end-to-end demos
test/ Unit/integration tests
docs/ Documenter.jl websiteSource Folders
src/TARSA.jl is the package facade. Implementation files are grouped by ownership:
src/api/: public workflow builders and user-facing API gluesrc/config/: configuration parsing and constantssrc/data/: input/output data containers and provider adapterssrc/engines/: solver orchestration and engine-level interfacessrc/grid/: grid geometry, spacing, and regridding support used by numericssrc/io/: downloads, preprocessing, regridding wrappers, and NetCDF output helperssrc/inversion/: inversion and linear-map utilitiessrc/model/: core model structs and provider-neutral input containerssrc/numerics/: finite-volume kernels, AD/tangent kernels, and numerical stubssrc/physics/: aerosol, chemistry, deposition, sedimentation, and turbulence parameterizationssrc/postprocessing/: diagnostics, optical/AOD calculations, and postprocessing helperssrc/compat/: legacy compatibility bindingssrc/experimental/: old scratch or full-chain scripts that are not part of the package load path
Validation Folders
validation/MASS_CONSERVATIONvalidation/VMRvalidation/GAUSSIANvalidation/TVD_limitervalidation/ETEX1validation/CAPTEXvalidation/CAMSvalidation/GRADIENTS
Each folder usually contains:
- Julia driver script(s)
- Python plotting/post-processing script(s)
- Output CSV/PDF/PNG artifacts (sometimes under
out/)
Documented Example
examples/tutorial: real-ERA5 point-source aerosol plume — the only example that runs with no external credentials (see Examples / Tutorial).
See examples/README.md for the full list of applied workflows and the data/credential each one needs.