FORTRAN programs
Course and self-directed work in FORTRAN for numerical methods, linear algebra routines, and small scientific simulations—typical of engineering and physics curricula.
Problem
Many legacy and high-performance workflows still rely on numerically stable, compiler-optimized Fortran for tight loops. The learning goal is to understand memory layout, array semantics, and floating-point behavior without hiding details behind higher-level frameworks.
Solution
Implement classic algorithms (e.g. numerical integration, eigenvalue steps, or PDE discretizations) with clear module boundaries, explicit interfaces where appropriate, and reproducible build instructions.
Impact
- Builds intuition for performance-sensitive code paths used in research and industry HPC.
- Portable numeric cores can be wrapped by Python, C, or modern Fortran interfaces later.
Lessons learned
- Compiler flags and optimization levels change answers slightly—always document the test matrix.
- Prefer modern Fortran features (modules,
intent, allocatables) over fixed legacy patterns when allowed. - Pair Fortran numerics with small golden-file tests or comparisons to known solutions.
Tech stack
- Language: Fortran (F90/F95 or later per course)
- Build: Make, CMake, or vendor toolchain (e.g.
gfortran, Intel Fortran) - Optional: Python or plotting tools for post-processing results