Scientific computing consultancy

Your code compiles. That is not the same as correct.

I modernise legacy Fortran and scientific codebases for research groups and engineering teams — finding the silent numerical bugs, making the code fast, and leaving behind tests that prove the answers did not change.

One line, one wrong answer, no warning

This is real, valid FORTRAN 77. It compiles under gfortran -std=legacy -Wall without a single diagnostic.

What the author wrote
      TOTAL = A*A + SCRATCH*SCRATCH
What the compiler built
      TOTAL = A*A + SCRATCH*SCRA

Fixed-form Fortran stops reading at column 72. The last three characters are discarded silently. SCRA becomes a brand-new implicitly-typed variable holding zero — so the program builds, runs to completion, and prints a wrong number. Forever, and without complaint.

Decades of scientific Fortran carry defects like this: implicit typing that turns a typo into a fresh variable, COMMON blocks that corrupt memory when one declaration drifts out of step, initialised locals that quietly keep their value between calls. None of them are compiler errors. All of them change results.

Finding them is what I do.

How we can work together

Fixed scope, fixed price, agreed before anything starts. No hourly billing, no open-ended engagements.

Start here

Codebase audit

A written assessment of your Fortran: the constructs that can change your results, ranked by risk, with a prioritised plan for clearing them and an honest estimate of the effort involved.

1 week · fixed price
Core engagement

Modernisation

Fixed-form converted to free form. COMMON lifted into modules the compiler can actually check. Explicit interfaces throughout. Delivered with a regression harness that proves the numerics are unchanged.

4–6 weeks · fixed price
Make it fast

Performance

Profiling to find where the time actually goes, then vectorisation and OpenMP parallelisation — with benchmarks before and after, so the speedup is measured rather than asserted.

3–4 weeks · fixed price

The tooling is open source

You can run my analyser on your own code before you ever contact me. That is deliberate — I would rather you saw the findings first.

fortran-audit

A static modernisation audit for legacy Fortran. It finds silent column-72 truncation, implicit SAVE on initialised locals, EQUIVALENCE aliasing, missing IMPLICIT NONE and sixteen other hazards — then estimates the work to clear them. Zero dependencies, pure Python, runs on any codebase in seconds.

21
rules
0
dependencies
MIT
licence
View on GitHub

Who you would be working with

I am Nisha Singh, a computational physicist. My research is in computational astrophysics — modelling the interiors of neutron stars, which means solving stiff differential equations, running large parameter scans, and living inside numerical codebases where a small error in the fifth decimal place invalidates the result.

That work runs on exactly the kind of software this practice exists to fix: Fortran solvers with long histories, Python analysis pipelines, and the reproducibility problems that appear when the two have to agree.

I work with a small number of clients at a time, so the person who scopes your project is the person who writes the code.

  • Computational astrophysics — neutron star structure and equation-of-state modelling
  • Fortran, from FORTRAN 77 through modern Fortran
  • Scientific Python — NumPy, SciPy, numerical pipelines
  • Numerical methods: stiff ODE integration, root finding, large parameter scans
  • Reproducible research pipelines and regression testing for scientific code

Send me your worst code

If you have a Fortran codebase that people are nervous about touching, I will run a full audit on it and send you the findings. No charge, no obligation — you keep the report either way.

nisha@nsknumerics.com

Typically replies within two working days.