Code Monkey home page Code Monkey logo

awesome-fortran's Introduction

Awesome Fortran Awesome Build Status

A curated list of awesome Fortran frameworks, libraries and software. Inspired by awesome-swift by @Wolg.

Functional Libraries

Graphics Libraries

Libraries for graphing, graphics, and GUIs

  • DISLIN - a high-level graphing and user-interface library.
  • f90gl - public domain implementation of the official NIST Fortran 90 bindings for OpenGL.
  • F03GL - a Fortran 2003 interface to the OpenGL library, along with the GLU and GLUT toolkits.
  • gtk-fortran - a cross-platform library to build Graphical User Interfaces (GUI) using GTK+. Very useful when combined with the Glade RAD tool.
  • PGPLOT - cross-platform scientific graphing library.
  • VTKFortran - Pure Fortran (2003+) library to write and read data conforming the VTK standard.

Math Libs

Libraries for calculating and other mathematical operations.

  • BLAS - application programming interface standard for publishing libraries to perform basic linear algebra operations such as vector and matrix multiplication.
  • CERNLIB - The CERN Program Library is a large collection of general purpose libraries and modules maintained and offered in both source and object code form on the CERN central computers
  • EISPACK - a software library for numerical computation of eigenvalues and eigenvectors of matrices, written in FORTRAN
  • FGSL - portable, object-based Fortran interface to the GNU scientific library
  • IMSL - The IMSL Fortran Numerical Library is the standard for high performance computing commercial mathematics and statistics libraries
  • Lis - a Library of Iterative Solvers for Linear Systems
  • NAG Fortran Library - Produced by experts for use in a variety of applications, the NAG Fortran Library has a global reputation for its excellence and, with hundreds of fully documented and tested routines, is the largest collection of mathematical and statistical algorithms available
  • netCDF - a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.
  • OpenBLAS - one of the fastest open source BLAS libraries available. Almost as fast as Intel MKL.

JSON Manipulation

Libraries for JSON data manipulating with Fortran language.

XML Manipulation

Libraries for XML data manipulating with Fortran language.

  • fox - Fortran XML library
  • xml-fortran - an all-Fortran solution for reading and writing XML files.

Date and time manipulation

Libraries for date and time manipulation with Fortran language.

  • datetime-fortran - A Fortran 2003 date and time manipulation library, modeled after Python's datetime library.

Testing

Libraries for testing codebases and generating test data.

  • FRUIT - FORTRAN Unit Test Framework, written in FORTRAN 95
  • Ftunit - Fortran unit testing framework by Arjen Markus
  • pFUnit - Unit testing framework for Fortran with MPI extensions by developers from NASA and NGC TASC. Uses parallel codes and object-oriented design.
  • Vegetables - For a healthier code base, eat your vegetables

Encoding-Decoding

Libraries for encoding and decoding data with Fortran language.

  • BeFoR64 - Base64 encoding/decoding library for FoRtran poor men. A KISS library for base64 encoding/decoding for modern (2003+) Fortran projects.

Portability enabling

Libraries for enabling codes portability.

  • PENF - Pure Fortran (2003+) library for ensuring codes portability.

Command-Line parsing

Libraries for parsing command-line and building user interfaces.

  • FLAP - Fortran command Line Arguments Parser for poor men. A KISS library for building easily nice Command Line Interfaces (CLI) for modern (2003+) Fortran projects.
  • options.f90 - Options & input processing for modern Fortran.

Compiling and building

Libraries for compiling and building Fortran projects.

  • FoBiS - Fortran Building System for poor men. A KISS tool for automatic building modern Fortran projects.

Preprocessor

Libraries for conditional-compilation, macros for code simplification, and inclusion of additional source files, templating systems.

  • Blockit/PyF95++ - A fairly simple Python framework used to block parse your code (or any text file) into nested blocks. The BlockIt framework has already been used to create a templating capability for the Fortran 95/2003 language along with some language extensions.
  • PreForM - Preprocessor for Fortran poor Men.

Automatic documentation

Libraries for building documentation.

  • FORD - An automatic documentation generator for modern Fortran programs.

