Migrate KIM special functions to fortnum (1/8)#140
Draft
krystophny wants to merge 2 commits into
Draft
Conversation
This was referenced Jun 14, 2026
fea7393 to
3c70b20
Compare
a64da2f to
79861f2
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Migrate KIM special functions to fortnum (1/8)
Replaces the GSL special-function calls in KIM with the fortnum core. First branch of the cumulative
k1..k8thenz1..z3migration stack; every later branch builds on this one.Pins the fortnum FetchContent
GIT_TAGto main974dcf1, which carries all kernel fixes plus the two new integrators.Golden-record CI timeout fix
ql-balance_golden_recordranensure_golden()at pytest collection time. That clones KAMEL main and does a full from-scratch cmake build ofmain_refinside the 600 s timed test, so the comparison only began near 600 s and the test timed out even though the numerics were fine.The build of
main_refand the reference run now live in a separate CMake setup fixture,ql-balance_golden_setup(timeout 1800 s), wired viaFIXTURES_SETUP ql-balance_golden.ql-balance_golden_recordrequires that fixture and runs only the comparison.test_golden_record.pylocatesgolden.h5directly and falls back toensure_golden()only for a barepytestinvocation outside CTest.Verification
This branch reproduces main bit-for-bit on the golden record:
(uv venv: pytest numpy scipy h5py f90nml matplotlib; golden generated from main
428a708; bar rtol=1e-8 atol=1e-15, unchanged.)Merge order
#140 k1 -> #141 k2 -> #142 k3 -> #143 k4 -> #144 k5 -> #145 k6 -> #146 k7 -> #147 k8 -> #148 z1 -> #149 z2 -> #150 z3.Note: fortnum pin updated to current main (92de6e9) after a fortnum history rewrite; old shas no longer resolve.