SELF
FLAP
SELF | FLAP | |
---|---|---|
4 | 2 | |
43 | 146 | |
- | - | |
8.9 | 3.5 | |
13 days ago | 2 months ago | |
Fortran | Fortran | |
GNU General Public License v3.0 or later | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
SELF
-
[RANT] I really, really wish working with compiled languages is as easy as working with Python.
Could you go into more detail? If you're referring to https://github.com/FluidNumerics/SELF, I've just taken a look and it does seem like their documentation on how to build is lacking. Usually if that's the case, you can dig for whatever their CI configuration is and manually follow those steps, but it's not clear here: they have a mechanism to build Singularity containers (ci/run_tests) but everything else in ci seems unrelated. Their CONTRIBUTING.md is out of date and incomplete, and as you've already seen their build system (Makefile, install.sh, test.sh) is a total mess. Pretty much all modern scientific codes are using at least CMake now. (It's either that or hacked-up and hardcoded recursive make, rather than autoconf.)
-
The "F" Word - GPU Programming in Fortran : Building the Shallow Water Equation Solver
You can freely download SELF source code online at https://github.com/fluidnumerics/self
-
Joe's Live Coding Sessions - GPU Programming in Fortran : Verifying Spectral Accuracy in the Advection-Diffusion Solvers
SELF Github Repository : https://github.com/fluidnumerics/self
-
[February] Programming languages for CFD
I'm definitely a fan of Fortran for writing CFD and numerical PDE solvers (https://github.com/FluidNumerics/SELF) in general. Fortran was my first programming language, and I'm not a "geezer geek" (I'm 30 years old). While I also program in C and C++ on some projects, Fortran is my go-to. As others have already mentioned, the array syntax in Fortran is fantastic. It really helps to be able to work out algorithms on paper and translate cleanly into multi-dimensional arrays.
FLAP
-
Is there a way to create a command line menu in Fortran?
is not powerful enough, FLAP is one (not the only, see some compiled in fortranwiki) equivalent to argparse (in Python) for Fortran. You then enter a workflow to compile modules, later the main program, and eventually join the object files into an executable. Manually for example with gfortran as compiler, this is in line of
-
Joe's Live Coding Sessions - GPU Programming in Fortran : Verifying Spectral Accuracy in the Advection-Diffusion Solvers
We'll be building out more of the command line interface using the Fortran command Line Argument Parser for poor people (FLAP; https://github.com/szaghi/FLAP) to add triggers for executing convergence tests. In the process, we'll also be doing some tecplot output visualization with Paraview
What are some alternatives?
fpm - Fortran Package Manager (fpm)
json-fortran - A Modern Fortran JSON API
stdlib - Fortran Standard Library
tab_calc - This is a simple tool to perform various statistical and mathematical operations on single ASCII data-files.
shenfun - High performance computational platform in Python for the spectral Galerkin method
http-client - http-client offers a user-friendly, high-level API to make HTTP requests in Fortran.
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
FURY - Fortran Units (environment) for Reliable phYsical math
focal - A modern Fortran abstraction layer for OpenCL
rcc-run - Continuous Integration and Continuous Benchmarking tools for Research Computing applications
hipfort - Fortran interfaces for ROCm libraries
fcurses - Fortran module for linux terminal control over cursor position, character drawing, raw keyboard input, and simple beep sounds. sufficent to write text based games in fortran