Computational Fluid Dynamics

Libraries for CFD computations

  • OFF - Open source Finite volume Fluid dynamics code.

Docker

Web

Resources

Various resources, such as books, websites and articles, for improving your Fortran development skills and knowledge.

Fortran Websites

  • The Fortran Company - A home page of FORTRAN programming language.
  • Fortran Dev - Fortran development blog.
  • Fortran WIKI - An open venue for discussing all aspects of the Fortran programming language and scientific computing.

Fortran Videos

Other Awesome Lists

Other amazingly awesome lists can be found in the awesome-awesomeness list.

Contributing

Your contributions are always welcome! Please submit a pull request or create an issue to add a new framework, library or software to the list. Do not submit a project, which hasn't been updated in the past 6 months or is not awesome.

awesome-fortran's People

Contributors

agungsantoso avatar argonium avatar davisonio avatar jshahbazi avatar mikecroucher avatar milancurcic avatar rabbiabram avatar szaghi avatar wolg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-fortran's Issues

Self promoting

Dear all,

thank you for sharing this nice repository. I am a Fortran programmer and during the last years I have released some of my Fortran resources in a free open source form.

In the following I list some of my GPL resources. I cannot say these are awesome or not (in Italy we say Every ugly child is nice for his mom), but maybe you can find some of them worthy to be mentioned.

Fortran Tailored Projects

Non Fortran Specific Projects, but with some connections

MaTiSSe.py being a presentation maker devoted to scientific speakers like Fortran programmers could be...

A great tool for generating documentation from annotated sources: Ford!

I think Ford is worthy to be listed:

https://github.com/cmacmackin/ford

From its main README:

This is an automatic documentation generator for modern Fortran programs. FORD stands for FORtran Documenter. As you may know, "to ford" refers to crossing a river (or other body of water). It does not, in this context, refer to any company or individual associated with cars.

Ford was written due to Doxygen's poor handling of Fortran and the lack of comparable alternatives. ROBODoc can't actually extract any information from the source code and just about any other automatic documentation software I found was either proprietary, didn't work very well for Fortran, or was limited in terms of how it produced its output. f90doc is quite good and I managed to modify it so that it could handle most of Fortran 2003, but it produces rather ugly documentation, can't provide as many links between different parts of the documentation as I'd like, and is written in Perl (which I'm not that familiar with and which lacks the sort of libraries found in Python for producing HTML content).

The goal of FORD is to be able to reliably produce documentation for modern Fortran software which is informative and nice to look at. The documentation should be easy to write and non-obtrusive within the code. While it will never be as feature-rich as Doxygen, hopefully FORD will be able to provide an alternative for documenting Fortran projects.

Validate pull requests with Travis

Hello, I wrote a tool that can validate README links (valid URLs, not duplicate). It can be run when someone submits a pull request.

It is currently being used by

Examples

If you are interested, connect this repo to https://travis-ci.org/ and add a .travis.yml file to the project.

See https://github.com/dkhamsing/awesome_bot for options, more information
Feel free to leave a comment ๐Ÿ˜„

automatic connect in figure

hi!
I have a problem with tecplot
I want to plot 2 separate circule in one figure but.......
tecplot connect last node of first to first node of second circle automatically.
Its make problem for my other work
in the second figure this connect is between airfoil and circle
this is the code(or attached file)
with regad!

implicit none
integer::i,j
real::r1,teta,r2,r
real,dimension(0:361,2):: x, y
r1=2
r2=5

do j=1,2
teta=0
if(j==1)then
r=r1
j=1
else
r=r2
end if
do i=0,360
x(i,j)=r_cos(teta)
y(i,j)=r_sin(teta)
teta=3.1415/180+teta
!print*,i,teta,x(i,j)
end do
end do

OPEN(UNIT=10,FILE='RESULT circle.PLT')
WRITE(10,)'VARIABLES="X","Y"'
WRITE(10,
)'ZONE I=',361*2,'F=POINT'
do j=1,2

do i=0,360

WRITE(10,*)x(i,j),y(i,j)
END DO
enddo

close(10)

end
eliptic
export

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.