Extensive Fortran support: parallel programming with coarrays and OpenMP
The NAG Fortran Compiler provides significant support for Fortran 2018 (assumed rank, assumed type, C descriptors, collective subroutines, atomic operations, events and teams, plus other smaller features), complete coverage of Fortran 2008 and Fortran 2003, and all OpenMP 3.1. All platforms include supporting tools for software development: source file polishers, dependency generator for module and include files, call-graph generator, interface builder and a precision unifier.
Available on Linux, Windows and macOS, including Apple Silicon Macs and Arm Linux systems. If you prefer using an IDE on Windows, we recommend using the NAG Fortran Builder.

Latest functionality
- Full coverage of Fortran 2008;
- With the addition of intrinsic collective subroutines, all of the coarray parallel programming features of Fortran 2018 are now supported on shared-memory machines;
- Undefined variable detection can now be used for OpenMP programs;
- Use of data pointer function result as variable in many contexts is supported;
- Pointer target initialisation and function returning procedure pointer is supported;
- Interoperability with C now includes assumed-rank and assumed-type arguments, along with C descriptors, RANK intrinsic function and SELECT RANK construct;
- Additional error checking and tools capabilities.
"The NAG Compiler is often my best tool when debugging complex Fortran code. One of my favourite sets of compiler flags is -g -O0 -C=all -mtrace -gline -ieee=stop. The excellent memory tracing and array bound checks, in combination with the analysis of floating point arithmetic, e.g. division by zero or floating point overflow, and reliable tracebacks to the line of code where an issue occurs, makes my life much easier. I love the NAG Compiler for its efficiency in finding sources of errors, verifying implementations, and assuring excellent code quality."
Judith Rommel, Researcher, University of Cambridge
Release 7.1 Documentation
Release Information
Compiler Documentation
Modules
- f90_gc
- f90_iostat
- f90_kind
- f90_preconn_io
- f90_stat
- f90_unix
- f90_unix_dir
- f90_unix_dirent
- f90_unix_env
- f90_unix_errno
- f90_unix_file
- f90_unix_io
- f90_unix_proc
- ieee_arithmetic
- ieee_exceptions
- ieee_features
- iso_c_binding
- iso_fortran_env