||If you have not done so already, please REGISTER by e-mailing to the
CGNS REGISTRAR the following information:
Although there is no registration requirement in order to obtain
CGNS, by registering you will help the CGNS team to serve its users better.
- Your name
- Company, university, lab, or facility name (if applicable)
- Email, if different from your current sending address
- Intended use for CGNS
We also strongly recommend that you join the Discussion
Group. This forum is the primary method used to keep CGNS users
current with release and other important information updates.
It is also used for discussing important problems/issues and for obtaining help from
other CGNS users.
What to Download
Note: CGNS has switched from SourceForge
to GitHub (https://github.com/CGNS).
Issue tracking is located at:
For the up-to-date development source, visit
git clone https://github.com/CGNS/CGNS.git
For the stable source, visit
git clone -b master https://github.com/CGNS/CGNS.git
As a minimum, you will need to download and compile the CGNS library code.
Compilation requires an ANSI compliant C compiler.
The source code may
downloaded as a gzipped, tar file:
Current Stable Release:
CGNS Version 3.3.0
This Version implements CPEX 0038 and 0039, adds new functionality to the
parallel capability, and makes extensive changes related to the Fortran library.
Important note for Fortran users: V3.3 removes the usage of "include cgnslib_f.h".
Instead, from this release forward, one must now employ the module "use CGNS".
Also, if making use of 64-bit integers, Fortran programs must declare the
relevant 64-bit integers via, e.g.: integer(cgsize_t) integername.
Previous Stable Release:
CGNS Version 3.2.1
Previous Stable Releases:
This Version 3.2 release provides partial
integration of parallel I/O using HDF5 with MPI. It also implements
the Hierarchy of families (CPEX 0033),
Multiple families (CPEX 0034), and Cubic elements (CPEX 0036).
Compression (rewriting) of modified CGNS files is no longer
automatically done, since this may interfere with parallel I/O. This
may be reenabled within an application with the cg_set_compress
function, or done later through the CGNSview GUI or with the
cgnscompress program in the tools subdirectory.
Conversion programs to and from AFLR3, FAST, and TetGen have also
been added to CGNStools.
Release 3.2.1 implements the suggestions by Cambridge Flow Solutions
to the CMake scripts and adds routines to set the MPI communicator
for parallel I/O. There are also numerous updates and fixes to the test
cases, tools and CGNStools utilities.
Note: CGNStools is no longer built automatically, you need to set
the configure flag, --enable-cgnstools if using configure.
CGNS Version 3.1.4
Includes 64-bit integer capability
and updated Tools for viewing and editing CGNS files.
HDF5 is now the default file type,
when CGNS is built with HDF5 version 1.8 or later.
(CGNS can always read or write both HDF5 and ADF
Older recent release versions are also available from
Even earlier releases can be found in the archives:
(NOTE: if building CGNS with an HDF5 version earlier than 1.8, then links will not work
when using HDF5 file type.)
Note about Compilers
Users should be aware that many new features in CGNS require the use of up-to-date
compilers. For example, older FORTRAN compilers that are not FORTRAN 2003 compliant (such as g77) will not
work for many CGNS features, and are not recommended or supported.
Note about Linking CGNS with HDF5
When using HDF5, It is currently recommended that CGNS be compiled against the HDF5 1.8.x library.
The following figure shows the typical performance of CGNS "make check" for various versions of HDF5 for
Note to Users of Version 2.5 CGNS
Current users of Version 2.5 should read the following short guide:
which describes some of the reasons for upgrading to the latest version 3 software as well as how to
handle portability issues between versions.
Known Bugs/Issues in Latest Official (Stable) Release
- Building CGNS with Fortran enabled is not working on Windows.
- When building with PGI and gcc compilers it might be necessary to set the
- FLIBS="-Wl,--no-as-needed -ldl"
- LIBS="-Wl,--no-as-needed -ldl"