(c) 상용 제품을 나타냅니다
AD_DNSVM : David Lauvergnat의 스칼라 (S), 벡터 (V) 및 행렬 (M) 용 전방 모드를 사용하는 Fortran 자동 분화 도구. 독립 변수의 수와 관련하여 제한이 없으며 (이 숫자는 런타임에 정의 됨) 최대 3 차 파생 상품까지 계산할 수 있습니다.
ADF95 : Jingchang Shi의 수정 ADF95에 설명 된 Gfortran의 프로그램과 협력하기위한 Jingchang Shi의 수정 : Christian W. Straka, 컴퓨터 물리 커뮤니케이션, 볼륨 168, 2005 년 6 월 1 일, 123-139 페이지에 의해 많은 독립적 인 변수를 위해 설계된 포트 란 코드의 자동 차별화 도구, 여기.
Adifor : Fortran 77 소스 코드와 종속 및 독립적 인 변수에 대한 사용자의 사양이 주어지면 Adifor는 원래 결과와 함께 지정된 모든 독립 변수와 관련하여 지정된 모든 종속 변수의 부분 파생물을 계산하는 증강 된 파생 코드를 생성합니다.
인접 : Pauli Virtanen의 Fortran 95 및 Operator Overloading을 사용하여 희소 한 Jacobians 생성을위한 자동 차별화
AUDITO : Michel V. Heinz의 Fortran의 자동 차별화 도구. 수학 연산자는 기능 값뿐만 아니라 그라디언트, Hessian 및 Laplacian을 포함하여 새로 정의 된 유형과 함께 작동하도록 과부하되었습니다.
AUTO_DERIV : Computer Physics Communications Program Library의 일부인 S. Stamatiadis 및 SC Farantos에 의해 많은 독립적 인 변수와 함께 연속 기능의 첫 번째 및 두 번째 부분 파생 상품 (혼합 여부)을 계산하는 데 사용할 수있는 Fortran 95 절차 세트로 구성된 모듈. 수학적 함수는 하나 이상의 Fortran 77/90/95 절차로 표현되어야합니다.
AutoDiff : Simon Geard의 최대 4 번째 파생 상품에 대한 자동 차별화
Auto-Diff : Zoziha의 Backward Mode Automatic Direction의 Modern Fortran 구현.
듀얼 번호 자동 차별화 (DNAD) : Yu, W. 및 Blair의 코드 업데이트, M. : "DNAD, 이중 번호를 사용하여 Fortran 코드의 자동 차별화를위한 간단한 도구"Computer Physics Communications, Vol. 184, 2013, pp. 1446-1452, Oddlehod. 관련 프로젝트 : Fortran_dnad. Oyvindyr의 포크는 FYPP 매크로를 사용합니다. 이 접근법의 이점은 수학적 함수의 인터페이스와 구현이 사용되는 모듈에 "주입"될 수 있다는 것입니다.
Fazang : Yi Zhang의 Stan/Math Library에서 영감을 얻은 리버스 모드 자동 차별화 라이브러리. Zoziha는 GFORTRAN 및 IFORT와 협력하도록 프로젝트를 업데이트했습니다.
OpenAD : 수치 컴퓨터 프로그램의 자동 차별화 (AD) 도구
TAPENADE : Inria에서 개발 된 자동 차별화 엔진. 온라인으로 실행되거나 로컬로 다운로드하여 일련의 Java 클래스 (JAR Archive)로 설치할 수 있습니다.
Fortran (TAF)의 알고리즘 변환 : Fortran 77-95 코드의 소스-소스 번역기, 즉 TAF는 Fortran 77-95 코드를 입력으로 받아들이고 의미 론적 변환을 적용하며 Fortran 77-95 코드를 생성합니다. TAF는 몇 가지 의미 론적 변형을 지원합니다. 가장 중요한 것은 자동 분화 (AD), 즉 1 차 파생물 (Jacobian Matrix)의 평가를위한 코드 생성입니다. (기음)
Doxygen : 문서화 된 소스 파일 세트에서 온라인 문서 브라우저 (HTML) 및/또는 오프라인 참조 설명서 (라텍스)를 생성합니다. RTF (MS-Word), PostScript, 하이퍼 링크 PDF, 압축 HTML, DocBook 및 Unix Man Pages에서 출력 생성을 지원합니다.
f90tohtml : Fortran 소스 파일을 하이퍼 링크 웹 사이트로 변환하는 Perl 스크립트
FORD : Fortran-Foss-Programmers에서 코드 내 댓글에서 Fortran 문서를 자동으로 생성합니다.
htmlindex : c, c ++, c ++, fortran77 또는 fortran90 소스 코드 파일에 대한 "skeleton"html 페이지를 빌드하는 c ++ 코드는 파일의 모든 루틴을 문서화합니다 ... John Burkardt는 각 루틴이 적절하게 표시된 경우. 마커 이후의 정보는 일반적으로 일상의 일에 대한 한 줄의 설명입니다.
Protex : 표준 Fortran 문서 헤더에서 정보를 제거하고 Arlindo Da Silva et al.
버전 -F : Minh DAO의 시맨틱 버전 2.0.0 구현은 Fortran 프로젝트에서 버전을 처리하기위한 사용자 친화적 인 도구가되는 것을 목표로합니다.
BuildNis : C ++ 20 및 Fortran 모듈을 처리 할 수있는 분산, 플랫폼 독립 빌드 시스템은 다른 것을 구축하고 다양한 빌드 단계를 처리 할 수있을 정도로 유연합니다.
Cmake 크로스 플랫폼, 오픈 소스 빌드 시스템 생성기. Fortran_with_cmake_examples by Christensencode는 CMAKE에 대한 비교적 적은 양의 경험을 가진 사람에게 명확하게 설명하기 위해 가능한 많은 설명을 제공합니다.
CMAKE UTILS : CMAKE, 특히 과학 컴퓨팅, HPC 및 Fortran, Scivision의 유용한 스크립트 및 모듈
CookieCutter-Fortran-Project : 새로운 Fortran 프로젝트를 설정하기위한 템플릿, 사용자는 다양한 빌드 시스템 (CMAKE, FPM 및 MESON)을 선택할 수 있으며 Serial, MPI 및 Coarray와 같은 다른 병렬화 모델. 생성 된 프로젝트에는 라이브러리, 단위 테스트 (현재 Fortuno Unit Test Framework를 활용) 및 선택적으로 독립형 응용 프로그램 및 예제가 포함됩니다.
쉬운 : FPM을 사용하여 Github 저장소를 설정하는 단계 및 Ford (1) 문서 및 단위 테스트를 포함한 Github 조치, Urbanjost
F90_MakeFile_Builder : Benjamin Priczynski의 종속성을 검색하여 Fortran 90 프로그램을위한 Makefile을 구축하는 Python 프로그램. 알고리즘은 종속성의 순서를 결정하고 MATE 파일을 올바른 순서로 작성합니다.
Fab : Fortran 및 C 프로젝트를위한 시스템을 구축하십시오. 처음에는 Met Office의 주요 과학 응용 프로그램 인 LFRIC 및 UM을 구축하도록 설계되었습니다.
FCM : Metomi에서 과학 소프트웨어 개발을위한 Subversion에서 Modern Fortran 빌드 시스템 + 포장지
ff08dependen
가난한 사람들을위한 Fobis.py, Fortran Building System : 사용의 경우 종속성 계수 생성을위한 파일의 자동 구문 분석 및 명세서를 포함하고, 루트 디렉토리로 발견 된 모든 프로그램의 자동 빌딩 또는 Szaghi et al.
Fortdep : Make를위한 Fortran 모듈 간의 종속성을 생성하기위한 Python 3 스크립트, Dominik Gronkiewicz
Fortdepend : Python Script, Fortran Projects의 종속성을 생성하여 Zedthree
Forte : Ed Higgins의 Linux 쉘 내에서 Fortran 90 코드를 실행할 수있는 짧은 스크립트
Fortran-Compiler-With-Computers : Python Code는 한 컴퓨터에서 Fortran 소스 파일을 컴파일하고 Jucelio Tavares Junior에서 다른 컴퓨터에서 컴파일 된 출력 (DLL)을 실행하는 워크 플로우를 용이하게합니다. 시뮬레이션 및 컴파일 프로세스가 별도의 기계로 처리되는 분산 환경에 이상적입니다.
Fortrandep : Ryan Orvedahl의 Fortran 프로젝트의 Makefile 의존성을 결정하는 Python 도구
fortran_makedeps : Fortran 소스를 스캔하고 Makefile에 적합한 종속성을 생성하는 작은 파이썬 스크립트, James Biddle
FORTRANMAKEUTILS : Denis Eiras의 의존성 트리 및 메이크 파일 생성을위한 파이썬 스크립트
Fortran Package Manager for Visual Studio : Fortran Package Manager (FPM)를 사용하여 Fortran 프로젝트를 구축, 실행 및 테스트하기위한 옵션 및 메뉴 항목을 추가
FORTRAN 프로젝트 템플릿 : 사전 커밋 체크가있는 프로젝트 템플릿, fpm build 사용하여 컴파일 검사, fpm test 통한 자동 테스트, fprettify 사용한 코드 형식 및 MATTHALEX의 최신 FORTRAN VSCODE EXTENSION을 사용한 라인
FPM : FORTRAN 패키지 관리자 (FPM)
FPM- 완성 : Shinobu Amasaki의 Fortran 패키지 관리자의 명령 줄 완료 기능. ZSH는 현재이 패키지를 사용해야합니다.
FPM-GUI : Arjen Markus의 FPM (Fortran Package Manager)의 Straigtforward 그래픽 사용자 인터페이스
FPM-Registry : Fortran-Lang 사이트의 FPM 패키지 중앙 집중식 레지스트리
FPM 검색 : Urbanjost 및 Sebastian Ehlert의 명령 줄에서 FPM-Registry에 사용 가능한 패키지를 나열합니다. 이를 통해 FPM (1) 패키지를 신속하게 찾아서 관련 종속성 라인을 생성하여 FPM (1) 패키지 매니페스트 파일 (FPM.TOML)에 삽입 할 수 있습니다.
GFORTRAN-CONFIG : Windows 배치 스크립트 Mingw-W64 Gfortran 환경에서 Fortran 코드를 자동으로 빌드하고 실행할 수 있습니다.
githubactions_intro : Oscar Mojica의 Python 및 Fortran의 예제와 함께 과학 데이터 워크 플로의 가벼운 자동화 도구로 Github 액션을 소개합니다.
Homebrew-Fortran : Federico Perini et al.의 Homebrew 도구 체인과 호환되는 Fortran 주변의 도구 및 라이브러리에 대한 패키지 빌드 지침을 제공합니다. 이 탭에서 사용 가능한 패키지는 FPM : Fortran Package Manager 및 Lfortran : Modern Interactive LLVM 기반 Fortran 컴파일러입니다.
Intel® Oneapi Math 커널 라이브러리 링크 라인 어드바이저 : 컴퓨터 시스템에 대한 정보를 요청하고 Intel® Oneapi Math 커널 라이브러리를 사용하는 방법 (동적 또는 정적으로 링크, 스레드 또는 순차적 모드를 사용하는 등)에 대한 정보를 자동으로 생성합니다.
JAMS_MAKEFILE : McUntz의 Fortran, C, C ++ 및 혼합 프로젝트를 컴파일하는 휴대용 다양한 방법을 제공합니다.
Makedepf90 : Erik Edelman의 Fortran Code의 종속성을 생성합니다.
Makefile 메이커 : Garl4nd의 자동 Fortran Makefile 메이커. 이 프로그램은 먼저 다른 소스 파일의 가져 오기에 대해 모든 Fortran 파일을 스캔하고 지시 된 종속성 그래프를 만듭니다. 여기서 각 정점은 파일을 나타내고 A에서 B까지의 화살표는 B에 따라 파일 A에 해당합니다.
Makemake : Michael Wester가 처음 개발하여 현대식 Fortran 코드를위한 올바른 makefiles를 구성하고 새로운 컴파일러를 위해 수정하고 Katherine Holcomb의 C ++를 위해 일하기 위해 처음 개발했습니다. 사용법은 여기에서 설명합니다.
Makemake90 : Jan Berges의 Modular Fortran 프로그램에 대한 makefiles를 생성하는 Python 스크립트. .f90 파일의 작업 디렉토리를 재귀 적으로 검색하고 해당 종속성을 결정합니다.
Meson : 차세대 빌드 시스템. Test-Meson은 Fortran 코드의 예제 Python 프로젝트입니다.
FORTRAN 패키지 관리자 용 MINGW 패키지 : FPM (Fortran Package Manager)에 대한 패키지 빌드 지침을 MSYS2 도구 체인과 호환합니다. 이 프로젝트는 릴리스 페이지에서 미리 빌드 된 Mingw 패키지를 제공합니다.
MKHELPER : Skosukhin의 GNU Autoconf 및 GNU Make Fortran Projects를 구축하는 데 사용할 수있는 유틸리티 수집
MKMF : NOAA-GFDL에서 분산 소스에서 Makefile을 구성하는 Perl5에 작성된 도구. 단일 실행 프로그램이 일반적인 결과입니다.
PYFPM : Sebastian Ehlert의 Fortran 패키지 관리자에 사용되는 FPM 패키지 Manifest 형식의 Pydantic 모델을 제공합니다.
run-fortran : lycantropos의 모듈 정의 및 사용법을 기반으로 한 Fortran 파일 정렬
Spack : 과학 소프트웨어를 쉽게 설치할 수있는 SuperComputers, Linux 및 MacOS의 패키지 관리자. 특정 언어와 연결되어 있지 않습니다. Python 또는 R에서 소프트웨어 스택을 구축하고 C, C ++ 또는 Fortran으로 작성된 라이브러리 링크를 만들 수 있으며 컴파일러를 쉽게 바꾸거나 특정 미세 아키텍처를 대상으로합니다.
Verbose-Goggles : Goddard Guryon의 Fortran 프로젝트 템플릿을 생성합니다. create_project.sh 스크립트는 입력으로 프로젝트 이름 (및 선택적으로 프로젝트 디렉토리 이름)을 취하고 프로젝트 폴더, 빌드 및 문서 폴더를 생성하고 CMAKE 및 DOXYGEN 용 템플릿 파일을 저장합니다.
XMAKE : LUA를 기반으로 한 경량 크로스 플랫폼 빌드 유틸리티. 프로젝트 빌드를 유지하기 위해 xmake.lua를 사용합니다. 지원되는 두 Fortran 컴파일러는 Gfortran 및 IFORT입니다.
ChatGpt : 영어 또는 다른 자연 언어로 문제 설명에서 Fortran 코드를 생성하고 다른 프로그래밍 언어에서 포트란으로, 때로는 오류가있는 코드를 변환합니다. Rungpt Chrome Extension을 사용하면 Code를 Gfortran으로 컴파일하고 Chatgpt 웹 인터페이스 내에서 실행할 수 있습니다. Fortran 코드를 생성 할 수있는 다른 LLM은 Perplexity, Groq, Claude, Mistral, Google의 Gemini가있는 Vertex AI, Meta AI의 Llama 3 및 Github Coplealot입니다.
IRPF90 : 파라미터 메소드 (IRP)에 암시 적 참조를 적용하여 대형 포트 란 코드 개발에 도움이되는 Fortran 프로그래밍 환경
메이플 : 메이플 코드를 Fortran 77 (c)로 변환하는 Fortran 명령이 있습니다.
MathCode F90 : Mathematica Code에서 독립형 Fortran 90 코드를 생성합니다. 선택적으로 MathLink를 통해 Mathematica (C)
MATLAB : FORTRAN 함수는 상징적 표현식에서 Fortran 코드 조각을 생성하거나 코드 조각 (C)을 포함하는 파일을 생성합니다.
Maxima 내장 Fortran 명령은 Fortran 문으로 표현식을 인쇄합니다. F77은 향상입니다.
Parametric Fortran : Martin Erwig et al. 확장은 이러한 매개 변수에 대한 프로그램 부품의 종속성을 설명하기 위해 Fortran 프로그램에서 참조 할 수있는 매개 변수 구조를 통해 지정됩니다.
PSYCLONE : FORTRAN의 유한 차이/부피/요소에 대한 유한 한 차이/요소에 대한 도메인 별 컴파일러 및 코드 변환 시스템
Sympy : Ivan Pribec이 묘사 한 것처럼 Fortran 코드를 생성 할 수있는 상징적 수학을위한 파이썬 라이브러리
Argv-Fortran : Jacob Williams의 할당 가능한 문자열로 인수를 반환하는 Fortran의 Better Get_command_argument
CMDFF : Brad Richardson의 Fortran 코드에 대한 더 좋은 명령 줄을 만듭니다.
Command_args : Arjen Markus의 프로그램에 전달 된 명령 줄 인수를 자동으로 처리합니다.
f90getOpt : getOpt ()-및 getOpt_long ()-Mark Gates의 코드를 기반으로 Hani Andreas Ibrahim의 Fortran 90의 기능 (c- 션과 유사)과 같은 것과 같습니다.
Fargparse : Goddard Fortran Ecosystem의 일부인 Fortran의 명령 줄 인수 구문 분석
FLAP : Stefano Zaghi의 Fortran 2003에서 복잡한 CLI의 (반복적) 건설을 단순화하도록 설계된 라이브러리. Flap은 Python 모듈 Argparse에서 영감을 얻어 그것을 모방하려고합니다.
FTN_GETOPT : Reinhold Bader의 C의 GetOpt 시설과 유사한 방식으로 명령 인수를 처리하는 방법을 제공합니다.
M_CLI : NAMELIST와 Urbanjost와 Laurence Kedward의 프로그램 호출과 매우 유사한 프로토 타입 문자열이 주어지면 명령 줄을 깨뜨립니다. Namelist 그룹을 사용하면 문자열을 필요한 유형으로 변환하거나 유형 선언을 복제 할 필요가 없다는 이점이 있습니다.
M_CLI2 : Urbanjost et al. 그런 다음 각 매개 변수 이름에 대해 get_args (3f) 또는 그 변형 중 하나를 호출하여 프로그램에서 변수를 적절하게 설정합니다.
m_kracken95 : Urbanjost의 명령 줄 구문 분석에 대한 Kracken (3F) 절차 (및 관련 루틴)의 Fortran 95 버전
OptionsF90 : Christopher N. Gilbreth의 Fortran 프로그램의 명령 줄 옵션 및 입력 매개 변수를 정의하고 구문 분석하기위한 모듈. 그것의 디자인은 Python의 OptParse 모듈에서 영감을 얻었습니다.
PARAMCARD : Takahiro Ueda의 명령 줄 매개 변수 입력
Fortran-Compiler-Test-Suite : Fortran 커뮤니티가 테스트를 추가하고 광범위한 컴파일러와 함께 프레임 워크를 쉽게 사용할 수 있도록하는 주요 목표를 가진 Fortran 컴파일러 테스트를위한 프레임 워크 및 사례 스위트가 포함되어 있습니다.
FTFRAMEWORK (FORTRAN TESTING FRAMEWORK) : AGFORERO의 BASH 자동 테스트 시스템 박쥐를 사용하여 Fortran 컴파일러를 쉽게 테스트 할 수 있도록 Python 및 Bash 스크립트 모음.
AMD 최적화 C/C ++/Fortran 컴파일러 (AOCC) : 고성능, 생산 품질 코드 생성 도구. AOCC 환경은 32 비트 및 64 비트 Linux® 플랫폼을 대상으로 C, C ++ 및 Fortran 응용 프로그램을 구축하고 최적화하는 동안 개발자에게 다양한 옵션을 제공합니다.
AOMP : Radeon ™ GPU의 OpenMP® API에 대한 지원이 추가 된 Open-Source Clang/LLVM 기반 컴파일러. F18을 설치하는 지침은 여기에 있습니다.
ARM FORTRAN 컴파일러 : Fortran 및 OpenMP를 지원하여 서버, HPC 및 과학 코드에 맞게 조정되었습니다. 이 컴파일러는 오픈 소스 플랜 프론트 엔드와 LLVM 기반 최적화 및 코드 생성 백엔드를 기반으로합니다. (기음)
F18-LLVM-PROJECT : F18에 대한 LLVM/LLVM-Project의 포크. F18-MLIR 및 F18과 동기화합니다.
FLANG : FLANG ( "Classic Flang"이라고도 함)은 LLVM을 대상으로하는 트리 외 Fortran 컴파일러입니다. PGI/NVIDIA의 상업용 포트란 컴파일러 인 PGFORTRAN의 오픈 소스 버전입니다.
Flang-Wasm : WebAssembly를 위해 Fortran 소스를 컴파일하는 데 사용할 수있는 패치 버전의 LLVM 버전을 빌드하는 도구가 포함되어 있습니다. 사전 구축 된 Fortran 런타임 라이브러리는 EMScripten을 사용하여 WebAssembly를 위해 구축됩니다.
FORTRAN-DEV-IMAGE : 이미지에는 Håkon Strandenes의 기본 빌드 도구 (CMAKE, NINJA)와 함께 최근 버전의 컴파일러, MPI 및 HDF5 라이브러리가 포함되어 있습니다. 그런 다음이 이미지를 사용하여 MPI 및 HDF5에 의존하는 Fortran 응용 프로그램을 컴파일하는 데 사용할 수 있습니다.
Fortran High Level Synthesis (Fortran-HLS-Main) : Vitis Ecosystem에 LLVM Flang을 통합하여 AMD Xilinx 장치에서 Fortran을 활성화하므로 시뮬레이션, 프로파일 링 및 하드웨어 비트 리림 생성과 같은 모든 기능을 사용할 수 있습니다. 관련 논문 : Fortran 고급 합성 : Gabriel Rodriguez-Canal et al.
FORTRAN-IOS : Flang을 사용하여 iOS ARM64의 소스를 구축하는 Fortran 컴파일러처럼 작용하는 스크립트, Emma Cold
Coarray Support : SourceryInstitute에서 Jupyter의 Fortran 커널
Fortran-Setup : Federico E. Benelli의 Ubuntu 기반 시스템에서 Fortran을 사용할 시스템을 설정하는 스크립트. 일부 Python 기반 도구 용 Python 패키지 관리자 인 Gfortran, 선택적으로 Intel Oneapi HPC, BLAS 및 Lapack, GDB, FZF (Fuzzy-Finder), Fortran 패키지 관리자 (FPM), Findent, Flinter, Ford, Fortls 및 Fortran_project, 개방형 프로젝트를 발성하고 개방 된 프로젝트를 설치합니다.
Fortran.rs : Xavier2p에 의해 Rust로 작성된 Fortran의 통역사, 진행중인 개발
Full-Stack-Fortran : Fortran을 webAssembly로 컴파일하는 툴체인과 Christoph Honal et al.
GFORTRAN : GNU FORTRAN 프로젝트, GNU 컴파일러 컬렉션 인 GCC 용 무료 Fortran 95/2003/2008 컴파일러 개발. Gfortran 개발 노력은 개방형 개발 환경을 사용하여 더 큰 개발자 팀을 유치하고 Gfortran이 여러 아키텍처 및 다양한 환경에서 작업 할 수 있도록합니다. 다양한 플랫폼에 Gfortran 설치는 Fortran-Lang에서 논의됩니다. Windows의 경우 QuickStart Fortran이 있습니다.
Gfortran-for-macos : fxcoudert의 MacOS Intel 용 Gfortran.
G95 : 여러 CPU 아키텍처 및 운영 체제에 사용할 수있는 안정적인 생산 Fortran 95 컴파일러. F2003 및 F2008 표준의 일부가 구현되었습니다.
HPE Cray 프로그래밍 환경 : 프로그래머 생산성, 응용 프로그램 확장 성 및 성능을 향상 시키도록 설계된 컴파일러, 도구 및 라이브러리가있는 완전히 통합 된 소프트웨어 제품군. 여러 프로그래밍 언어, 프로그래밍 모델, 컴파일러, I/O 라이브러리 및 과학 라이브러리를 지원하는 것 외에도이 스위트는 디버깅, 성능 분석, 워크로드 관리 및 환경 설정을 포함한 영역을위한 다양한 지원 도구를 제공합니다. (기음)
IBM FORTRAN : AIX® 용 XL FORTRAN : IBM AIX에서 최적화 및 조정 된 FORTRAN 응용 프로그램을 빌드합니다.
Linux 용 XL Fortran : Power9 ™ 프로세서를 포함하여 IBM Power® 시스템에서 Linux 용 HPC 및 Cognitive Fortran 응용 프로그램 최적화.
vs Fortran : IBM vs Fortran을 사용하여 IBM Z® 및 Z/VM®에 대한 효율적인 응용 프로그램을 개발하십시오. (기음)
Intel Fortran : Intel® Xeon® 확장 가능한 프로세서 및 Intel® Core ™ 프로세서의 내장 기술을 활용하면서 업계 표준을 지원하는 최적화 된 코드를 생성하는 오랜 역사를 기반으로합니다. 인텔의 진화하고 다양한 아키텍처와 정렬 된 상태에서 컴파일러는 이제 GPU를 지원합니다.
LFORTRAN : LLVM 위에 구축 된 최신 오픈 소스 (BSD 라이센스) 대화식 Fortran 컴파일러. 사용자 코드를 대화식으로 실행하여 탐색 작업 (Python, Matlab 또는 Julia와 같은)을 허용 할뿐만 아니라 멀티 코어 CPU 및 GPU와 같은 최신 아키텍처에서 사용자 코드를 실행하려는 목표로 바이너리에 컴파일 할 수 있습니다.
MacOS-Cross-Compiler : Jerred Shepherd에 의해 MacOS에서 실행될 Linux의 C, C, C ++ 및 Fortran 코드. 이 프로젝트는 최신 버전의 MACOS를 지원하는 데 중점을 둡니다.
Mercurium : C/C ++/Fortran 소스-소스 컴파일 인프라는 바르셀로나 슈퍼 컴퓨팅 센터의 프로그래밍 모델 그룹에서 개발 한 빠른 프로토 타이핑을 목표로합니다. Mercurium은 NANOS ++ 런타임 라이브러리와 함께 OMPSS 프로그래밍 모델을 구현하는 데 사용됩니다. 두 도구 모두 OpenMP 3.1의 구현도 제공합니다.
Modern-Fortran-Docker : Dockerfile을위한 Dockerfile. Ubuntu 23.10을 기반으로하며 Linux 커널을 몇 가지 향상시키고 GCC Gfortran v13.2.0을 지원합니다. 이 dockerfile은 Gfortran, OpenMPI 및 OpenCoArrays를 설치하고 현대 포트란 프로젝트를 클론합니다.
NAG : 강력하고 고도로 테스트 된 Fortran Compiler, 확인 기능 및 상세한 오류보고로 가치가 있습니다. Apple Silicon Mac을 포함한 Linux, Microsoft Windows 및 Mac OS X에서 사용할 수 있습니다. (기음)
NEC : FORTRAN 컴파일러는 FORTRAN-2003 표준 (ISO/IEC 1539-1 : 2004)을 준수하며 Fortran-2008 (ISO/IEC 1539-1 : 2010)의 많은 기능을 지원합니다. NEC는 고급 벡터 기계에 대한 컴파일러 기술 분야에서 30 년 이상의 경험을 가지고 있으며, 새로 개발 된이 컴파일러는이 경험을 기반으로하며 NEC 컴파일러가 알려진 모든 최적화 전략을 지원할 것입니다. (기음)
NVIDIA HPC 소프트웨어 개발 키트 : NVIDIA HPC SDK C, C ++ 및 FORTRAN 컴파일러는 표준 C ++ 및 FORTRAN, OpenACC® Directives 및 CUDA®를 통한 HPC 모델링 및 시뮬레이션 애플리케이션의 GPU 가속도를 지원합니다. GPU 가속 수학 라이브러리는 일반적인 HPC 알고리즘의 성능을 극대화하고 최적화 된 통신 라이브러리는 표준 기반 멀티 GPU 및 확장 가능한 시스템 프로그래밍을 가능하게합니다.
OMPI : Academic, Research 및 Industry Partners 컨소시엄에 의해 개발 및 유지되는 오픈 소스 메시지 전달 인터페이스 (MPI) 구현
Open Fortran Compiler (OFC) : 목표는 Fortran 정적 코드 분석 도구, 가능한 경우 F90으로 레거시를 재 인쇄 할 수있는 Fortran 정적 코드 분석 도구 및 오픈 소스 컴파일러의 대안 프론트 엔드를 제공하는 것입니다.
Oracle Developer Studio Fortran Compiler, F95 : 다음 기능과 확장 기능을 제공합니다. 멀티 프로세서 시스템, VAX/VMS Fortran 확장, OpenMP 병렬화 지시문 및 글로벌, Peephole 및 잠재적 병렬화 최적화를위한 최적화 된 자동 및 명시 적 루프 병렬화. (기음)
놀이터 : Ashirwad Mishra et al. 그것의 주요 목적은 새로운 이민자들이 언어에 대한 맛을 쉽게 맛보고 Fortran 프로그래밍의 필수 요소를 배우는 것입니다.
Rose : 대규모 C (C89 및 C98), C ++ (C ++ 98 및 C ++ 11), UPC, Fortran (77/95/2003), OpenMP, Java, Python 및 PHP 응용 프로그램을위한 소스 간 프로그램 변환 및 분석 도구를 구축하는 컴파일러 인프라
SETUP-FORTRAN : Fortran-Lang에서 Ubuntu, MacOS 및 Windows에서 Fortran 컴파일러 및 툴체인을 설정하는 GitHub 작업. 사용 가능한 컴파일러는 GFORTRAN, IFX, IFORT, LFORTRAN 및 NVFORTRAN입니다.
Silverfrost Fortran FTN95 : Full Fortran 95 표준 호환 컴파일러, Win32 및 Microsoft .NET 용 빠른 실행 파일을 생성 할 수 있습니다. FTN95는 세계 최고의 런타임 확인 및 다양한 지원 소프트웨어를 제공합니다. 무료 개인 판이 있습니다. (기음)
OpenVMS의 VSI Fortran : Fortran 66, Fortran 77, Fortran 90 및 Fortran 95 표준 지원
XCC-Project : Jianpingzeng이 Java로 작성한 C/C ++/Fortran 컴파일러 컬렉션
Fortran StackTrace : C ++ 라이브러리 뒤로 CPP 주변에 Fortran 래퍼를 제공하여 스택 추적을 생성합니다. 또한 스택 트레이스가 포함 된 오류를 생성하기 위해 Fortran 오류 처리 라이브러리와 통합됩니다.
GDB_FORTRAN_TOOLS : FORTRAN 코드의 고급 GDB 디버깅 지원 : 많은 기본 Numpy 어레이 연산자에 대한 일반적인 액세스 : Sum, Min, Max, Log10 등; 그래픽 : 플롯, imshow, 산란; 데이터 저장 : Pickle, CSV, Ken Mankoff 및 X-Neon
Serialbox : ETH Zurich의 참조 실행에 대한 검증 프레임 워크를 구축하는 데 사용되는 C/C ++, Fortran 및 Python3 용 데이터 직렬화 라이브러리 및 도구
UPS : Mark Russell에 의해 X11에서 실행되는 소스 레벨 C, C ++ 및 Fortran 디버거. 현재 지원되는 시스템은 Intel X86의 FreeBSD 및 GNU/Linux이며 SPARC의 Solaris입니다.
Align-F90 : Jannisteunissen의 EMACS에서 Fortran 90에 대한 정렬 지원
DOOM EMACS FORTRAN 모듈 : FORTRAN을위한 완전하고 현대적인 개발 환경을 가능하게합니다. FPM을 통한 FPM, LSP 지원, FPRETTIER를 통한 자동 형식 및 GFORTRAN 및 Intel Fortran 지원과 통합됩니다.
EMACS : 확장 가능, 사용자 정의 가능, 무료 텍스트 편집기. 여기에서 다운로드하십시오.
f90format : Steve Purcell의 Emacs-Reformatter와 Frettify를 연결하는 패키지는 Troy Brumley의 Modern Fortran 소스를 형식화합니다.
F90-Iface : Wence- 및 Monnier의 Fortran 90 일반 인터페이스 용 EMACS 기반 브라우저
F90-Namelist-Mode : Fortran Namelists를 처리하기 위해 EMACS F90 모드로 확장
Fortpy : Python Emacs Intellisense 및 Unit Testing Fortran, Rosenbrockc 및 Wsmorgan의 단위 테스트 지원
Fortpy-El : Fortpy와 통합되어 컨텍스트 별 자동 완성 및 Rosenbrockc의 객체 지향적 구성을 포함하여 Fortran 2003의 Intellisense를 제공하는 EMAC 용 LISP 패키지
FORTRAN-Index-Args : 숫자 서브 루틴 논쟁과 FFEVOTTE에 의해 목록의 각 인수 앞에 색인이 표시됩니다. 이러한 인덱스는 화면에 표시되지만 기본 버퍼를 수정하지는 않습니다.
FORTRAN 레이어 : Marco Scopesi의 Fortran 언어를위한 기본 Spacemacs 구성 레이어
FORTRAN-TAGS : FORTRAN 소스 코드 인덱싱 도구 Raullaasner et al. 모든 글로벌 및 로컬 변수를 올바르게 찾을 수 있으며 아래에 언급 된 일부 예외가있는 Fortran 2008 준수 코드와 함께 작동 할 것으로 예상됩니다.
fprettify.el : Osada-Yum의 현대 포트 란 코드를위한 자동 전달, fprettify의 인터페이스
CCX_FFF : Python 스크립트 Old Fortran 77 코드를 계산 픽스에서 자유 형식으로 전환합니다. 더 나은 코드 폴딩을 위해 주석과 연속 표시를 이동시킵니다.
EZUP : Fortran 고정 소스 양식을 ELF90과 호환하여 Fortran 고정 소스 양식을 자유 소스 양식으로 변환하는 도구, August Miller
F2F : Fortran 77 소스 코드를 Modern Fortran으로 변환하는 지루한 작업을 수행하는 Perl Script, Colby Lemon
F2F90 : Fortran 77 고정 소스 양식을 Fortran 90 무료 소스 양식, Michael Metcalf, Peter A. Rochford 및 Ben Trettel로 변환하는 유틸리티
F77TOF90 : FORTRAN 77 (.f 또는 .f) 고정 양식 파일에서 읽은 파이썬 스크립트는 MattdTurner에 의해 Fortran 90 파일 (.f90 또는 .f90)으로 자유 양식으로 변환합니다. 레거시 코드베이스 (400 .f/.f 파일 및 수백만 줄의 코드)를 Fortran 77에서 Fortran 90으로 변환하는 데 성공했습니다.
ffixed2free : Pirmin Kaufmann 및 Martin Schraner의 Fortran Fixed-Format 소스 코드 (Fortran 77 Style)를 프리 형식 소스 코드 (Fortran 90 Style)로 변환합니다. ffixed2free는 고정식 코드가 Fortran 77 표준으로 제한 될 필요가 없습니다.
FORTRAN77_TO_FORTRAN90 : 이전 고정 소스 FORTRAN 77 코드를 무료 양식 FORTRAN 90 코드로 변환하여 Koushikphy
FORTRAN-LEGACY-TOOLS : FORTRAN 코드를 다루는 도구 : 무료 소스 양식 변환기, 상단-소문자 변환기, 변수 선언을위한 Formatter, ylikx에 의해 수정되었습니다.
FORTRAN_TOOLS : James Goppert와 Lenna Peterson의 Python 2 스크립트
프리 스타일 : 고정 된 양식 Fortran 파일 (Fortran 77로 작성) 및 헤더 파일을 무료 양식으로 변환하는 스크립트
GCONVERT : GeorgetSikas에 의해 고정 양식 Fortran을 고정 또는 자유 형식으로 작동하는 코드로 변환하는 프로그램.
TO_F90 : JBDV-NO에서 FORTRAN 77 코드를 자유 형식 FORTRAN 90 코드로 변환하기위한 Alan Miller의 도구
Eggx/Procall : C, C ++ 및 Fortran 용 X11 그래픽 라이브러리는 단순성을 달성하기 위해 생성되었습니다. 기본 스타일 드로잉 기능을 사용하여 X 창 시스템에서 2D 그래픽을 쉽게 만들 수 있습니다.
FTK : Arjen Markus의 TCL/TK를 기반으로 Fortran에서 그래픽 사용자 인터페이스를 구축하는 간단한 수단을 제공합니다. 현재 상태에서는 본격적인 라이브러리가 아니라 개념 증명입니다.
FORTRAN-GRAPHICS : Ed Higgins가 OpenGL에 작성된 그래픽 라이브러리
Gino : 복잡한 2D 및 3D 그래픽 및 GUI 애플리케이션을 생성하기위한 고급 기능이 풍부한 API. Gino 제품은 Windows 및 Linux에서 Fortran에서 사용할 수 있습니다. (기음)
GTK-Fortran : Vincent Magnin et al. GTK-Fortran은 C와 Fortran 간의 상호 운용성을위한 ISO_C_BINDING 모듈 덕분에 FORTRAN에서 작성된 부분 GTK / FORTRAN 바인딩입니다.
작은 파일 대화 상자 : C에서 많은 모달 및 파일 대화 상자를 제공하고 Guillaume Vareille의 Fortran에서 이러한 기능을 호출 할 ISO_C_BINDING 인터페이스 / 모듈을 제공합니다.
Winteracter : Fortran 프로그래밍 언어를위한 GUI 도구 세트. 다양한 시각적 개발 도구와 상당한 서브 루틴 라이브러리로 구성됩니다. 여러 Fortran 컴파일러가 지원됩니다. (기음)
AJT-FORTRAN.VIM : Ajit J. Thakkar의 Vim Indent Script의 항구
ff08obfuscate : Ianh가 Fortran 2003에서 작성한 Fortran 2008 프로그램의 원인의 피상적으로 난독 화 된 변형을 생성하기위한 명령 줄 도구. 프로그램의 식별자를 수정하고 소스 주석없이 코드를 렌더링하여이를 수행합니다.
FINDENT : FORTRAN 소스, 고정 및 무료 형식, FORTRAN 고정 형식을 WVERMIN 및 MFTABRIZ의 FORTRAN FREE 형식으로 변환합니다. Gnikit의 Findent-Pypi에는 pypi 휠이 있습니다.
Flower : Urbanjost에 의해 Free-Format Fortran 코드를 모든 소문자 또는 모든 대문자로 변환합니다. 각각의 경우 주석과 인용 된 텍스트는 그대로 남아 있습니다.
Fortranindent : Kairzhan의 Fortran 90 출처를 들여 보내는 도구
FORTRANINDENTER_UNESP_2007 : RAFAEL DELALIBERA RODRIGUES 및 PAULO HENRIQUE ARANTES URGAL에 의해 C에서 개발 된 FORTRAN 77의 계약자 77
fprettify: auto-formatter for modern Fortran code that imposes strict whitespace formatting, written in Python, by pseewald
f90split: splits free source form Fortran code into multiple files, one module or procedure per file, by Michel Olagnon, adapted by urbanjost for use with the Fortran Package Manager. Contained procedures are stored within their parent procedure
IndentPatternFortran: general indentation patterns for Fortran, by JHenneberg
xpand: expands tabs in files. removes trailing white space, and optionally removes multiple blank lines, by urbanjost. It is primarily intended for use on systems without access to the Unix command expand(1).
ctypesForFortran: Python module to generate Python bindings to Fortran subroutines using ctypes, by Sébastien Riette and Alexandre Mary
Cython fortran-file: fast and easy reader for record-based binary format, as written by Fortran, by Corentin Cadiou
Cython_ISO_Fortran_binding: code for using ISO_Fortran_binding.h from Cython, by Yuichiro Sakamoto. By using ISO_Fortran_binding.pxd, it is possible to call Fortran from Cython in the same way as one calls Fortran from C.
extutils-f77: Perl module that tries to figure out how to link C programs with Fortran subroutines on a system, adding a list of Fortran runtime libraries, by mohawk2 et al.
f2py-with-derived-types: demonstrates how to use f2py with Fortran derived types with type-bound procedures, by Nick Wogan
F2x: versatile, template-based Fortran wrapper written in Python. Compared to the popular tool f2py it comes with two important differences: a full Fortran parser based on the work by the OpenFortranParser, and a very flexible code generation backend that uses Jinja2 templates.
f90nml: Python module and command line tool, by Marshall Ward et al., that provides a simple interface for the reading, writing, and modifying Fortran namelist files. A namelist file is parsed and converted into an Namelist object, which behaves like a standard Python dict
f90_port: tests Erlang ports to Fortran, by Pedro Schreiber, explained here
f90wrap: Fortran 90 to Python interface generator with derived type support, by jameskermode et al.
ffi-flang-zig: FFI between flang-new runtime and Zig by Matheus C. França, inspired by sourceryinstitute/ISO_Fortran_binding. LLVM/flang v18.1.7 files are included in this repository.
fffi: tool to transparently use shared libraries generated by Fortran in Python with NumPy arrays, from the pyccel project. It is based on CFFI and currently assumes the use of gfortran or Intel Fortran.
fgen: provides Python interfaces to Fortran code, specifically derived types, by Jared Lewis and Zebedee Nicholls. An example of fgen-wrapped Fortran code is at fgen-example.
fimport: Python import hook for importing Fortran module, by Pauli Virtanen
fmodpy: lightweight, efficient, highly automated, Fortran wrapper for Python, by Thomas Lux. The generated wrappers are self contained, written purely in Python, and are immediately sharable to any other POSIX platform with a Fortran compiler installed.
fortformat: Rust parser for Fortran format strings, by Joshua Laughner
Forthon: Python wrapper generator for Fortran, allowing access to functions and subroutines, by David Grote et al.
FortModGen: generate consistent Fortran and C/C++ data structures, and a consistent C/C++ API from a toml configuration file for global object interop, from neut-devel
fortran2cc2fortran: Fortran to C / C to Fortran (nested) index converter, by Hans Alemão
Fortran90Namelists.jl: Julia implementation of Python f90nml for working with Fortran namelists
FortranFile: read data using Swift from files using a Fortran format specification, by Nick Everitt
FortranFiles.jl: Julia package for reading/writing Fortran unformatted (ie binary) files, by Frank Otto et al.
Fortran filesystem: file system path manipulation utilities for standard Fortran, from scivision. Inspired by Python pathlib and C++17 filesystem.
FORTRAN format interpreter for Python (py-fortranformat): Generates text from a Python list of variables or will read a line of text into Python variables according to the FORTRAN format statement passed, by Brendan Arnold and michaelackermannaiub
fortran_magic: extension for IPython/Jupyter that helps to use Fortran in an interactive session, by Martín Gaitán
FortranNamelist: Java reading class for Fortran namelists, by Jonathan Schilling
Fortran Namelist Reader: Python and Matlab readers for Fortran namelist => dict / struct, from scivision
fortran-namelist: Ruby library to manipulate Fortran namelists, by Saji Hameed
fortran-unix: Fortran 2008 ISO C binding interfaces to selected POSIX and SysV types, functions, and routines on 64-bit Unix-like operating systems, by interkosmos
fpydemo: demonstration of packaging a command line tool written in Python and Fortran, by Saikat Banerjee
ftest: demonstrates how to call R functions from Fortran, by Balasubramanian Narasimhan. A fully worked example is provided in the form of a vignette.
fython: Fython is Fortran with a Python syntax, by Nicolas Essis-Breton. Fython code can be used in Python with a standard import statement.
GenericF2PY: demonstrates how to handle Fortran binaries in Python modules, by Charlie Taylor
gfort2py: library to allow calling Fortran code compiled with gfortran from Python 2.7 or Python 3, by Robert Farmer and Ondřej Čertík
h2m-Autofortran-Tool: allow easy calls to C routines from Fortran programs, by Garnet Liu and Michelle Anderson. Given a header file in standard C, h2m will produce a Fortran module providing function interfaces which maintain interoperability with C. Features for which there are no Fortran equivalents will not be translated and warnings will be written to standard error.
haskell-fortran: example of how to use Haskell's foreign function interface (FFI), and C's Fortran FFI, to connect ultimately Fortran code to Haskell, and to Haskell's HMatrix library, by Josh Freckleton
inline: provides functionality to dynamically define R functions (and corresponding S4 objects) from in-line C, C++ or Fortran code, by Dirk Eddelbuettel et al.
jansfortrankernel: Jupyter kernel implementation of Fortran, by Jan Arman Parpin
libfde: Fortran Development Extensions (library), by Zorkator
M_process: read and write lines to or from a process from Fortran via a C wrapper, by urbanjost
M_system: module that allows Fortran to call commonly available C routines that perform basic system operations like creating and deleting files and directories, changing and querying file permits, getting basic ID and process information, ... and other POSIX system requests, by urbanjost
multilingual-julia: minimally complete examples of Julia calling and being called by Fortran, C, and Python, by Alex Barnett
Mwrap: interface generation system in the spirit of SWIG or matwrap, by Zydrunas Gimbutas et al. From a set of augmented MATLAB script files, MWrap will generate a MEX gateway to desired C/C++/Fortran function calls and MATLAB function files to access that gateway. Mwrapdemo by Alex Barnett contains simple, minimally complete examples showing how to use MWrap to link to a C or Fortran library, pass in and out 1D and 2D arrays, handle complex, float, and Boolean types, and use OpenMP.
namelist_python: Fortran namelist parser in Python, by Leif Denby et al.
nml: R package for parsing Fortran namelist files, by Jem Stachelek et al.
nml: query/modify utility in Clojure for Fortran namelists, by Paul Madden and Jemma Stachelek
nml: serialize and deserialize Fortran namelist input in Rust using the serde framework, by manorom
node-fortran: bridge that allows Fortran code to be from Node.js, by Ionică Bizău
process_model: reads a TensorFlow SavedModel and outputs Fortran code to interface it to the fortran-tf-lib, by Simon Clifford et al.
pyifb: Python interface to Fortran's ISO_Fortran_binding.h, by Robert Farmer
RFortranRcpp: communication between Fortran, Rcpp and R, by Konrad1991. Passing R or Fortran user code to Fortran code from a package.
setup_mex: provides scripts that attempt to facilitate setting up the MATLAB MEX on macOS or Windows, by Zhang Zaikun. For Fortran, it will install (automatically) the Fortran compiler from Intel oneAPI
shroud: creates a Fortran or Python interface to a C or C++ library, from LANL. It can also create a C API for a C++ library.
Simplified Wrapper and Interface Generator (SWIG): creates Fortran wrapper code from C++ headers
SUtools: Tools for autogenerating Fortran registration code for R, by Balasubramanian Narasimhan
thenamelisttool: provide command line tools useful to work with namelists or pack of namelists (update them, compare them, ...), by Louis-François Meunier and Alexandre Mary
TorchFort: deep learning training and inference interface for HPC programs implemented using LibTorch, the C++ backend used by the PyTorch framework. This library can be invoked directly from Fortran or C/C++ programs.
vecLibFort: lightweight but flexible "shim" designed to rectify the incompatibilities between the Accelerate/vecLib BLAS and LAPACK libraries shipped with Mac OS X and FORTRAN code compiled with modern compilers such as GNU Fortran, by Michael C. Grant and Robert Huston
allgebra: docker images for developing C++ and Fortran HPC programs, by termoshtt and t-hishinuma
Codee: automatic code inspection platform specialized in performance for time-critical C/C++/Fortran applications (C). Training materials are here.
fortran-parser: Fortran preprocessor in Python, by Touko Puro, designed for multithreading and GPU offloading through OpenMP, featuring automatic privatization of modified global variables in multithreaded code, Fortran array operation unrolling to DO-loops with automatic declaratives to spread work either along CPU or GPU threads, automatic declarations for global variables needed in target regions, and function inlining which helps OpenMP offloading
gpufort: source-to-source translation tool for CUDA Fortran and Fortran+X in the spirit of hipify
hipfort: Fortran Interface For GPU Kernel Libraries
Hybrid-Fortran: directive-based extension for the Fortran language to support GPGPU. Its input is Fortran code with Hybrid Fortran extensions, and its output is CUDA Fortran or OpenMP Fortran code.
mpich: high-performance and widely portable implementation of the MPI-3.1 standard from the Argonne National Laboratory
occa: portable, and vendor neutral framework for parallel programming on heterogeneous platforms. The OCCA API provides unified models for heterogeneous programming concepts—such as a device, memory, or kernel—while the OCCA Kernel Language (OKL) enables the creation of portable device kernels using a directive-based extension to the C-language.
ohhelp-for-fpm: dynamic load balancing and scalability library that supports massively parallel particle-in-cell simulations using MPI. Each process handles the particle calculations within the partitioned area while taking on some of the particles handled by other processes so that the overall load is balanced.
Omni Compiler: compiler for code including XcalableMP, XcalableACC, and OpenACC directives. The base languages supported by Omni Compiler are C language (C99) and Fortran 2008 in XcalableMP, and C language (C99) in XcalableACC and OpenACC.
OMPify: generates OpenMP pragmas for C, C++ and Fortran code snippets using Transformers.
OpenCoarrays: supports Fortran 2018 compilers by providing a parallel application binary interface (ABI) that abstracts away the underlying parallel programming model, which can be the Message Passing Interface (MPI) or OpenSHMEM, from sourceryinstitute
SPEL_OpenACC: code associated with the paper SPEL: Software tool for Porting E3SM Land Model with OpenACC in a Function Unit Test Framework, by Peter Schwartz et al., 2022 Workshop on Accelerator Programming Using Directives (WACCPD). It provides a robust method to port the E3SM Land Model (ELM) onto GPUs.
stng: compiler for Fortran stencils using verified lifting, by Alvin Cheung et al. It takes input codes in Fortran and automatically rewrites them to Halide, a new high-performance domain-specific language that leverages GPUs for computation.
System FOR Automated Parallelization (SAPFOR): software development suite that is focused on cost reduction of manual program parallelization, by kaniandr and zoocide. It was primarily designed to perform a source-to-source transformation of a sequential program for execution on heterogeneous clusters.
accis: plotting and graphics library by Ian Hutchinson. Related project: PLOTTRACES
asgl: produces a PostScript or Encapsulated PostScript file that can contain scatter plots, line plots, histograms, 2D density plots, and/or bond-and-stick plots of molecules, by Andrej Šali
CHART_COUPE: Fortran plotting package based on NCL libraries, tuned for geophysical numerical model output, from meom-group
DISLIN: high-level plotting library for displaying data as curves, polar plots, bar graphs, pie charts, 3D-color plots, surfaces, contours and maps, available for several C, C++, Fortran 77 and Fortran 90/95 compilers on the operating systems Unix, Linux, FreeBSD, Windows, Mac OSX and MS-DOS. The DISLIN distributions can be used freely without any restrictions. Access to the source code and a preferred support is available via a contract.
Dislin_x_y_plot: generates plots from within a Fortran program nearly as easily as with the provided Dislin "quickplots", by Andi Zuend. However, unlike the quickplots, this module offers a lot more options for controlling the plot page, axis system and various curve properties. It also makes adding multiple x--y data sets (curves) to a single plot easy.
fplot: provides a convenient interface for plotting with gnuplot, by jchristopherson
fortplot: plot module for Fortran so that plotting can be done in real time (on the fly), by Anjishnu Sarkar
giza: 2D scientific plotting library built on cairo, by Daniel Price et al. Provides uniform output to pdf, ps, png and X-Windows. Written in C with no dependencies (other than cairo) as a direct replacement for PGPLOT.
gnufor2: Fortran 90 module by Alexey Kuznetsov with subroutines for plotting data, including 2D, 3D plots, surfaces, polar coordinates, and histograms. It is a modification of the GNUFOR interface written by John Burkardt.
gnuplotfortran: Fortran 95 gnuplot interface for some Unix-like OS'es, by Madhusudan Singh. This provides some routines that enables direct access of a child gnuplot session from a Fortran 95 program. fortranposix must be installed.
graffer: interactive tool for generating plots of data and/or functions, by James Tappin. The original graffer was an IDL program. This version provides most of the same functionality in a Fortran program using gtk-fortran and plplot for the GUI and plotting respectively. To display functions gdl (gnudatalanguage) or IDL is required.
M_calcomp: old graphics library used in conjunction with M_draw for work with old codes, by urbanjost. The CALCOMP library is a simple set of FORTRAN callable graphic routines that allows users to quickly construct plots.
M_slices: basic slice plot module based on M_draw(3f) and built using fpm, by urbanjost. This version requires X11 Windows.
MUESLI: numerical and graphical library, written mainly in Fortran 95, by Édouard Canot. Fortran Muesli Library contains all necessary materials to numerically work with a dynamic array (dynamic in size, type and structure), called mfArray. Fortran Graphics Library contains graphics routines which use the mfArray objects.
ogpf: Object-Based Interface to gnuplot from Fortran, by kookma
PG2PLplot: facilitate the transition from Fortran code linked against PGPlot to linking it against PLplot, which is open source and maintained. Currently, many PGPlot routines are included, but the code is by no means exhaustive.
PGPLOT PGPLOT Graphics Subroutine Library is a Fortran- or C-callable, device-independent graphics package for making simple scientific graphs, by Tim Pearson. It is intended for making graphical images of publication quality with minimum effort on the part of the user. For most applications, the program can be device-independent, and the output can be directed to the appropriate device at run time.
plotterf90: graphics subroutine library producing Postscript, by Masao Kodama
Plotutil: uses gnuplot to draw plots from data files, by Roninkoi. Has array handling utils and code for sorting and line fitting.
PLplot: can be used to create standard xy plots, semi-log plots, log-log plots, contour plots, 3D surface plots, mesh plots, bar charts and pie charts. Multiple graphs (of the same or different sizes) may be placed on a single page, and multiple pages are allowed for those device formats that support them. C library with bindings to Fortran 2003 and many other languages. archlinux-plplot-fortran has a plplot build for Fortran on archlinux, by Vikas Sharma.
PlPlotLib: wrapper for PlPlot inspired by the interface of matplotlib, by zoziha. It is intended to fill the need for rapid feedback while developing numerical simulations, and does not replace more sophisticated packages such as matplotlib or even direct use of PlPlot.
pltFor: Fortran-Python interface library by Damien Minenna to plot figures directly in Fortran, by calling Matplotlib
PSPLOT: library of Fortran-callable subroutines which can be combined in a calling program to produce PostScript plot files. Intended for users interested in generating technical drawings or graphics for technical journals in PostScript format.
PyFerret: Ferret is an interactive computer visualization and analysis environment designed to meet the needs of oceanographers and meteorologists analyzing large and complex gridded data sets, from NOAA/PMEL. It runs on recent Unix and Mac systems, using X windows for display. PyFerret, introduced in 2012, is a Python module wrapping Ferret.
pyplot-fortran: generate plots from Fortran using Python's matplotlib.pyplot, by Jacob Williams
SPLASH: visualisation tool for Smoothed Particle Hydrodynamics (SPH) simulations in one, two and three dimensions, developed mainly for astrophysics, by Daniel Price et al. It uses a command-line menu but data can be manipulated interactively in the plotting window. SPLASH can also be used as a standalone plotting tool for any kind of tabulated or image data from ascii, csv or .fits files.
efpp: preprocessor for eFortran, a dialect of modern Fortran presented in S. Hosoyamada and A. Kageyama, A Dialect of Modern Fortran for Simulations in Methods and Applications for Modeling and Simulation of Complex Systems, Communications in Computer and Information Science, vol 946, pages 439-448, 2018 (Proceedings of AsiaSim2018).
exceptions: experiment with exceptions in Fortran via a simple preprocessing step, by Arjen Markus
f90 do nest: Python script to generated deeply nested do loops in Fortran, by Thomas Hayward-Schneider. It will generate "classical" nested do/enddo in f90code.F90 and also a do concurrent version in f90code_conc.F90.
FMacro: template preprocessor for Fortran, by Harris Snyder. Aims to address Fortran's lack of support for generic programming with a simple preprocessor, modeled after some of the language committee's early ideas for a template language feature, to be included in a future Fortran standard.
fortiel: Fortran preprocessor and metaprogramming engine, by Jhuighuy
fypp: Python-powered preprocessor, by aradi. It can be used for any programming languages but its primary aim is to offer a Fortran preprocessor, which helps to extend Fortran with condititional compiling and template metaprogramming capabilities
prep: Fortran pre-processor written in Fortran, by urbanjost
Caliper: library to integrate performance profiling capabilities into applications, from LANL. To use Caliper, developers mark code regions of interest using Caliper's annotation API. Applications can then enable performance profiling at runtime with Caliper's configuration API.
HPCToolkit: integrated suite of tools for measurement and analysis of program performance on computers ranging from multicore desktop systems to the nation's largest supercomputers. By using statistical sampling of timers and hardware performance counters, HPCToolkit collects accurate measurements of a program's work, resource consumption, and inefficiency and attributes them to the full calling context in which they occur.
MALloc Tracker (malt): finds where and how memory is allocated in C/C++/Fortran applications
Reference-Counter: extensible, object-oriented reference-counting utility for Fortran, described in Rouson, Morris & Xia (2012) This Isn't Your Parents' Fortran: Managing C++ Objects with Modern Fortran. Computing in Science & Engineering 14(2), 46-54.
timemory: performance measurement and analyis package with modular and reusable components which can be used to adapt to any existing C/C++ performance measurement and analysis API and is arbitrarily extendable by users within their application, from NERSC
FLOPPY: checks FORTRAN 77 code it according to various "coding conventions", by Julian J. Bunn. It can "tidy" the source FORTRAN, producing a new file with indented, do-loops, block if-s, and so on. The FLOW program takes the binary summary file produced by FLOPPY and produces various reports on the structure of the original FORTRAN program.
FordADT: associated with paper An Automated Tool for Upgrading Fortran Codes, by Lesley Mak and Pooya Taheri, Software (2022), discussed here
Fortran Language Program Remodeling system (FLPR): C++17 library for manipulating Fortran source code, from LANL. This package contains a "best effort" Fortran 2018 input parser for fixed and free form inputs, data structures for manipulating source code at the program unit, statement, and physical line levels, and sample applications that illustrate usage and provide some ideas as to how you could use the library.
Glasgow Fortran Source-to-Source Compiler (RefactorF4Acc): automatic refactoring tool to make Fortran code acceleration-ready, by wimvanderbauwhede and rouson. RefactorF4Acc's main purpose is to make legacy FORTRAN 77 acceleration-ready. In the process it converts FORTRAN 77 code into Fortran 95. In addition, RefactorF4Acc has a backend to translate modules to C/OpenCL.
Fortran Kernel Generator: KGen: Python tool that extracts partial codes out of a large Fortran application and converts them into a standalone/verifiable/executable kernel, by Youngsung Kim and John Dennis
fortrantools: tools to enable the use old or proprietary Fortran code with gfortran. They are intended to be used together with the gcc extensions in CodethinkLab's gcc branch.
Refactoring Of QUEstionable FORTran (Roquefort): creates module to replace existing common blocks, removes unused variable imported from modules, transforms implicit variable declaration to explicit variable declaration, and moves variables to a new module, from NLESC-JCER
Tidy: renumbers and otherwise cleans up old and tired FORTRAN source programs. TIDY accepts ANSI Fortran 77 with a default of 19 continuation cards as well as some IBM and CDC dialect FORTRAN statements, originally by Harry Murphy
camfort: refactoring and verification tool for scientific Fortran programs. It currently supports Fortran 66, 77, and 90 with various legacy extensions.
Cleanscape FortranLint: static source code analysis tool that reduces your organizational exposure to risks from latent software problems by automatically identifying problems at their source -- in the Fortran code prior to compiling or executing programs. (기음)
CompareFortranNamelists: Python class to compare Fortran namelists, by Kai Keller
Code Comprehension Assistance for Evidence-Based performance Tuning (CCA/EBT): extracts the syntactic/semantic structures from Fortran code and then provides outline views of the loop-nests and the call trees decorated with source code metrics.
FF08Diff: command line tool for obtaining the semantic difference (difference in meaning, rather than appearance) between two sets of Fortran 2008 source files, written in Fortran 2003 by IanH
flint: Little linter for Fortran, with static analysis and formatting, by JonasToth
flint: aspires to be a Fortran parser, delinter, and analyser, by marshallward. For now, it is a Fortran tokenizer, with tools for parsing and automated documentation.
flint: source-code static analyzer and quality checker with multiple programming languages support. For fortran, it intends to follow the coding conventions mentioned in OMS Documentation Wiki page.
Forcheck: oldest and most comprehensive Fortran analysis tool on the market. It performs a static analysis of a Fortran program or separate Fortran program units. (기음)
fordoctest: assures consistent documentation of a Fortran code, by Federico E. Benelli, checking on the source files included in a FORD file and warning if there is more than one module per file or if there are undocumented isolated procedures, modules, module procedures, or procedure arguments.
fortitude: Fortran linter and formatter, written in Rust, from PlasmaFAIR
FortranAS: Antlr4-powered FORTRAN parsing and code clone detection tool. FortranAS leverages grammars-v4 to generate parsers and lexers and supports any FORTRAN version with available corresponding grammars.
FortranProcedureDictionary: parses Fortran source files and extract information about procedures such as main programs, modules, functions, and subroutines, by Akhil Akkapelli. It utilizes the ANTLR4 library through PyCall to parse Fortran syntax and generates a text file containing the extracted procedure details.
fortree: Python app that creates call trees of your Fortran code, by Esther Taillifet. Fortree makes call trees, definition trees and dependencies trees.
ForUML: reverse engineering tool that generates Unified Modeling Language (UML) class diagrams from object-oriented Fortran programs, by azizn and Damian Rouson. ForUML understands and diagrams Fortran class relationships, including inheritance and aggregation. ForUML also detects and depicts operator overloading, constructors, and parallel data structures (coarrays).
fortlint: Fortran static source code analysis for more secured and bug free applications
fortrancallgraph: static source code analysis for Fortran, tracking variables in a routine's callgraph, from fortesg
fortran-callgraph: Tool to create call graphs from JULES source code
FORTRAN_callgraph_browser: browsing tool that reads in a directory of Fortran code and displays it as an interactive graph, by Dan Ellis and Richard Rigby
Fortran code quality: simple Python script that parses Fortran files and gives feedback on a few metrics relating to code quality, by Eirik F. Kjønstad and Sander Roet
Fortran linter: simple fortran syntax checker, including automatic fixing of the code, from cphyc
fortran-linter: linter for Fortran 77 using Parsec-like parsing combinators in Python, by uchchwhash
fortran_python_tools: analyzes the variable usage of fixed source form Fortran 77 code, by jinyuntang
FortranTree: parses Fortran source code and creates a call tree graph with Python, by imaliyov. The code relies on pygraphviz and fparser.
fortran-vars: static analysis library for Fortran code. It is built on top of the open source project fortran-src which provides lexing, parsing and basic analyses of Fortran code. Fortran-vars focuses on supporting the Fortran 77 standard and extensions. It provides a Fortran memory model with a symbol table and storage table, constant expressions evaluation, constant propagation analysis.
fparser: parser in Python which supports Fortran 2003 and some Fortran 2008, maintained by Andrew Porter et al., originally by Pearu Peterson
fpt - Tools for Fortran Engineering - Error Checking, Measurement and Assessment, Structural Engineering, Software Migration, Run-time Testing, and more. (기음)
fsource: Fortran static analysis tool written in pure Python, by mwallerb
ftnchek: static analyzer for Fortran 77 programs. It is designed to detect certain errors in a Fortran program that a compiler usually does not.
fxtran: parses Fortran source code and decorates it with XML tags. The result is an XML file which can be searched with XPath, and modified with the DOM API.
i-CodeCNES: static code analysis tool to help developers write code compliant with CNES coding rules for Fortran 77, Fortran 90 and Shell, from cnescatlab. Related project: sonar-icode-cnes-plugin
K-scope: source code analysis tool with graphical user interface that visualizes program structures for Fortran 90 and FORTRAN 77 source code. This tool simply visualizes call tree from AST based on compiler's static analysis.
p6-fortran: Fortran language parser in Raku, by Edward Higgins
plusFORT - multi-purpose suite of tools for analyzing and improving Fortran programs, free for personal, educational and academic users working on non-commercial projects. (기음)
pyft: Python script that reads a Fortran code, parses it in xml, performs some manipulations, and reverts it to Fortran, from UMR-CNRM. It can add and remove variable declarations, find unused variables, convert code to lower or upper case, and do other things listed here.
Simple Lint GitHub Action (simple_lint): runs simple lint-like actions on files in a git repository, from NOAA-GFDL. The current list of lint actions are to check for trailing whitespace, check Fortran files for use of tab characters, and check Fortran files for lines longer then a specified length.
tree-sitter-fortran: Fortran grammar for tree-sitter, by Matthew Stadelman et al.
Understand: static analysis tool focused on source code comprehension, metrics, and standards testing, supporting standards through Fortran 2008 (C)
atom-build-fpm: plugin for running the Fortran Package Manager (fpm) from within Atom
Code::Blocks: free C/C++ and Fortran IDE built to meet the most demanding needs of its users. It is designed to be very extensible and fully configurable. SYLau has created a short tutorial on using Fortran with Code::Blocks.
linter-gfortran: linting Fortran code in Atom with gfortran
f90.kak: modern Fortran syntax for kakoune editor, by Andre Smit
FortranCodeNav: Visual Studio Extension which helps navigate modern Fortran code, by Tiemen Schreuder. It contains several parsers to generate a code structure representation which is used to provide jump-to and search functionality with limited context-awareness.
Fortran IntelliJ Idea plugin: Fortran language plugin for IntelliJ Idea, by satamas
Fortran Language Server: A Fortran implementation of the Language Server Protocol using Python (2.7+ or 3.0+), by hansec. Editor extensions using this language server to provide autocomplete and other IDE-like functionality are available for Atom, Visual Studio Code, Visual Studio, (Neo)vim, and Emacs.
Fortran Language Server (fortls): based on @hansec's original Language Server implementation but the two projects have since diverged. fortls (this project) is now developed independently by gnikit of the upstream hansec/fortran-language-server project and contains numerous bug fixes and new features the original fortran-language-server does not.
fortranNeoVIM: neovim config for Fortran programming, by Vuncano. Config files made using Lua, inpired by third part config. Also FortranDictionary_vim, a Fortran keyword dictionary, or word list, made to use specially with vim's built-in dictionary completion
fortran_syntax_highlighter_lite-xl: syntax highlighter for Fortran in lite-xl, by Rohan Vashisht
fortran.tmbundle: TextMate support for Fortran. TextMate is a graphical text editor for macOS 10.12 or later.
fortran-vim-plugin: Vim plugin for Fortran developers that can be used to jump to the declaration of a variable, subroutine, function, etc. and to all its references, by Tobias Melson
fossil: Fortran IDE designed in Python by someone eager to learn Fortran but in an easy and accessible way, by nrwade0
Guide_VSCode-fortran: comprehensive guide on how to set up a complete development environment for Fortran in Visual Studio Code, by Julian Henneberg
Modern-Fortran: language syntax for highlighting of Fortran code in Sublime Text, by eirik-kjonstad. It highlights modern Fortran (Fortran 90 and newer) and incorporates features introduced in Fortran 2003, 2008, and 2018.
neovim: Vim-fork focused on extensibility and usability
Photran: IDE and refactoring tool for Fortran based on Eclipse and the CDT. Photran supports Fortran 77-2008. It includes 39 refactoring, including Rename, Extract Procedure, and loop transformations
qtcreator-fortran: support for Fortran projects and source files in Qt Creator as well as syntax-highlighting, by Jonas Lindemann
Simply Fortran: modern Fortran development environment for Microsoft Windows, Apple macOS, and GNU/Linux systems. It includes the Aplot library for creating two-dimensional graphs and plots quickly from Fortran routines and AppGraphics for creating graphics and graphical user interfaces from either Fortran or C. Free 30-day trial. (기음)
SublimeLinterFortran: linter plugin for SublimeLinter provides an interface to gfortran, by Ramón L. Panadés-Barrueta and Tejas Shetty. It will be used with files that have free format Fortran syntax.
TiddlyFor: single file, self-contained wiki, aa flavor of TiddlyWiki, for a Fortran programmer but that can be used for any other purposes, by Mohammad Rahmani. It can be put on the web, sent as an email attachment, or put on a thumb drive. Some features are syntax highlighting for modern Fortran and support for math formulas through katex.
vim: improved version of the UNIX editor Vi. Many new features have been added: multi-level undo, syntax highlighting, command line history, on-line help, spell checking, filename completion, block operations, script language, etc. Download here.
vimf90: Fortran ide for vim
vim-findent: vim plugin for Findent, which indents Fortran sources, by cradesto
vim-fortran-fpm: convenience functions for integrating vim with Fortran Package Manager, by Alexey Vyskubov
vim-FORTRAN-UPPER: vim plugin for automatic capitalization in Fortran source, by William C. Dawn
vim-tmux-IDE: minimal vim IDE by luco00. Sets a connection with external terminal via tmux to interactively execute code (Python, R, Julia, Fortran, Go are supported).
Visual Studio Code (vscode): combines the simplicity of a code editor with what developers need for their core edit-build-debug cycle, from Microsoft. It provides comprehensive code editing, navigation, and understanding support along with lightweight debugging, a rich extensibility model, and lightweight integration with existing tools.
vs-fortran-ls-client: Language Server Protocol client that connects to Chris Hansen's Fortran Language Server to add IntelliSense for Fortran to Visual Studio 2017
vscode-fortran-support: extension that provides support for the Fortran programming language. It includes syntax highlighting, debugging, code snippets and a linting based on gfortran.
vscode-modern-fortran-formatter: formatter extension for modern Fortran using fprettify, by Yuki Hanayama
Yapakit: free Fortran source code editor for Windows, Linux or Mac. It can automatically an html documentation of a project and generate Fortran 90 dependencies for inclusion in a makefile, taking module dependencies into account
CFortranTranslator: translator from Fortran to C++ that provides statement-wise translation to improve readability, by Calvin Neo and Michael Tesch
f2c: convert Fortran 77 to C
F2C-Translator: translates Fortran to C++, by Bin Lei. Also HPC-Code-translation-and-generation: tests the translation and generation performance of Fortran HPC code using CodeXGLUE and ChatGPT, and OpenMP-Fortran-CPP-Translation, associated with the paper Creating a Dataset for High-Performance Computing Code Translation using LLMs: A Bridge Between OpenMP Fortran and C++
f2cpp: Converts Fortran 77 code to C++, by victorliu. Unlike f2c, the output of f2cpp.pl may or may not compile, however, only a small number of hand-tuned changes are typically needed. The resulting code is much cleaner than f2c's output, and much closer to the original intent of the original Fortran code.
f2j: translate Fortran 77 to Java, especially for BLAS, LAPACK and ARPACK
f2matlab: converts Fortran 90 code to Matlab m-files, by benbarrowes. Accordingly, only basic data types and constructions are recommended.
f2perl: translates Fortran 77 into Perl, by Steve Hancock. Also at GitHub.
f4go: Transpiling Fortran code to golang code, by Konstantin8105
F77Ccompiler: compiler from Fortran 77 to C, by Danil
Fortran-CPP-HPC-code-translation-dataset: data set for the preprint Creating a Dataset for High-Performance Computing Code Translation: A Bridge Between HPC Fortran and C++ (2023), by Bin Lei et al.
Fortran2Cpp: aims to create an accurate and comprehensive Fortran-to-C++ translation dataset for fine-tining LLMS such as ChatGPT-4, by Bin Lei and Chunhua Liao
Fortran to C++ Conversion from Objexx: conversion process preserves the structure and syntax of the Fortran to retain the value of the existing documentation and developer knowledge. Another product converts Fortran to Python (C).
fortran2julia: Python script to translate Fortran 90 to Julia, by algorithmx
fortran2julia: parses to JSON by fortran-parser, after which parse.jl converts to JSON to Julia, by Tom Rottier. Requires dotnet runtime to be installed.
Fortran2Julia.js: converts Fortran codes to Julia codes using regular Expressions, groups and backreferences, by Shuhei Ohno. A web interface is here.
FortranTranspiler.jl: partial transpiler from Fortran to Julia, by Denis Telnov
Incomplete Fortran to C/C++ converter: translates Fortran 77 to readable C/C++, by Sebastian Macke
loki: tool to explore the possible use of source-to-source translation for ECMWF's Integrated Forecasting System (IFS) and associated Fortran software packages. Loki is based on compiler technology (visitor patterns and ASTs) and aims to provide an abstract, language-agnostic representation of a kernel, as well as a programmable (Pythonic) interface that allows developers to experiment with different kernel implementations and optimizations.
c2f: partial C to Fortran translator by David Frank
Macrofort: Fortran code generator in Maple, by Claude Gomez
makeFortran: converts Mathematica Code to Fortran, by joelgog
matlab2fmex: small translator which aims to convert numerical Matlab m-files to Fortran90 mex files, by Ben Barrowes. matlab2fmex first translates an m-file to a Fortran90 mex source file then compiles that Fortran90 file using Matlab's mex and the local compiler.
matlab2fortran: performs some simple conversions from Matlab code to Fortran, by ebranlard
Mc2For: MATLAB to Fortran compiler, from Sable
numeta: simple Just-In-Time (JIT) compiler for Python, focused on metaprogramming, by Andrea Bianchi. Currently, the code generates Fortran code that is compiled and executed.
pyccel: Pyccel can be viewed as a Python-to-Fortran/C converter or a compiler for a Domain Specific Language with Python syntax
automates: Automated Model Assembly from Text, Equations, and Software, from ml4ai
bench-cli: cross-platform command line tool to benchmark commands and other executables/scripts in command lines written in Fortran, by Lateralus138. Very precise and fast.
Fortran Debug Utilities: collection of some utilities useful for debugging code, by Pål Levold
Fortran-gdb-pp: gdb pretty printer for Fortran dynamic types, by Peter Hill
fortran-git: Fortran 2008 ISO C binding interfaces to libgit2, by interkosmos
Fortran-RefCount: simple reference counting for Fortran
fortran-sigwatch: library of routines to provide simple signal watching for Fortran programs, originally by Norman Gray, modified by Michael Hirsch. This allows a minimal level of control of a running program from outside it, for example to tell it to checkpoint itself on receipt of a signal.
Fortran-Standard-Search: shell script searching a string in the titles of the subsection of the Fortran standard, and opening the pages in a PDF viewer, by Vincent Magnin. It is based on pdfgrep, cut and okular.
irep: tool for filling C/C++ or Fortran data structures from Lua input tables, from LLNL
libconfort: a small library to handle simple configuration files from Modern Fortran (2008+), by Dominik Gronkiewicz
nmltab: Python 3 module and command-line tool to tabulate, semantically diff, superset and consistently format Fortran namelist files, with output to text, markdown, csv, latex and namelists, by Andrew Kiss and Aidan Heerdegen. Requires Python 3.4 or later, and f90nml (amongst other packages).
nml-to-f90: generates Fortran source code for handling parameter I/O from a namelist, by perrette
progRESS+repORT (progrep}: utility to show live progress, status and stats of a running simulation or any compute job that executes a given number of iterations, by SomajitDey. Progrep can report for both serial (single-core) and parallel (multi-core/multi-node - eg OpenMP/MPI) jobs.
f90tw: provides Fortran wrappers for a limited subset of the Boost and Google test frameworks functionality, by loudove. At the same time, it offers a rather simple mechanism for setting up and managing test suites in Fortran projects.
ForDebug: library designed for debugging Fortran code, especially within pure procedures, by Seyed Ali Ghasemi
FortCompare: tool to mitigate the amount of behavior changed between two implementations of the same Fortran function or subroutine, by aijac0
fort_test: very lightweight testing framework that supports basic assertions and running of test sets, by Thomas Marks
fortran-testanything: test library supporting the Test Anything Protocol (TAP) inspired by Perl's Test::More module, by dennisdjensen
fortran_test_helper: library to provide assistance to testing, by Jason Christopherson
FortranTestGenerator: automatically generates unit tests for subroutines of existing Fortran applications based on an approach called Capture & Replay, from fortesg
fortran-unit-test: unit test library in Fortran to encourage scientific programmer to write tests, by dongli
fortran_unit_test: minimalistic Fortran unit tests with CMake and CTest, by Felix Chern
Fortran-Unit-Test: shows how to link Fortran code with C/C++ and a testing framework such as Google Test, by Rich Morrison
Fortran_UnitTest: unit test library based on OOP, by zhenkunl. It is strongly inspired by Zofu, and its output format is derived from fortran-unit-test.
Fortran Unit Test Framework (FortUTF): unit test framework written purely in Fortran to be compatible with as many projects as possible, by Kristian Zarębski
Fortran Unit Test Library: pure Fortran library using Object-Oriented Programming (OOP), by zhenkunl. It is strongly inspired by Zofu, and its output format is derived from fortran-unit-test.
Fortran Unit Testing Objects (Fortuno): flexible and extensible Fortran unit testing framework for testing serial, MPI-parallelized and coarray-parallelized applications, by Bálint Aradi
ForUnitTest: simple, object-oriented unit testing framework, by Seyed Ali Ghasemi.
FRUIT: Fortran unit test framework in Ruby, by mortele and michaelkonecny
ftest: minimalistic unit testing, by Ladislav Méri
FUnit: lightweight library for writing, administering, and running unit tests in Fortran, by Andrey Pudov. It is an instance of the xUnit architecture and provides Fortran programmers a basic testing functionality with a flexible variety of user interfaces.
fytest: lightweight unit testing framework for Fortran, by aradi. Thanks to its header-only design, it can be easily bundled with any Fortran project without creating extra dependencies.
julienne: compiler-portable, unit-testing framework for modern Fortran, including accelerated coarray Fortran software, by Katherine Rasmussen and Damian Rouson
M_framework: aggregate of Fortran modules useful for creating terminal messages, comparing expected values to results, writing logfiles and playback journals and performing unit tests for Fortran, by urbanjost
par-funnel: unit test parameterizer using namelist, by Tomohiro Degawa. Par-funnel is not a unit test framework but is intended to be used with other unit test frameworks.
pFUnit: unit testing framework enabling JUnit-like testing of serial and MPI-parallel software written in Fortran, from Goddard-Fortran-Ecosystem. Limited support for OpenMP is also provided in the form of managing exceptions in a thread-safe manner.
tap: minimal producer implementation of the "Test Anything Protocol" (TAP) in Fortran 90, from gzahl
test-drive: lightweight, procedural unit testing framework based on nothing but standard Fortran, by awvwgk. Integration with meson, cmake and Fortran package manager (fpm) is available. testdrive_util by Tomohiro Degawa provides procedures to make using test-drive more convenient.
Testing Or ASsertion Toolkit (TOAST): unit testing library by thomasms and Bob Apthorpe
Vegetables: testing framework written using functional programming principles, by Brad Richardson. As many of its procedures as possible are marked with the pure keyword while still allowing the framework to test impure code.
XFunit: object oriented framework to implement unit testing in Fortran 2018, by Fran Martinez Fadrique. Unit testing with XFunit is structured in suites and units. A test suite typically define all test to be implemented for a Fortran module.