# HPC DNS Post-Processing Reference Manual Welcome to the automated documentation suite for the high-order compact difference post-processing project! This manual includes reference documentation for both the compiled Fortran core and the Python binds/algebraic generators. --- ## Architecture Overview This post-processor compiles algebraic equations defined in a custom DSL (Domain Specific Language), computes high-order derivatives (1st & 2nd spatial derivatives) using tridiagonal finite differences, and leverages parallel MPI-IO blocks. Below is the primary compiler pipeline: ```mermaid graph TD A[code_gen.py / DSL Input] -->|AST Compiler Pipeline| B[post.py / Code Gen] B -->|Generates budget kernels| C[m_calculate.f90] C -->|LU Tridiagonal Solvers| D[Compact.f90] C -->|Array allocations| E[m_arrays.f90] F[post.f90 / Main Driver] -->|Orchestrates calculations| C F -->|Parallelizes domain| G[m_openmpi.f90] F -->|Loads run configuration| H[m_parameters.f90] I[pycompact.py / Bindings] -->|Wraps CPU calculations| C ``` --- ## Navigation Guide - **[Python API Reference](python/code_gen.md)**: Automatically parsed API and signatures for the DSL parsers, topological compiler stages, and Python wrappers. - **[Fortran Core Reference](fortran.md)**: Standard documentation compiled by `FORD` covering tridiagonal compact solvers, math kernels, and MPI bindings. *Generated automatically using industry-standard tools: FORD, MkDocs, and Material theme.*