An interesting paradox. AI and the WWW and github are making it possible to produce and share tools in a few days. But at least for now a group I know is very hesitant to adapt anything that requires a large amount of infrastructure that has not proven its longevity and stability. They have a small number of developers working on programs that are expected to be used for a span of decades and keeping up with some of the currently popular tools and languages is making them more maintainers than developers.
So tools like fpm are held in suspicion. But using fformat, fdoc, fpx, prep, fman, numd, and fpm I made single files for each product . We built all of them on a non-www cluster that had a fortran compiler, cpp and OpenMP and MPI and a basic Linux OS in just a few minutes, building each one
independently. That convinced everyone these tools (or at least these versions of them) are likely to be maintainable as well as the core Fortran programs going into the future.
| application | description |
|---|---|
| fpm | Fortran package mananger |
| fformat | standardized formatting |
| fdoc | automated document generation |
| fman | intrinsics documentation |
| prep, fpx | pre-processors |
| numd | numeric comparison of data files |
| flower | comment extraction and basic statistics |
fman was the main tool of interest, but fdoc and fformat will be useful and help prove the case.
The fact all the other packages can also be built with fpm long-term combined with Fortran being standard-based and growing in parallel capabilities all were influential in accepting integrating fpm
and these tools into the build and maintenance project, and beginning to use some fpm packages.
At least for the moment the longevity of the methods used to develop the codes is important.
How much AI, quantum computing and new Fortran compilers that support coarrays will change all of this having these tools require no more infrastructure than the applications themselves is very appealing to such a (niche?) group.
Thanks for the new tools.
GitHub - lockstockandbarrel/mars · GitHub has the single-source files in the bootstrap/ directory and for the demonstration eight of the files were used and built with a simple script
#!/bin/bash
for NAME in fdoc fformat flower fman fpm fpx numd prep
do
gfortran -fopenmp $NAME.[fF]90 -o $NAME
done
exit