(c) ระบุผลิตภัณฑ์เชิงพาณิชย์
AD_DNSVM: เครื่องมือสร้างความแตกต่างอัตโนมัติของ Fortran โดยใช้โหมดไปข้างหน้าสำหรับสเกลาร์ (S), เวกเตอร์ (V) และเมทริกซ์ (M) โดย David Lauvergnat ไม่มีข้อ จำกัด ในแง่ของจำนวนตัวแปรอิสระ (หมายเลขนี้ถูกกำหนดไว้ที่รันไทม์) และสามารถคำนวณอนุพันธ์ที่สามได้
ADF95: การปรับเปลี่ยน Jingchang Shi เพื่อทำงานร่วมกับ Gfortran ของโปรแกรมที่อธิบายไว้ใน ADF95: เครื่องมือสำหรับการแยกความแตกต่างโดยอัตโนมัติของรหัส Fortran ที่ออกแบบมาสำหรับตัวแปรอิสระจำนวนมากโดย Christian W. Straka, การสื่อสารทางฟิสิกส์คอมพิวเตอร์, เล่มที่ 168, ฉบับที่ 2, 1 มิถุนายน 2548, หน้า 123-139
Adifor: ด้วยซอร์สโค้ด Fortran 77 และข้อกำหนดของผู้ใช้ของตัวแปรที่ขึ้นอยู่กับและอิสระ Adifor จะสร้างรหัสอนุพันธ์ที่เพิ่มขึ้นซึ่งคำนวณอนุพันธ์บางส่วนของตัวแปรตามที่ระบุทั้งหมดที่เกี่ยวข้องกับตัวแปรอิสระทั้งหมดที่ระบุทั้งหมดนอกเหนือจากผลลัพธ์ดั้งเดิม
adjac: ความแตกต่างโดยอัตโนมัติสำหรับการสร้าง Jacobians ที่กระจัดกระจายโดยใช้ Fortran 95 และ Operator มากเกินไปโดย Pauli Virtanen
Audito: เครื่องมือสร้างความแตกต่างอัตโนมัติสำหรับ Fortran โดย Michel V. Heinz ตัวดำเนินการทางคณิตศาสตร์ได้รับการโอเวอร์โหลดเพื่อทำงานกับประเภทที่กำหนดใหม่ซึ่งรวมถึงค่าฟังก์ชันไม่เพียง แต่ยังรวมถึงการไล่ระดับสีเฮสเซียและลาพลาเซีย
AUTO_DERIV: โมดูลประกอบด้วยชุดของขั้นตอน FORTRAN 95 ซึ่งสามารถใช้ในการคำนวณอนุพันธ์บางส่วนแรกและสอง (ผสมหรือไม่) ของฟังก์ชั่นต่อเนื่องใด ๆ ที่มีตัวแปรอิสระจำนวนมากโดย S. stamatiadis และ SC Farantos ส่วนหนึ่งของห้องสมุดโปรแกรมการสื่อสารทางฟิสิกส์คอมพิวเตอร์ ฟังก์ชั่นทางคณิตศาสตร์ควรแสดงเป็นขั้นตอน FORTRAN 77/90/95 อย่างน้อยหนึ่งขั้นตอน
Autodiff: ความแตกต่างอัตโนมัติสำหรับอนุพันธ์สูงสุดที่ 4 โดย Simon Geard
Auto-Diff: การใช้งานใน Modern Fortran ของการสร้างความแตกต่างอัตโนมัติในโหมดย้อนหลังโดย Zoziha
Dual Number Automatic Differentiation (DNAD): อัปเดตรหัสจาก Yu, W. และ Blair, M.: "DNAD, เครื่องมือง่าย ๆ สำหรับการแยกความแตกต่างอัตโนมัติของรหัส FORTRAN โดยใช้หมายเลขคู่," การสื่อสารทางฟิสิกส์คอมพิวเตอร์, ฉบับที่ 184, 2013, pp. 1446-1452, โดย Oddlehod โครงการที่เกี่ยวข้อง: FORTRAN_DNAD ส้อมโดย Oyvindyr ใช้มาโคร FYPP ประโยชน์ของวิธีการนี้คืออินเทอร์เฟซและการใช้งานของฟังก์ชั่นทางคณิตศาสตร์สามารถ "ฉีด" ลงในโมดูลที่ใช้
Fazang: ห้องสมุดสำหรับการสร้างความแตกต่างอัตโนมัติโหมดย้อนกลับซึ่งได้รับแรงบันดาลใจจากไลบรารี Stan/Math โดย Yi Zhang Zoziha ได้อัปเดตโครงการเพื่อทำงานกับ Gfortran และ Ifort
OpenAD: เครื่องมือสำหรับการสร้างความแตกต่างอัตโนมัติ (AD) ของโปรแกรมคอมพิวเตอร์ตัวเลข
Tapenade: เอ็นจิ้นความแตกต่างอัตโนมัติพัฒนาที่ Inria สามารถเรียกใช้ออนไลน์หรือดาวน์โหลดและติดตั้งในพื้นที่เป็นชุดของคลาส Java (jar archive)
การแปลงอัลกอริทึมใน FORTRAN (TAF): ผู้แปลแหล่งที่มาถึงแหล่งสำหรับรหัส FORTRAN 77-95 เช่น TAF ยอมรับรหัส FORTRAN 77-95 เป็นอินพุตใช้การแปลงความหมายและสร้างรหัส FORTRAN 77-95 TAF สนับสนุนการเปลี่ยนแปลงทางความหมายหลายครั้ง สิ่งที่สำคัญที่สุดคือความแตกต่างอัตโนมัติ (AD) คือการสร้างรหัสสำหรับการประเมินอนุพันธ์อันดับแรก (Jacobian Matrix) (c)
Doxygen: สร้างเบราว์เซอร์เอกสารออนไลน์ (ใน HTML) และ/หรือคู่มืออ้างอิงออฟไลน์ (ใน LaTex) จากชุดไฟล์แหล่งที่มาที่บันทึกไว้ นอกจากนี้ยังมีการสนับสนุนสำหรับการสร้างผลลัพธ์ใน RTF (MS-word), Postscript, PDF ที่เชื่อมโยงหลายมิติ, HTML ที่บีบอัด, DOCBOOK และ UNIX MAN
f90tohtml: สคริปต์ Perl เพื่อแปลงไฟล์ต้นฉบับ Fortran เป็นเว็บไซต์ไฮเปอร์ลิงก์
ฟอร์ด: สร้างเอกสาร FORTRAN โดยอัตโนมัติจากความคิดเห็นภายในรหัสจากโปรแกรม FORTRAN-FOSS
HTMLINDEX: รหัส C ++ ซึ่งสร้างหน้า "Skeleton" HTML หน้าสำหรับ A C, C ++, FORTRAN77 หรือ FORTRAN90 SORCED CODE FILE, บันทึกทุกขั้นตอนในไฟล์ ... หากแต่ละรูทีนได้รับการทำเครื่องหมายอย่างเหมาะสมโดย John Burkardt ข้อมูลหลังจากเครื่องหมายมักจะเป็นคำอธิบายบรรทัดเดียวของสิ่งที่กิจวัตรทำ
Protex: สคริปต์ Perl ที่สามารถดึงข้อมูลจากส่วนหัวเอกสารมาตรฐาน Fortran และบันทึกไว้ในไฟล์ LaTex โดย Arlindo da Silva และคณะ
เวอร์ชัน F: การใช้งานของเวอร์ชันความหมาย 2.0.0 โดย Minh Dao ซึ่งมีจุดมุ่งหมายที่จะเป็นเครื่องมือที่ใช้งานง่ายสำหรับการจัดการเวอร์ชันในโครงการ Fortran
BuildNis: ระบบสร้างแพลตฟอร์มอิสระที่สามารถจัดการโมดูล C ++ 20 และ Fortran และมีความยืดหยุ่นพอที่จะสร้างสิ่งอื่นและจัดการขั้นตอนการสร้างต่างๆ
CMake Cross-Platform เครื่องกำเนิดระบบบิวด์โอเพ่นซอร์ส fortran_with_cmake_examples โดย Christensencode ให้ตัวอย่างคอนกรีตที่มีคำอธิบายให้มากที่สุดเท่าที่จะเป็นไปได้เพื่อให้ชัดเจนกับคนที่มีประสบการณ์ค่อนข้างน้อยกับ CMake
CMAKE UTILS: สคริปต์และโมดูลที่เป็นประโยชน์สำหรับ CMAKE โดยเฉพาะอย่างยิ่งสำหรับการคำนวณทางวิทยาศาสตร์ HPC และ FORTRAN จาก Scivision
CookieCutter-Fortran-Project: เทมเพลตสำหรับการตั้งค่าโครงการ Fortran ใหม่ช่วยให้ผู้ใช้สามารถเลือกจากระบบการสร้างต่าง ๆ (CMake, FPM และ Meson) และโมเดลขนานที่แตกต่างกันเช่นอนุกรม MPI และ Coarray โครงการที่สร้างขึ้นรวมถึงห้องสมุดการทดสอบหน่วย (ปัจจุบันใช้เฟรมเวิร์กการทดสอบหน่วย Fortuno) และเป็นทางเลือกแอปพลิเคชันแบบสแตนด์อโลนและตัวอย่าง
ง่าย: ขั้นตอนในการตั้งค่าที่เก็บ GitHub ด้วยการกระทำ FPM และการดำเนินการของ GitHub รวมถึงเอกสารฟอร์ด (1) และการทดสอบหน่วยโดย Urbanjost
f90_makefile_builder: โปรแกรม Python เพื่อสร้าง makefile สำหรับโปรแกรม Fortran 90 โดยการค้นหาแต่ละโมดูลสำหรับการพึ่งพาโดย Benjamin Pieczynski อัลกอริทึมกำหนดลำดับของการพึ่งพาและสร้างไฟล์ Make ในลำดับที่ถูกต้อง
FAB: สร้างระบบสำหรับโครงการ FORTRAN และ C ได้รับการออกแบบมาเพื่อสร้างแอพพลิเคชั่นทางวิทยาศาสตร์ที่สำคัญของ Met Office, LFRIC และ UM
FCM: Modern Fortran Build System + Wrappers ไปยังการโค่นล้มสำหรับการพัฒนาซอฟต์แวร์ทางวิทยาศาสตร์จาก Metomi
FF08DEPERS: เครื่องมือบรรทัดคำสั่งสำหรับการรับข้อมูลการพึ่งพาไฟล์สำหรับไฟล์ต้นฉบับ Fortran 2008 ที่เขียนใน Fortran 2003 โดย IANH
fobis.py, ระบบอาคาร Fortran สำหรับคนจน: การแยกวิเคราะห์ไฟล์โดยอัตโนมัติสำหรับการสร้างลำดับชั้นการพึ่งพาในกรณีที่ใช้งานและรวมถึงคำสั่งและการสร้างอัตโนมัติของโปรแกรมทั้งหมดที่พบในไดเรกทอรีรากที่แยกวิเคราะห์หรือเป้าหมายเฉพาะที่เลือกโดย Szaghi et al
Fortdep: Python 3 Script สำหรับการสร้างการพึ่งพาระหว่างโมดูล Fortran สำหรับ Make โดย Dominik Gronkiewicz
Fortdepend: Python Script เพื่อสร้างการพึ่งพาสำหรับโครงการ Fortran โดย Zedthree
Forte: สคริปต์สั้น ๆ สามารถเรียกใช้รหัส Fortran 90 จากภายใน Linux Shell ได้อย่างยืดหยุ่นได้มากขึ้นโดย Ed Higgins
Fortran-Compiler-with-two-computers: รหัส Python เพื่ออำนวยความสะดวกในการทำงานของการรวบรวมไฟล์ต้นฉบับ Fortran บนคอมพิวเตอร์เครื่องหนึ่งและเรียกใช้เอาต์พุตที่รวบรวม (DLL) โดย Jucelio Tavares Junior เหมาะอย่างยิ่งสำหรับสภาพแวดล้อมแบบกระจายที่การจำลองและกระบวนการรวบรวมได้รับการจัดการโดยเครื่องแยกต่างหาก
FORTRANDEP: เครื่องมือ Python เพื่อกำหนด MakeFile Dependencies สำหรับโครงการ Fortran โดย Ryan Orvedahl
Fortran_makeps: สคริปต์ Python ขนาดเล็กเพื่อสแกนแหล่งที่มาของ Fortran และสร้างการพึ่งพาที่เหมาะสมกับ MakeFile โดย James Biddle
FORTRANMAKEUTILS: Python Scripts สำหรับการสร้างต้นไม้ที่พึ่งพาและ MakeFiles โดย Denis Eiras
Fortran Package Manager สำหรับ Visual Studio: เพิ่มตัวเลือกและรายการเมนูสำหรับการสร้างการรันและทดสอบโครงการ Fortran ของคุณโดยใช้ Fortran Package Manager (FPM) โดย EverythingFunctional
เทมเพลตโครงการ FORTRAN: เทมเพลตโครงการพร้อมการตรวจสอบล่วงหน้าคอมไพล์ตรวจสอบด้วย fpm build การทดสอบอัตโนมัติด้วย fpm test การจัดรูปแบบรหัสด้วย fprettify
FPM: Fortran Package Manager (FPM) เป็นตัวจัดการแพ็คเกจและระบบสร้างสำหรับ Fortran จาก Fortran-Lang
FPM-completions: ฟังก์ชั่นการเสร็จสิ้นบรรทัดคำสั่งสำหรับผู้จัดการแพ็คเกจ Fortran โดย Shinobu Amasaki ZSH จำเป็นต้องใช้แพ็คเกจนี้ในปัจจุบัน
FPM-GUI: อินเทอร์เฟซผู้ใช้กราฟิกของ Straigtforward สำหรับ Fortran Package Manager (FPM) โดย Arjen Markus
FPM-Registry: รีจิสทรีจากส่วนกลางของแพ็คเกจ FPM สำหรับเว็บไซต์ Fortran-lang
FPM-Search: แสดงรายการแพ็คเกจที่มีอยู่ในสาขาวิชา FPM จากบรรทัดคำสั่งโดย Urbanjost และ Sebastian Ehlert สิ่งนี้ช่วยให้สามารถค้นหาแพ็คเกจ FPM (1) ได้อย่างรวดเร็วและสร้างบรรทัดการพึ่งพาที่เกี่ยวข้องเพื่อแทรกลงในไฟล์ Manifest แพ็คเกจ FPM (1) (FPM.TOML) ที่ต้องการใช้
GFORTRAN-Config: สคริปต์แบทช์ Windows เพื่อสร้างและเรียกใช้รหัส Fortran โดยอัตโนมัติในสภาพแวดล้อม MingW-W64 GFORTRAN และสคริปต์ทุบตีแบบอะนาล็อกสำหรับ Ubuntu Linux โดย Cloudy-SFU
gitHubactions_intro: แนะนำการกระทำของ GitHub เป็นเครื่องมือสำหรับระบบอัตโนมัติที่มีน้ำหนักเบาของเวิร์กโฟลว์ข้อมูลทางวิทยาศาสตร์พร้อมตัวอย่างใน Python และ Fortran โดยใช้ Gnuplot โดย Oscar Mojica
Homebrew-Fortran: ให้คำแนะนำในการสร้างแพ็คเกจสำหรับเครื่องมือและห้องสมุดเกี่ยวกับ Fortran ที่เข้ากันได้กับ Homebrew Toolchain โดย Federico Perini และคณะ แพ็คเกจที่มีอยู่จากการแตะนี้คือ FPM: Fortran Package Manager และ LFortran: คอมไพเลอร์ Fortran ที่ใช้ LLVM แบบอินเทอร์แอคทีฟที่ทันสมัย
Intel® Oneapi Math Kernel Library Library Library Link Link ที่ปรึกษา: ขอข้อมูลเกี่ยวกับระบบคอมพิวเตอร์และวิธีที่หนึ่งตั้งใจที่จะใช้Intel® Oneapi Math Kernel Library (ลิงก์แบบไดนามิกหรือแบบคงที่ใช้โหมดเกลียวหรือลำดับและอื่น ๆ )
JAMS_MAKEFILE: จัดเตรียมวิธีการแบบพกพาที่หลากหลายในการรวบรวม Fortran, C, C ++ และโครงการผสมโดย Mcuntz
makeedepf90: สร้างการพึ่งพารหัส Fortran โดย Erik Edelman
MakeFile-Maker: Automatic Fortran Makefile Maker โดย Garl4nd โปรแกรมสแกนไฟล์ FORTRAN ทั้งหมดสำหรับการนำเข้าไฟล์ต้นฉบับอื่น ๆ และสร้างกราฟการพึ่งพาโดยตรงซึ่งแต่ละจุดยอดแสดงไฟล์และลูกศรจาก A ถึง B สอดคล้องกับไฟล์ A ขึ้นอยู่กับ B
MakeMake: Perl Script พัฒนาโดย Michael Wester เพื่อสร้าง MakeFiles ที่ถูกต้องสำหรับรหัส Fortran สมัยใหม่และแก้ไขสำหรับคอมไพเลอร์ใหม่และทำงานให้กับ C ++ โดย Katherine Holcomb การใช้งานของมันถูกกล่าวถึงที่นี่
MAKEMAKE90: สคริปต์ Python ที่สร้าง MakeFiles สำหรับโปรแกรม Modular Fortran โดย Jan Berges มันค้นหาไดเรกทอรีการทำงานซ้ำ ๆ สำหรับไฟล์. F90 และกำหนดการอ้างอิงของพวกเขา
Meson: ระบบสร้างรุ่นต่อไป Test-Meson เป็นตัวอย่างโครงการ Python ที่มีรหัส FORTRAN
แพ็คเกจ MingW สำหรับ Fortran Package Manager: ให้คำแนะนำในการสร้างแพ็คเกจสำหรับ Fortran Package Manager (FPM) ที่เข้ากันได้กับ MSYS2 Toolchain โครงการนี้มีแพ็คเกจ MingW ที่สร้างไว้ล่วงหน้าที่หน้ารุ่น
MKHELPER: ชุดค่าสาธารณูปโภคที่จะใช้กับ GNU Autoconf และ GNU Make สำหรับการสร้างโครงการ Fortran โดย Skosukhin
MKMF: เครื่องมือที่เขียนใน Perl5 ที่จะสร้าง makefile จากแหล่งกระจายจาก NOAA-GFDL โปรแกรมปฏิบัติการเดียวคือผลลัพธ์ทั่วไป
PYFPM: จัดทำโมเดล pydantic ของรูปแบบการแสดงแพ็คเกจ FPM ที่ใช้ใน Fortran Package Manager โดย Sebastian Ehlert
Run-Fortran: เรียงลำดับไฟล์ Fortran ตามคำจำกัดความของโมดูลและการใช้งานโดย Lycantropos
Spack: Package Manager สำหรับซูเปอร์คอมพิวเตอร์, Linux และ MacOS ที่ทำให้การติดตั้งซอฟต์แวร์ทางวิทยาศาสตร์เป็นเรื่องง่าย มันไม่ได้เชื่อมโยงกับภาษาเฉพาะ - หนึ่งสามารถสร้างสแต็คซอฟต์แวร์ใน Python หรือ R, ลิงก์ไปยังไลบรารีที่เขียนใน C, C ++ หรือ Fortran และสลับคอมไพเลอร์หรือ microarchitectures เฉพาะเป้าหมายได้อย่างง่ายดาย
Verbose-Goggles: สร้างเทมเพลตโครงการ Fortran โดย Goddard Guryon สคริปต์ create_project.sh ใช้ชื่อโครงการ (และเลือกชื่อไดเรกทอรีโครงการ) เป็นอินพุตสร้างโฟลเดอร์โครงการสร้างโฟลเดอร์ Build และ DOCS ภายในและบันทึกไฟล์เทมเพลตสำหรับ CMake และ Doxygen
Xmake: ยูทิลิตี้บิลด์ข้ามแพลตฟอร์มที่มีน้ำหนักเบาขึ้นอยู่กับ Lua มันใช้ xmake.lua เพื่อรักษาโครงการสร้าง คอมไพเลอร์ Fortran สองตัวที่รองรับคือ Gfortran และ Ifort
chatgpt: สร้างรหัส Fortran จากคำอธิบายปัญหาเป็นภาษาอังกฤษหรือภาษาธรรมชาติอื่นและแปลรหัสจากภาษาการเขียนโปรแกรมอื่น ๆ ไปยัง Fortran บางครั้งมีข้อผิดพลาด ส่วนขยายของ RunGPT Chrome ช่วยให้สามารถรวบรวมรหัสด้วย GFORTRAN และทำงานภายในเว็บอินเตอร์เฟส ChatGPT LLM อื่น ๆ ที่สามารถสร้างรหัส Fortran ได้แก่ Perplexity, Groq, Claude, Mistral, Vertex AI กับ Gemini จาก Google, Llama 3 บน Meta AI และ GitHub Copilot
IRPF90: สภาพแวดล้อมการเขียนโปรแกรม FORTRAN ซึ่งช่วยในการพัฒนารหัส Fortran ขนาดใหญ่โดยใช้การอ้างอิงโดยนัยกับวิธีพารามิเตอร์ (IRP)
เมเปิ้ล: มีคำสั่ง FORTRAN ที่แปลรหัสเมเปิ้ลเป็น FORTRAN 77 (C)
MathCode F90: สร้างรหัส Standalone Fortran 90 จากรหัส Mathematica, เชื่อมต่อทางเลือกผ่าน MathLink ถึง Mathematica (C)
MATLAB: ฟังก์ชั่น FORTRAN สร้างชิ้นส่วนรหัส FORTRAN จากนิพจน์สัญลักษณ์หรือสร้างไฟล์ที่มีส่วนของรหัส (C)
Maxima คำสั่ง Fortran ในตัวพิมพ์นิพจน์เป็นคำสั่ง FORTRAN F77 เป็นการปรับปรุง
Parametric Fortran: เครื่องกำเนิดเครื่องกำเนิดโปรแกรม Fortran ที่สามารถสร้างส่วนขยายของ Fortran ซึ่งเชี่ยวชาญในการสนับสนุนการเขียนโปรแกรมของแอปพลิเคชันเฉพาะโดย Martin Erwig et al ส่วนขยายจะถูกระบุผ่านโครงสร้างพารามิเตอร์ที่สามารถอ้างถึงในโปรแกรม FORTRAN เพื่ออธิบายการพึ่งพาชิ้นส่วนโปรแกรมในพารามิเตอร์เหล่านี้
PsyClone: คอมไพเลอร์เฉพาะโดเมนและระบบการแปลงรหัสสำหรับโมเดลความแตกต่าง/ระดับเสียง/องค์ประกอบของระบบโลกใน Fortran
Sympy: Library Python สำหรับคณิตศาสตร์สัญลักษณ์ที่สามารถสร้างรหัส Fortran ดังที่แสดงโดย Ivan Pribec
Argv-Fortran: ดีกว่า get_command_argument สำหรับ Fortran ที่ส่งคืนอาร์กิวเมนต์ในสตริงอักขระที่จัดสรรได้โดย Jacob Williams
CMDFF: ทำให้บรรทัดคำสั่งที่ดีกว่าสำหรับรหัส FORTRAN โดย Brad Richardson
command_args: จัดการอาร์กิวเมนต์บรรทัดคำสั่งโดยอัตโนมัติที่ส่งผ่านไปยังโปรแกรมโดย Arjen Markus
f90getOpt: getOpt ()-และ getopt_long ()-ชอบฟังก์ชั่น (คล้ายกับ C-functions) สำหรับ Fortran 90 โดย Hani Andreas Ibrahim ตามรหัสโดย Mark Gates
FARGPARSE: การโต้เถียงบรรทัดคำสั่งการแยกวิเคราะห์ FORTRAN ซึ่งเป็นส่วนหนึ่งของระบบนิเวศของ Goddard Fortran
พนัง: ห้องสมุดที่ออกแบบมาเพื่อทำให้การสร้าง (ซ้ำ) ของ CLI ที่ซับซ้อนใน Fortran 2003 โดย Stefano Zaghi Flap ได้รับแรงบันดาลใจจากโมดูล Python Argparse และพยายามเลียนแบบมัน
ftn_getopt: จัดหาวิธีการจัดการอาร์กิวเมนต์คำสั่งในลักษณะที่คล้ายกับสิ่งอำนวยความสะดวก GetOpt ใน C โดย Reinhold Bader
M_CLI: รอยแตกบรรทัดคำสั่งเมื่อได้รับ namelist และสตริงต้นแบบที่ดูเหมือนการเรียกใช้โปรแกรมโดย Urbanjost และ Laurence Kedward การใช้กลุ่ม namelist มีประโยชน์ที่ไม่มีข้อกำหนดในการแปลงสตริงเป็นประเภทที่ต้องการหรือเพื่อทำซ้ำการประกาศประเภท
M_CLI2: รอยแตกบรรทัดคำสั่งเมื่อได้รับสตริงต้นแบบที่ดูเหมือนการเรียกใช้โปรแกรมโดย Urbanjost และคณะ การเรียกใช้ get_args (3F) หรือหนึ่งในตัวแปรของมันจะถูกสร้างขึ้นสำหรับแต่ละชื่อพารามิเตอร์เพื่อตั้งค่าตัวแปรอย่างเหมาะสมในโปรแกรม
M_KRACKEN95: ขั้นตอน Kracken (3F) เวอร์ชัน Fortran 95 (และกิจวัตรที่เกี่ยวข้อง) สำหรับการแยกสายคำสั่งโดย Urbanjost
ตัวเลือก F90: โมดูลสำหรับการกำหนดและแยกวิเคราะห์ตัวเลือกบรรทัดคำสั่งและพารามิเตอร์อินพุตสำหรับโปรแกรม Fortran โดย Christopher N. Gilbreth การออกแบบของมันได้รับแรงบันดาลใจจากโมดูล OptParse ของ Python
paramcard: อินพุตพารามิเตอร์บรรทัดคำสั่งทำง่ายโดย takahiro ueda
Fortran-compiler-test-suite: มีกรอบและชุดของกรณีสำหรับการทดสอบคอมไพเลอร์ Fortran ด้วยเป้าหมายหลักของการทำให้ง่ายสำหรับชุมชน Fortran ในการเพิ่มการทดสอบและทำให้ง่ายต่อการใช้เฟรมเวิร์กกับคอมไพเลอร์ที่หลากหลายโดย Brad Richardson et al
Fortran Framework (FTFramework): คอลเลกชันของสคริปต์ Python และ Bash เพื่อเปิดใช้งานการทดสอบคอมไพเลอร์ Fortran โดยใช้ Bash Automated System Bats โดย Agforero
AMD การเพิ่มประสิทธิภาพ C/C ++/FORTRAN Compiler (AOCC): ประสิทธิภาพสูงเครื่องมือสร้างรหัสคุณภาพการผลิต สภาพแวดล้อมของ AOCC มีตัวเลือกต่าง ๆ ให้กับนักพัฒนาในขณะที่สร้างและเพิ่มประสิทธิภาพแอพพลิเคชั่น C, C ++ และ Fortran ที่กำหนดเป้าหมายแพลตฟอร์มLinux® 32 บิตและ 64 บิต
AOMP: คอมไพเลอร์ที่ใช้ Open-Source Clang/LLVM พร้อมการสนับสนุนเพิ่มเติมสำหรับOpenMP® API บน Radeon ™ GPU คำแนะนำในการติดตั้ง F18 อยู่ที่นี่
คอมไพเลอร์ ARM FORTRAN: ปรับแต่งสำหรับเซิร์ฟเวอร์, HPC และรหัสวิทยาศาสตร์โดยรองรับ FORTRAN และ OPENMP คอมไพเลอร์ถูกสร้างขึ้นบน Flang Front-end โอเพนซอร์สและการเพิ่มประสิทธิภาพตาม LLVM และการสร้างรหัสย้อนกลับ (c)
F18-LLVM-Project: ส้อมของโครงการ LLVM/LLVM สำหรับ F18 ซิงค์กับ F18-MLIR และ F18
Flang: Flang (หรือที่รู้จักกันในชื่อ "Classic Flang") เป็นคอมไพเลอร์ Fortran นอกต้นไม้ที่กำหนดเป้าหมาย LLVM มันเป็นเวอร์ชันที่เปิดกว้างของ PGFORTRAN ซึ่งเป็นคอมไพเลอร์ FORTRAN เชิงพาณิชย์จาก PGI/NVIDIA
Flang-Wasm: มีเครื่องมือในการสร้างคอมไพเลอร์ Flang-New เวอร์ชันของ LLVM ที่สามารถใช้ในการรวบรวมแหล่ง Fortran สำหรับ WebAssembly ห้องสมุดรันไทม์ Fortran ที่สร้างไว้ล่วงหน้านั้นถูกสร้างขึ้นสำหรับ WebAssembly โดยใช้ Emscripten
FORTRAN-DEV-IMAGE: รูปภาพมีคอมไพเลอร์เวอร์ชันล่าสุดห้องสมุด MPI และ HDF5 พร้อมกับเครื่องมือสร้างพื้นฐาน (CMAKE, NINJA) โดยHåkon Strandenes ภาพเหล่านี้สามารถใช้ในการรวบรวมแอปพลิเคชัน Fortran ที่ขึ้นอยู่กับ MPI และ HDF5
การสังเคราะห์ระดับสูงของ Fortran (Fortran-HLS-Main): ช่วยให้ Fortran บนอุปกรณ์ AMD Xilinx ผ่านการบูรณาการของ Flang LLVM ในระบบนิเวศ Vitis ซึ่งช่วยให้สามารถใช้คุณสมบัติทั้งหมดเช่นการจำลองการสร้างโปรไฟล์และการสร้างฮาร์ดแวร์ bitsreams กระดาษที่เกี่ยวข้อง: การสังเคราะห์ระดับสูงของ Fortran: ลดอุปสรรคในการเร่งรหัส HPC บน FPGAs โดย Gabriel Rodriguez-Canal และคณะ
FORTRAN-IOS: สคริปต์ที่ทำหน้าที่เหมือนคอมไพเลอร์ FORTRAN ที่ใช้ Flang เพื่อสร้างแหล่งที่มาสำหรับ iOS ARM64 โดย Emma Cold
เคอร์เนล Fortran สำหรับ Jupyter ที่มีการสนับสนุน Coarray: จาก SourceryInstitute
FORTRAN-SETUP: สคริปต์เพื่อตั้งค่าระบบเพื่อใช้ FORTRAN ในระบบที่ใช้ Ubuntu โดย Federico E. Benelli มันติดตั้งตัวจัดการแพ็คเกจ Python สำหรับเครื่องมือที่ใช้ Python, Gfortran, Intel OneAPI HPC, BLAS และ LAPACK, GDB, Fuzzy-Finder (FZF), Fortran Package Manager (FPM), Findent, Flinter, Ford, Fortls และ Fortran_project
fortran.rs: ล่ามสำหรับ Fortran เขียนด้วย Rust โดย Xavier2p การพัฒนากำลังดำเนินการ
Full-Stack-Fortran: Toolchain เพื่อรวบรวม Fortran ไปยัง WebAssembly และโครงการสองสามโครงการที่ใช้โดย Christoph Honal และคณะ
GFORTRAN: โครงการ GNU FORTRAN พัฒนาคอมไพเลอร์ FORTRAN 95/2003/2008 ฟรีสำหรับ GCC คอลเลกชันคอมไพเลอร์ GNU ความพยายามในการพัฒนา Gfortran ใช้สภาพแวดล้อมการพัฒนาแบบเปิดเพื่อดึงดูดทีมนักพัฒนาขนาดใหญ่และเพื่อให้แน่ใจว่า Gfortran สามารถทำงานกับสถาปัตยกรรมที่หลากหลายและสภาพแวดล้อมที่หลากหลาย การติดตั้ง GFORTRAN บนแพลตฟอร์มต่าง ๆ ถูกกล่าวถึงที่ Fortran-Lang สำหรับ Windows มี Quickstart Fortran
gfortran-for-macos: gfortran สำหรับ macOS Intel โดย fxcoudert
G95: คอมไพเลอร์ที่มีเสถียรภาพการผลิต Fortran 95 พร้อมใช้งานสำหรับสถาปัตยกรรม CPU หลายแห่งและระบบปฏิบัติการ ส่วนหนึ่งของมาตรฐาน F2003 และ F2008 ได้ถูกนำไปใช้
สภาพแวดล้อมการเขียนโปรแกรม HPE Cray: ชุดซอฟต์แวร์แบบบูรณาการอย่างสมบูรณ์พร้อมคอมไพเลอร์เครื่องมือและไลบรารีที่ออกแบบมาเพื่อปรับปรุงประสิทธิภาพการทำงานของโปรแกรมเมอร์ความสามารถในการปรับขนาดของแอปพลิเคชันและประสิทธิภาพ นอกเหนือจากการสนับสนุนสำหรับภาษาการเขียนโปรแกรมหลายภาษาโมเดลการเขียนโปรแกรมคอมไพเลอร์ไลบรารี I/O และห้องสมุดวิทยาศาสตร์ Suite นำเสนอเครื่องมือที่รองรับหลากหลายสำหรับพื้นที่รวมถึงการดีบักการวิเคราะห์ประสิทธิภาพการจัดการเวิร์กโหลดและการตั้งค่าสภาพแวดล้อม (c)
IBM FORTRAN: XL FORTRAN สำหรับAIX®: สร้างแอพพลิเคชั่น FORTRAN ที่ปรับให้เหมาะสมและปรับแต่งบน IBM AIX
XL Fortran สำหรับ Linux: เพิ่มประสิทธิภาพแอพพลิเคชั่น HPC และ Cognitive Fortran สำหรับ Linux บนระบบ IBM Power®รวมถึงโปรเซสเซอร์ Power9 ™
VS FORTRAN: พัฒนาแอพพลิเคชั่นที่มีประสิทธิภาพสำหรับ IBM Z®และ Z/VM®ด้วย IBM กับ Fortran (c)
Intel Fortran: สร้างขึ้นจากประวัติอันยาวนานของการสร้างรหัสที่ดีที่สุดที่รองรับมาตรฐานอุตสาหกรรมในขณะที่ใช้ประโยชน์จากเทคโนโลยีในตัวสำหรับโปรเซสเซอร์ที่ปรับขนาดได้ของIntel®Xeon®และโปรเซสเซอร์Intel® Core ™ อยู่ในแนวเดียวกันกับสถาปัตยกรรมที่พัฒนาและหลากหลายของ Intel ตอนนี้คอมไพเลอร์รองรับ GPU
LFORTRAN: Open-Source (BSD ที่ได้รับใบอนุญาต) คอมไพเลอร์แบบอินเทอร์แอคทีฟที่สร้างขึ้นบน LLVM มันสามารถเรียกใช้รหัสของผู้ใช้แบบโต้ตอบเพื่ออนุญาตงานสำรวจ (เช่น Python, Matlab หรือ Julia) รวมทั้งรวบรวมถึงไบนารีโดยมีเป้าหมายเพื่อเรียกใช้รหัสของผู้ใช้บนสถาปัตยกรรมสมัยใหม่เช่นซีพียูหลายคอร์และ GPU
MacOS-Cross-Compiler: Compile C, C ++ และ Fortran บน Linux ที่จะดำเนินการบน MacOS โดย Jerred Shepherd โครงการนี้มุ่งเน้นไปที่การสนับสนุน MacOS รุ่นใหม่
Mercurium: C/C ++/FORTRAN Source-to-Source Compilation Infrastructure มุ่งเป้าไปที่การสร้างต้นแบบที่พัฒนาโดยกลุ่มโมเดลการเขียนโปรแกรมที่ศูนย์การคำนวณซูเปอร์คอมพิวเตอร์บาร์เซโลนา Mercurium ใช้ร่วมกับไลบรารี Nanos ++ Runtime เพื่อใช้โมเดลการเขียนโปรแกรม OMPSS เครื่องมือทั้งสองให้การใช้งาน OpenMP 3.1
Modern-Fortran-Docker: Dockerfile เพื่อสร้างภาพนักเทียบท่าที่ทันสมัย มันขึ้นอยู่กับ Ubuntu 23.10 ซึ่งมีการปรับปรุงหลายอย่างกับเคอร์เนล Linux และรองรับ GCC GFORTRAN V13.2.0 DockerFile นี้ติดตั้ง Gfortran, OpenMPI และ OpenCoArrays และยัง Git Clones โครงการ Fortran สมัยใหม่
NAG: คอมไพเลอร์ Fortran ที่แข็งแกร่งและผ่านการทดสอบสูงมูลค่าสำหรับความสามารถในการตรวจสอบและการรายงานข้อผิดพลาดโดยละเอียด มีให้บริการบน Linux, Microsoft Windows และ Mac OS X รวมถึง Apple Silicon Mac (c)
NEC: Fortran Compiler สอดคล้องกับมาตรฐาน FORTRAN-2003 (ISO/IEC 1539-1: 2004) และรองรับคุณสมบัติมากมายจาก FORTRAN-2008 (ISO/IEC 1539-1: 2010) NEC มีประสบการณ์มากกว่า 30 ปีในด้านเทคโนโลยีคอมไพเลอร์สำหรับเครื่องเวกเตอร์ระดับสูงและคอมไพเลอร์ที่พัฒนาขึ้นใหม่เหล่านี้จะขึ้นอยู่กับประสบการณ์นี้และสนับสนุนกลยุทธ์การเพิ่มประสิทธิภาพทั้งหมดที่คอมไพเลอร์ NEC เป็นที่รู้จัก (c)
ชุดพัฒนาซอฟต์แวร์ NVIDIA HPC: NVIDIA HPC SDK C, C ++ และ FORTRAN คอมไพเลอร์รองรับการเร่งความเร็ว GPU ของการสร้างแบบจำลอง HPC และแอปพลิเคชันการจำลองด้วยมาตรฐาน C ++ และ Fortran, OpenACC® Directions และCUDA® ไลบรารีคณิตศาสตร์ที่เร่งด้วย GPU ช่วยเพิ่มประสิทธิภาพสูงสุดในอัลกอริทึม HPC ทั่วไปและไลบรารีการสื่อสารที่ดีที่สุดเปิดใช้งาน Multi-GPU ตามมาตรฐานและการเขียนโปรแกรมระบบที่ปรับขนาดได้
OMPI: การใช้งานอินเทอร์เฟซส่งข้อความโอเพ่นซอร์ส (MPI) ที่ได้รับการพัฒนาและดูแลรักษาโดยกลุ่มนักวิชาการการวิจัยและพันธมิตรอุตสาหกรรม
Open Fortran Compiler (OFC): เป้าหมายคือการจัดหาเครื่องมือวิเคราะห์รหัสสแตติก Fortran ซึ่งเป็น Fortran Modernizer ซึ่งสามารถพิมพ์มรดก Fortran เป็น F90 ได้หากเป็นไปได้
Oracle Developer Studio Compiler, F95: จัดเตรียมคุณสมบัติและส่วนขยายต่อไปนี้: การปรับคู่แบบอัตโนมัติและการขยายอย่างชัดเจนสำหรับระบบมัลติโปรเซสเซอร์, ส่วนขยาย VAX/VMS Fortran, OpenMP Parallelization Directives และ Global, Peephole (c)
สนามเด็กเล่น: สนามเด็กเล่น Fortran Interactive ในเบราว์เซอร์โดย Ashirwad Mishra และคณะ จุดประสงค์หลักของมันคือสำหรับผู้มาใหม่ที่จะได้รับรสนิยมภาษาและเรียนรู้สิ่งจำเป็นของการเขียนโปรแกรม Fortran
Rose: โครงสร้างพื้นฐานคอมไพเลอร์เพื่อสร้างเครื่องมือการแปลงและการวิเคราะห์โปรแกรมที่มากับแหล่งที่มาสำหรับ C (C89 และ C98), C ++ (C ++ 98 และ C ++ 11), UPC, Fortran (77/95/2003), OpenMP, Java, Python และ PHP
Setup-Fortran: การกระทำของ GitHub เพื่อตั้งค่าคอมไพเลอร์ Fortran และ Toolchain บน Ubuntu, MacOS และ Windows จาก Fortran-Lang คอมไพเลอร์ที่มีอยู่คือ Gfortran, IFX, IFORT, LFORTRAN และ NVTRAN
SilverFrost Fortran FTN95: คอมไพเลอร์มาตรฐาน FORTRAN 95 เต็มมาตรฐานสามารถสร้างปฏิบัติการที่รวดเร็วสำหรับ Win32 และสำหรับ Microsoft .NET FTN95 จัดส่งด้วยการตรวจสอบรันไทม์ที่ดีที่สุดของโลกและซอฟต์แวร์สนับสนุนที่หลากหลาย มีฉบับส่วนตัวฟรี (c)
VSI Fortran สำหรับ OpenVMS: รองรับ Fortran 66, Fortran 77, Fortran 90 และ Fortran 95 มาตรฐาน
XCC-Project: C/C ++/Fortran Compiler Collection ที่เขียนด้วย Java โดย Jianpingzeng
FORTRAN StackTrace: สร้างร่องรอยสแต็กโดยการจัดหา Wrapper Fortran รอบ ๆ C ++ Library Backward-CPP นอกจากนี้ยังรวมเข้ากับไลบรารีการจัดการข้อผิดพลาดของ Fortran เพื่อสร้างข้อผิดพลาดที่มี stacktrace
GDB_FORTRAN_TOOLS: รองรับการดีบัก GDB ขั้นสูงของรหัส FORTRAN: การเข้าถึงทั่วไปไปยังตัวดำเนินการอาร์เรย์ NUMPY พื้นฐานจำนวนมาก: ผลรวม, ขั้นต่ำ, สูงสุด, log10, ฯลฯ ; กราฟิก: พล็อต, imshow, กระจาย; บันทึกข้อมูล: Pickle, CSV, โดย Ken Mankoff และ X-neon
SerialBox: Data Serialization Library และเครื่องมือสำหรับ C/C ++, Fortran และ Python3 ใช้ในการสร้างกรอบการตรวจสอบความถูกต้องกับการอ้างอิงการทำงานจาก ETH Zurich
UPS: Source Level C, C ++ และ Fortran Debugger ที่ทำงานภายใต้ X11 โดย Mark Russell ระบบที่รองรับในปัจจุบันคือ FreeBSD และ GNU/Linux บน Intel X86 และ Solaris บน SPARC
Align-F90: การสนับสนุนการจัดตำแหน่งสำหรับ Fortran 90 ใน Emacs โดย Jannisteunissen
Doom Emacs Module Fortran: เปิดใช้งานสภาพแวดล้อมการพัฒนาที่สมบูรณ์แบบและทันสมัยสำหรับ Fortran มันมีการรวมเข้ากับ FPM, การสนับสนุน LSP ผ่าน Fortls, การจัดรูปแบบอัตโนมัติผ่าน FPRETTIER และการสนับสนุนสำหรับ GFORTRAN และ Intel Fortran
Emacs: Extensible, Aductible, Free Text Editor ดาวน์โหลดที่นี่
F90Format: แพ็คเกจที่เชื่อมต่อ fprettify กับ emacs-reformatter ของ Steve Purcell เพื่อจัดรูปแบบแหล่ง Fortran สมัยใหม่โดย Troy Brumley
F90-IFACE: เบราว์เซอร์ที่ใช้ EMACS สำหรับอินเทอร์เฟซ FORTRAN 90 ทั่วไปโดย WENCE-และ MONNIER
F90-Namelist-Mode: Extension to Emacs F90-mode เพื่อจัดการ Fortran Namelists โดย Zedthree
Fortpy: Python Emacs Intellisense และการทดสอบหน่วยการทดสอบสำหรับ Fortran โดย Rosenbrockc และ WSMorgan
FORTPY-EL: แพ็คเกจ LISP สำหรับ EMACS ที่รวมเข้ากับ Fortpy เพื่อให้การเติมอัตโนมัติและ Intellisense เฉพาะบริบทสำหรับ Fortran 2003 รวมถึงการสร้างเชิงวัตถุโดย Rosenbrockc
FORTRAN-INDEX-Args: ตัวเลขรูทีนย่อยตัวเลขและแสดงดัชนีก่อนแต่ละอาร์กิวเมนต์ในรายการโดย ffevotte ดัชนีดังกล่าวจะปรากฏบนหน้าจอ แต่อย่าแก้ไขบัฟเฟอร์พื้นฐาน
เลเยอร์ Fortran: เลเยอร์การกำหนดค่า Spacemacs พื้นฐานสำหรับภาษา Fortran โดย Marco Scopesi
FORTRAN-TAGS: เครื่องมือการจัดทำดัชนีซอร์สโค้ด FORTRAN โดยมุ่งเน้นที่การค้นหาคำจำกัดความของตัวแปรหรือขั้นตอนใด ๆ โดย Raullaasner และคณะ สามารถค้นหาตัวแปรทั่วโลกและตัวแปรท้องถิ่นได้อย่างถูกต้องและคาดว่าจะทำงานร่วมกับรหัสที่สอดคล้องกับ Fortran 2008 ใด ๆ โดยมีข้อยกเว้นบางอย่างดังที่กล่าวไว้ด้านล่าง
fprettify.el: อินเทอร์เฟซกับ fprettify, รูปแบบอัตโนมัติสำหรับรหัส Fortran สมัยใหม่โดย Osada-yum
CCX_FFF: สคริปต์ Python แปลงรหัสเก่า Fortran 77 เป็นแบบที่มีแบบฟอร์มฟรีจากแคลคูลิน เลื่อนความคิดเห็นและเครื่องหมายต่อเนื่องเพื่อการพับรหัสที่ดีขึ้น
EZUP: เครื่องมือในการแปลงแบบฟอร์มแหล่งที่มาคงที่ Fortran เป็นแบบฟอร์มแหล่งที่มาฟรีให้เข้ากันได้
F2F: สคริปต์ Perl ซึ่งทำงานหนักมากในการแปลงซอร์สโค้ด Fortran 77 เป็น Modern Fortran โดย Colby Lemon
F2F90: ยูทิลิตี้ในการแปลง Fortran 77 แบบฟอร์มแหล่งที่มาคงที่เป็นแบบฟอร์ม Fortran 90 Free Source โดย Michael Metcalf, Peter A. Rochford และ Ben Trettel
F77TOF90: สคริปต์ Python ที่อ่านในไฟล์ฟอร์ม Fortran 77 (.f หรือ .f) และแปลงเป็นไฟล์ Fortran 90 Form Fortran (.f90 หรือ .f90) ฟรีโดย Mattdturner มันถูกใช้อย่างประสบความสำเร็จในการแปลง codebase แบบดั้งเดิม (มากกว่า 400 ไฟล์. f/.f และรหัสหลายล้านบรรทัด) จาก Fortran 77 เป็น Fortran 90
FFIXED2FREE: แปลงซอร์สโค้ด FORTRAN แบบคงที่ (สไตล์ FORTRAN 77) เป็นซอร์สโค้ดรูปแบบฟรี (สไตล์ FORTRAN 90) โดย Pirmin Kaufmann และ Martin Schraner FFIXED2Free ไม่จำเป็นต้องใช้รหัสรูปแบบคงที่จะถูก จำกัด ให้อยู่ในมาตรฐาน Fortran 77
FORTRAN77_TO_FORTRAN90: แปลงรหัสแหล่งที่มาคงที่ FORTRAN 77 เป็นรหัสฟรี FORTRAN 90 รหัสโดย KOUSHIKPHY
TORTRAN-Legacy-Tools: เครื่องมือในการจัดการกับรหัส FORTRAN: แก้ไขเป็นตัวแปลงแบบฟอร์ม Source Form Free, ตัวแปลงตัวพิมพ์ใหญ่บนตัวพิมพ์เล็ก
FORTRAN_TOOLS: Python 2 Script โดย James Goppert และ Lenna Peterson
ฟรีสไตล์: สคริปต์เพื่อแปลงไฟล์ฟอร์ม FORTRAN (เขียนใน FORTRAN 77) และไฟล์ส่วนหัวเป็นฟอร์มฟรีโดย BAST
GConvert: โปรแกรมเพื่อแปลงฟอร์ม FORTRAN คงที่เป็นรหัสที่ทำงานเป็นแบบฟอร์มแก้ไขหรือฟรีโดย GeorgetSikas
TO_F90: เครื่องมือของ Alan Miller สำหรับการแปลงรหัส FORTRAN 77 เป็นรหัส FORTRAN 90 ฟรีจาก JBDV-NO
Eggx/Procall: Library X11 กราฟิกสำหรับ C, C ++ และ Fortran สร้างขึ้นเพื่อให้ได้ความเรียบง่าย หนึ่งสามารถสร้างกราฟิก 2D บนระบบหน้าต่าง X ได้อย่างง่ายดายโดยใช้ฟังก์ชั่นการวาดรูปแบบพื้นฐาน
FTK: ให้วิธีการที่ตรงไปตรงมาในการสร้างแบบกราฟิกผู้ใช้อินเทอร์เฟซใน Fortran ตาม TCL/TK โดย Arjen Markus ในสถานะปัจจุบันเป็นหลักฐานของแนวคิดไม่ใช่ห้องสมุดเต็มรูปแบบ
Fortran-Graphics: ห้องสมุดกราฟิกที่เขียนใน OpenGL โดย Ed Higgins
Gino: API ที่อุดมไปด้วยคุณสมบัติระดับสูงสำหรับการสร้างกราฟิก 2D และ 3D ที่ซับซ้อนและแอปพลิเคชัน GUI ผลิตภัณฑ์ Gino มีให้สำหรับ Fortran ภายใต้ Windows และ Linux (c)
GTK-Fortran: ไลบรารีข้ามแพลตฟอร์มเพื่อสร้างอินเทอร์เฟซผู้ใช้กราฟิก (GUI) โดย Vincent Magnin และคณะ GTK-Fortran เป็น GTK / Fortran ที่มีผลผูกพันที่เขียนใน Fortran บางส่วนต้องขอบคุณโมดูล ISO_C_BINDING สำหรับการทำงานร่วมกันระหว่าง C และ Fortran
กล่องโต้ตอบไฟล์เล็ก ๆ : เสนอกล่องโต้ตอบโมดอลและไฟล์จำนวนมากใน C และให้อินเตอร์เฟส / โมดูล iso_c_binding เพื่อเรียกใช้ฟังก์ชั่นเหล่านี้จาก Fortran โดย Guillaume Vareille
Winteracter: ชุดเครื่องมือ GUI สำหรับภาษาการเขียนโปรแกรม FORTRAN ประกอบด้วยเครื่องมือพัฒนาภาพที่หลากหลายและห้องสมุดรูทีนย่อยที่สำคัญ รองรับคอมไพเลอร์ Fortran หลายตัว (c)
ajt-fortran.vim: พอร์ตของสคริปต์ Vim เยื้องของ Ajit J. Thakkar
FF08Obfuscate: เครื่องมือบรรทัดคำสั่งสำหรับการสร้างตัวแปรที่ทำให้งงงวยผิวเผินของแหล่งที่มาของโปรแกรม Fortran 2008 ที่เขียนใน Fortran 2003 โดย Ianh มันทำได้โดยการแก้ไขตัวระบุในโปรแกรมและแสดงรหัสโดยไม่มีความคิดเห็นใด ๆ
Findent: เยื้องและความสวยงามของแหล่งที่มาของ Fortran รูปแบบคงที่และฟรีและแปลงรูปแบบการแก้ไข Fortran เป็นรูปแบบฟรี Fortran โดย Wvermin และ Mftabriz Findent-Pypi โดย Gnikit มีล้อ Pypi
ดอกไม้: แปลงรหัส Fortran ฟรีเป็นตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ทั้งหมดโดย Urbanjost ในแต่ละกรณีความคิดเห็นและข้อความที่ยกมาจะถูกทิ้งไว้
FORTRANINDENT: เครื่องมือในการเยื้องแหล่งที่มาของ FORTRAN 90 จาก Kairzhan
FORTRANINDENTER_UNESP_2007: Indenter สำหรับ Fortran 77 พัฒนาใน C โดย Rafael Delalibera Rodrigues และ Paulo Henrique Arantes Urgal
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. (C)
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. (C)
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. (C)
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. (C)
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. (C)
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.