Skip to content

CGNS version 3.4.0

This document describes the difference between CGNS 3.3.1 and
CGNS 3.4.0, and contains information on known problems in CGNS 3.4.0.

Links to the CGNS 3.4.0 source code can be found at:

http://cgns.org/download.html

User documentation for the current release can be found at:

http://cgns.org/CGNS_docs_current/midlevel/index.html

For more information, see the CGNS home page:

http://cgns.org

CONTENTS

New Features
Bug Fixes since CGNS 3.3.1
Known Problems
Supported platforms

New Features

Configuration:

Enforce the HDF5 version >= 1.8 is used in building HDF5. (CGNS-150).
Autotools: CGNS will find and link the compression libraries, szip and zlib, required by HDF5. This 
occurs automatically if neither --with-zlib or --with-szip are not specified (CGNS-156).

Library:

Changed default CGNS to 1.8 HDF5 file format.
           -- only for HDF5 versions > 1.10.2.
CPEX 40 Rind Plane Indexing (CGNS-87)
CPEX 41 NGON modification proposal (CGNS-121)

Parallel Library:

None

Fortran Library:

Added support for NAG Fortran compilers (CGNS-107)

Tools:

None

Bug Fixes since CGNS 3.3.1 Release

Configuration:

* Order include directives to get correct includes, cmake (PR 109) 
* make clean does not remove executables in Test_UserGuideCode (CGNS-99)
* Windows builds: CGNS_ENABLE_LFS is ignored (CGNS-117)
* Sun's make implemenation fails to compile fortran (CGNS-28)
* Some systems need to explicitly link to libdl (CGNS-128)
* CGNS fails in fortran test with PGI 17 compiler (CGNS-127)
* CGNS fails to find the lib64 HDF5 library (CGNS-123)
* CGNS fails to compile on Windows with Fortran enabled (CGNS-148)
* Can't compile using MSVC & IVF on windows (MSVS 14) (CGNS-146)
* Fix szip linking (PR 97)
* RPATH handling for MacOSX (Darwin) (PR 88)
* fix tests failing when compiled for 64bit (PR 85)
* remove variable length array to be able to build pcgnslib.c with VC (CGNS-147)
* Build parallel CGNS on Windows (PR 69)
* Cmake fixups (PR 58)
* If check needs to link, then need library path (PR 52)
* Specify STATIC when adding cgns_static lib (PR 46)
* _stat32i64 is msvc-specific (PR 45)

Library:

* Eliminate potential integer overflow / undefined behavior (PR 106) 
* Partial write of unstructured MIXED element sets fails with CGNS > 3.3.1 (CGNS-151)
* If processor has no data, set end = start = 0 (CGNS-133)
* Large files fail on 64-bit windows (CGNS-83)
* mesh_dim may be exceed the limit of 32-bit integer (CGNS-131)
* RUNPARALLEL is defined but never used. (CGNS-96)
* typo in cgnscheck print_units cg_TemperatureUnitsName index (CGNS-126)
* cgp_mpi_comm return value unclear (CGNS-111)
* Changed ADFH_Read_Data and ADFH_Write_Data to honor the cgp_pio_mode (PR 98)
* Support for std C on linux (PR 96)
* Null check fix (PR 94)
* Eliminate dead / unreachable code (PR 93)
* Fix parallel write (PR 86)
* Add missing argument to cgi_error call (PR 84)
* Fix BC type string constant FamilySpecified_s (PR 83)
* Remove double condition test (PR 82)
* remove some gcc warnings (PR 78)
* remove variable length array to be able to build pcgnslib.c with VC (PR 76)
* Fix bad if test (PR 70)
* Eliminate memory leaks in cgi_read_ziter (PR 68)
* Improve error messages, fix error check (fixed) (PR 66)
* Drop obsolete matherr hack (PR 55)

Fortran:

* Add missing dll export symbols from Fortran module. (PR 59)

Tools:

* Update cgnsutil.c (PR 89)
* patch cgnscheck (PR 72)
* Fix cgnsview linking to HDF5 libs. (PR 56)

Known Problems

When building with PGI and gcc compilers it might be necessary to set the
environment variables:
FLIBS="-Wl,--no-as-needed -ldl"
LIBS="-Wl,--no-as-needed -ldl"

Misc. issues can be found at: https://cgnsorg.atlassian.net

Supported Platforms

The following platforms are supported and have been tested for this release.
They are built with the configure process unless specified otherwise.

Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++)
#1 SMP x86_64 GNU/Linux compilers:
Version 4.4.7 20120313
Versions 4.9.3, 5.2.0, 6.2.0
PGI C, Fortran, C++ for 64-bit target on
x86-64;
Version 16.10-0
Intel(R) C (icc), C++ (icpc), Fortran (icc)
compilers:
Version 17.0.0.098 Build 20160721
MPICH 3.1.4 compiled with GCC 4.9.3
OpenMPI 2.0.1 compiled with GCC 4.9.3

Linux 2.6.32-573.18.1.el6 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
#1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
IBM XL C/C++ V13.1
IBM XL Fortran V15.1

Linux 3.10.0-327.10.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++)
#1 SMP x86_64 GNU/Linux compilers:
Version 4.8.5 20150623 (Red Hat 4.8.5-4)
Versions 4.9.3, 5.3.0, 6.2.0
Intel(R) C (icc), C++ (icpc), Fortran (icc)
compilers:
Version 17.0.4.196 Build 20170411
MPICH 3.1.4 compiled with GCC 4.9.3

SunOS 5.11 32- and 64-bit Sun C 5.12 SunOS_sparc
Sun Fortran 95 8.6 SunOS_sparc
Sun C++ 5.12 SunOS_sparc

Windows 10 x64 Visual Studio 2015 w/ Intel Fortran 16 (cmake)

Mac OS X Mt. Lion 10.8.5 Apple LLVM version 5.1 (clang-503.0.40)
64-bit gfortran GNU Fortran (GCC) 4.8.2
Intel icc/icpc/ifort version 15.0.3

Mac OS X Mavericks 10.9.5 Apple LLVM version 6.0 (clang-600.0.57)
64-bit gfortran GNU Fortran (GCC) 4.9.2
Intel icc/icpc/ifort version 15.0.3

Mac OS X Yosemite 10.10.5 Apple LLVM version 6.1 (clang-602.0.53)
64-bit gfortran GNU Fortran (GCC) 4.9.2
Intel icc/icpc/ifort version 15.0.3

Mac OS X El Capitan 10.11.4 Apple LLVM version 7.3.0 (clang-703.0.29)
64-bit gfortran GNU Fortran (GCC) 5.2.0
Intel icc/icpc/ifort version 16.0.2

Mac OS X El Capitan 10.11.6 Apple clang/clang++ version 7.3.0 from Xcode 7.3
64-bit gfortran GNU Fortran (GCC) 5.2.0
Intel icc/icpc/ifort version 16.0.2

MacOS High Sierra 10.13.6 Apple LLVM version 10.0.0 (clang/clang++-1000.10.44.4)
64-bit gfortran GNU Fortran (GCC) 8.3.0

Assets 2
Feb 21, 2019
Merge branch 'develop' into Rind_Plane_Indexing
Pre-release

@brtnfld brtnfld released this Feb 11, 2019 · 104 commits to develop since this release

This document describes the difference between CGNS 3.3.1 and
CGNS 3.4.0, and contains information on known problems in CGNS 3.4.0.

Links to the CGNS 3.4.0 source code can be found at:

http://cgns.org/download.html

User documentation for the current release can be found at:

http://cgns.org/CGNS_docs_current/midlevel/index.html

For more information, see the CGNS home page:

http://cgns.org

CONTENTS

New Features
Support for new platforms and languages
Bug Fixes since CGNS 3.3.1
Known Problems

New Features

Configuration:

  • Enforce the HDF5 version >= 1.8 is used in building HDF5. (CGNS-150)

Library:

  • CPEX 40 Rind Plane Indexing (CGNS-87)
  • CPEX 41 NGON modification proposal (CGNS-121)

Parallel Library:

  • None

Fortran Library:

  • None

Tools:

  • None

Bug Fixes since CGNS 3.3.1 Release

Configuration:

  • make clean does not remove executables in Test_UserGuideCode (CGNS-99)
  • Windows builds: CGNS_ENABLE_LFS is ignored (CGNS-117)
  • Sun's make implemenation fails to compile fortran (CGNS-28)
  • Some systems need to explicitly link to libdl (CGNS-128)
  • CGNS fails in fortran test with PGI 17 compiler (CGNS-127)
  • CGNS fails to find the lib64 HDF5 library (CGNS-123)
  • CGNS fails to compile on Windows with Fortran enabled (CGNS-148)
  • Can't compile using MSVC & IVF on windows (MSVS 14) (CGNS-146)
  • Fix szip linking (PR 97)
  • RPATH handling for MacOSX (Darwin) (PR 88)
  • fix tests failing when compiled for 64bit (PR 85)
  • remove variable length array to be able to build pcgnslib.c with VC (CGNS-147)
  • Build parallel CGNS on Windows (PR 69)
  • Cmake fixups (PR 58)
  • If check needs to link, then need library path (PR 52)
  • Specify STATIC when adding cgns_static lib (PR 46)
  • _stat32i64 is msvc-specific (PR 45)

Library:

  • Partial write of unstructured MIXED element sets fails with CGNS > 3.3.1 (CGNS-151)
  • If processor has no data, set end = start = 0 (CGNS-133)
  • Large files fail on 64-bit windows (CGNS-83)
  • mesh_dim may be exceed the limit of 32-bit integer (CGNS-131)
  • RUNPARALLEL is defined but never used. (CGNS-96)
  • typo in cgnscheck print_units cg_TemperatureUnitsName index (CGNS-126)
  • cgp_mpi_comm return value unclear (CGNS-111)
  • Changed ADFH_Read_Data and ADFH_Write_Data to honor the cgp_pio_mode (PR 98)
  • Support for std C on linux (PR 96)
  • Null check fix (PR 94)
  • Eliminate dead / unreachable code (PR 93)
  • Fix parallel write (PR 86)
  • Add missing argument to cgi_error call (PR 84)
  • Fix BC type string constant FamilySpecified_s (PR 83)
  • Remove double condition test (PR 82)
  • remove some gcc warnings (PR 78)
  • remove variable length array to be able to build pcgnslib.c with VC (PR 76)
  • Fix bad if test (PR 70)
  • Eliminate memory leaks in cgi_read_ziter (PR 68)
  • Improve error messages, fix error check (fixed) (PR 66)
  • Drop obsolete matherr hack (PR 55)

Fortran:

  • Add missing dll export symbols from Fortran module. (PR 59)

Tools:

  • Update cgnsutil.c (PR 89)
  • patch cgnscheck (PR 72)
  • Fix cgnsview linking to HDF5 libs. (PR 56)

Known Problems

When building with PGI and gcc compilers it might be necassary to set the
environment variables:
FLIBS="-Wl,--no-as-needed -ldl"
LIBS="-Wl,--no-as-needed -ldl"

Supported Platforms

The following platforms are supported and have been tested for this release.
They are built with the configure process unless specified otherwise.

Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++)
#1 SMP x86_64 GNU/Linux compilers:
Version 4.4.7 20120313
Versions 4.9.3, 5.2.0, 6.2.0
PGI C, Fortran, C++ for 64-bit target on
x86-64;
Version 16.10-0
Intel(R) C (icc), C++ (icpc), Fortran (icc)
compilers:
Version 17.0.0.098 Build 20160721
MPICH 3.1.4 compiled with GCC 4.9.3
OpenMPI 2.0.1 compiled with GCC 4.9.3

Linux 2.6.32-573.18.1.el6 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
#1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
IBM XL C/C++ V13.1
IBM XL Fortran V15.1

Linux 3.10.0-327.10.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++)
#1 SMP x86_64 GNU/Linux compilers:
Version 4.8.5 20150623 (Red Hat 4.8.5-4)
Versions 4.9.3, 5.3.0, 6.2.0
Intel(R) C (icc), C++ (icpc), Fortran (icc)
compilers:
Version 17.0.4.196 Build 20170411
MPICH 3.1.4 compiled with GCC 4.9.3

SunOS 5.11 32- and 64-bit Sun C 5.12 SunOS_sparc
Sun Fortran 95 8.6 SunOS_sparc
Sun C++ 5.12 SunOS_sparc

Windows 10 x64 Visual Studio 2015 w/ Intel Fortran 16 (cmake)

Mac OS X Mt. Lion 10.8.5 Apple LLVM version 5.1 (clang-503.0.40)
64-bit gfortran GNU Fortran (GCC) 4.8.2
Intel icc/icpc/ifort version 15.0.3

Mac OS X Mavericks 10.9.5 Apple LLVM version 6.0 (clang-600.0.57)
64-bit gfortran GNU Fortran (GCC) 4.9.2
Intel icc/icpc/ifort version 15.0.3

Mac OS X Yosemite 10.10.5 Apple LLVM version 6.1 (clang-602.0.53)
64-bit gfortran GNU Fortran (GCC) 4.9.2
Intel icc/icpc/ifort version 15.0.3

Mac OS X El Capitan 10.11.4 Apple LLVM version 7.3.0 (clang-703.0.29)
64-bit gfortran GNU Fortran (GCC) 5.2.0
Intel icc/icpc/ifort version 16.0.2

Assets 2

@brtnfld brtnfld released this Jul 17, 2017 · 229 commits to master since this release

This document describes the difference between CGNS 3.3.0 and
CGNS 3.3.1, and contains information on known problems in CGNS 3.3.1.

Links to the CGNS 3.3.1 source code can be found at:

 http://cgns.org/download.html

User documentation for the current release can be found at:

 http://cgns.org/CGNS_docs_current/midlevel/index.html

For more information, see the CGNS home page:

 http://cgns.org

CONTENTS

  • New Features
  • Support for new platforms and languages
  • Bug Fixes since CGNS 3.3.0
  • Known Problems

New Features

Configuration:
------------------
 * Windows Parallel CGNS with Fortran enabled, PR-40.

Library:
------------
 - None

Parallel Library:
---------------------
 - None

Fortran Library:
--------------------
 - None

Tools:
----------
 - None

Bug Fixes since CGNS 3.3.0 Release

Configuration:
------------------
* Implement FortranCInterface_HEADER in cmake, CGNS-78.
* Cmake target link libraries need to be set on systems other than just WIN32 and CYGWIN, CGNS-64.
* Support Mac's dylib shared library suffix with CMake, CGNS-61.
* CMake needs to be updated to handle new fortran features, CGNS-10.
* Add missing dependency in cgns_to_plot3d (cmake build), CGNS-16.
* Add missing include path, fix hdf5, PR 18.

Library:
------------
* Hang in parallel read/write, CGNS-105.
* Header files contain functions not existing in code, CGNS-115.
* Fixes for CGNS-83: Large files fail on 64-bit windows.
* Remove incorrect semicolon, PR-13.
* Add missing close paren, PR-15.
* Fix incorrect structured field array access -- cut paste error, PR-17.
* Fix a few missing CGNS_ENUMV uses, PR-20.
* Fix to avoid hang due to collective requirement, PR-21.
* Freeing incorrect pointer, PR-23
* Initialize err, add missing return, PR-25.
* Handle case where wbuf or rbuf is NULL, PR-26.
* Tests can run with ENUM_SCOPING enabled, PR-34.
* Implementation and test for cgp_parent_data_write, PR-36.
* Add cmake support for memory debugging; fix memory debug routines, PR-39.


Fortran:
------------
* Missing C binding for cg_conversion_write_f

Tools:
----------
* cgnsconvert fails to process a file written by the parallel CGNS library, CGNS-77.

Known Problems

  • When building with PGI and gcc compilers it might be necassary to set the
    environment variables:
    FLIBS="-Wl,--no-as-needed -ldl"
    LIBS="-Wl,--no-as-needed -ldl"

Supported Platforms

The following platforms are supported and have been tested for this release.
They are built with the configure process unless specified otherwise.

Linux 2.6.32-573.22.1.el6     GNU C (gcc), Fortran (gfortran), C++ (g++)
#1 SMP x86_64 GNU/Linux       compilers:
                             Version 4.4.7 20120313
                                 Versions 4.9.3, 5.2.0, 6.2.0
                              PGI C, Fortran, C++ for 64-bit target on
                              x86-64;
                                  Version 16.10-0
                              Intel(R) C (icc), C++ (icpc), Fortran (icc)
                              compilers:
                                 Version 17.0.0.098 Build 20160721
                              MPICH 3.1.4 compiled with GCC 4.9.3
                              OpenMPI 2.0.1 compiled with GCC 4.9.3

Linux 2.6.32-573.18.1.el6     gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
#1 SMP ppc64 GNU/Linux        g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
                              GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
                              IBM XL C/C++ V13.1
                              IBM XL Fortran V15.1

Linux 3.10.0-327.10.1.el7     GNU C (gcc), Fortran (gfortran), C++ (g++)
#1 SMP x86_64 GNU/Linux       compilers:
                               Version 4.8.5 20150623 (Red Hat 4.8.5-4)
                                Versions 4.9.3, 5.3.0, 6.2.0
                              Intel(R) C (icc), C++ (icpc), Fortran (icc)
                              compilers:
                                 Version 17.0.4.196 Build 20170411
                              MPICH 3.1.4 compiled with GCC 4.9.3

SunOS 5.11 32- and 64-bit     Sun C 5.12 SunOS_sparc
                              Sun Fortran 95 8.6 SunOS_sparc
                              Sun C++ 5.12 SunOS_sparc

Windows 10 x64                Visual Studio 2015 w/ Intel Fortran 16 (cmake)

Mac OS X Mt. Lion 10.8.5      Apple LLVM version 5.1 (clang-503.0.40)
64-bit                        gfortran GNU Fortran (GCC) 4.8.2
                           Intel icc/icpc/ifort version 15.0.3

Mac OS X Mavericks 10.9.5     Apple LLVM version 6.0 (clang-600.0.57)
64-bit                        gfortran GNU Fortran (GCC) 4.9.2
                               Intel icc/icpc/ifort version 15.0.3

Mac OS X Yosemite 10.10.5     Apple LLVM version 6.1 (clang-602.0.53)
64-bit                        gfortran GNU Fortran (GCC) 4.9.2
                              Intel icc/icpc/ifort version 15.0.3

Mac OS X El Capitan 10.11.4   Apple LLVM version 7.3.0 (clang-703.0.29)
64-bit                        gfortran GNU Fortran (GCC) 5.2.0
                              Intel icc/icpc/ifort version 16.0.2
Assets 2

@brtnfld brtnfld released this Jan 25, 2016 · 440 commits to master since this release

CGNS 3.3.0

INTRODUCTION

This document describes the difference between CGNS 3.2.1 and
CGNS 3.3.0, and contains information on known problems in CGNS 3.3.0.

Links to the CGNS 3.3.0 source code can be found at:

 http://cgns.org/download.html

User documentation for the current release can be found at:

 http://cgns.org/CGNS_docs_current/midlevel/index.html

For more information, see the CGNS home page:

 http://cgns.org

CONTENTS

  • New Features
  • Support for new platforms and languages
  • Bug Fixes since CGNS 3.2.1
  • Known Problems

New Features

Configuration:
------------------
* Example build scripts for supercomputer systems can be found in src/SampleScripts 
  of the CGNS source code. They include scripts for building zlib, 
  hdf5 (assuming the user does not already have them installed system wide) 
  and a script for building CGNS. All the scripts use autotools; cmake remains untested.

* The Fortran compiler environment variable can now be set with "FC", this is the preferred
  method.

* The Fortran compiler flags can now be set with "FCFLAGS", this is the preferred method.
  If both FFLAGS (which predates FCFLAGS) and FCFLAGS are set then FCFLAGS is ignored. (CGNS-23)

Library:
------------
* Replaced the hid_t to double (and vice-versa) utilities to_HDF_ID and to_ADF_ID 
  from a type cast to a function which uses memcpy for the conversion. This is needed 
  for the upcomming release of HDF5 1.10 where hid_t was changed from a 32 bit integer 
  to a 64 bit integer. Should be transparent to user.

* Implemented CPEX0039 : To enable with CGNS_ENABLE_BASE_SCOPE

* Implemented CPEX0038 : Quadratic Elements for High Order


Parallel Library:
---------------------
* The default parallel input/output mode was changed from CGP_INDEPENDENT 
  to CGP_COLLECTIVE.

* A new function was added for passing MPI info to the CGNS library:
  cgp_mpi_info (cgp_mpi_info_f)

* A new parallel example benchmark program, benchmark_hdf5.c, was added 
  to directory ptests.

* The cgp_*_read/write_dataset APIs now excepts non-allocated arrays, or NULL, 
  as valid parameters for the datasets. Additionally, the dimensional arrays, 
  rmin and rmax, can also be NULL. If the data array is NULL and the dimensional 
  arrays are not NULL, then the validity of the dimensional arrays, rmin and rmax, 
  is not checked. For collective parallel IO, this is used as a mechanism to 
  indicated that processes with NULL API parameters will not write any data to the file.

* cgp_queue_set and cgp_queue_flush were depreciated in this release.

Fortran Library:
--------------------
* SUPPORT WAS DROPPED FOR NON-FORTRAN 2003 COMPLIANT COMPILERS.

* Configure was changed to check if the Fortran compiler is Fortran 2003 compliant.

* The predefined CGNS constant parameters data types were changed from 
  INTEGER to ENUM, BIND(C) for better C interoperability. The users should use the 
  predefined constants whenever possible and not the numerical value represented by 
  the constants. A variable expecting an enum value returned from a Fortran API should be 
  declared, INTEGER(cgenum_t).

* INCLUDE "cgslib_h" was changed in favor of using a module, USE CGNS.
  - This allows defining a KIND type for integers instead of 
    the current way of using the preprocessor dependent cgsize_t.

* The user should be sure to declare the arguments 
  declared int in the C APIs as INTEGER in Fortran. The ONLY 
  Fortran arguments declared as type cgsize_t should be the 
  arguments which are also declared cgsize_t in the C APIs. This 
  is very important when building with option --enable-64bit. The 
  test programs were updated in order to conform to this convention.

* Assuming the rules in step [enu:int64] were followed, users 
  should not need to use parameter CG_BUILD_64BIT since Fortran's 
  cgsize_t is now guaranteed to match C's cgsize_t. 

* Fortran programs defining CGNS data types with a default 
  INTEGER size of 8 bytes also then need to compile the CGNS 
  library with the default INTEGER size of 8 bytes. This is 
  independent of whether or not --enable-64bit is being used. For 
  clarification, using --enable-64bit allows for data types (i.e. 
  those declared as cgsize_t) to be able to store values which 
  are too large to be stored as 4 byte integers (i.e. numbers 
  greater than 2,147,483,647). It is not necessary, or advisable 
  (since it waste memory), to have CGNS INTEGER types (types 
  declared int in C) to be 8 bytes; the variables declared as 
  cgsize_t will automatically handle data types that can not be 
  stored as 4 byte integers when --enable-64bit is being used. If 
  the CGNS library was not compiled with a default INTEGER of 8 
  bytes, but the calling program was, then all integers passed to 
  CGNS with C type int should be declared INTEGER(C_INT).   

* A new Fortran API was added for determining the CGNS data type of a 
  variable which is interoperable with the C data type. 

  Function cg_get_type(var)
     type, INTENT(IN) :: var
     INTEGER(KIND(enumvar)) :: cg_get_type

  An example of using the new function to automatically specify the CGNS 
  type corresponding to the Fortran data type is,

     INTEGER, DIMENSION(1:10) :: Array_i
     CALL cgp_array_write_f("ArrayI",cg_get_type(Array_i(1)),1,INT(nijk(1),cgsize_t),Ai, err)

* Removed all parallel flush/queue functions (CGNS-9)

* Removed support of "include cgns_f.h", all examples and tests were updated to reflect these changes (CGNS-34)

Tools:
----------
 - None

Bug Fixes since CGNS 3.2.1 release

Configuration:
------------------
* Fixed issue with autotools putting a blank "-l" in "MPILIBS =" when compiling the library
  using mpi.

* Added a new PGI fortran compiler flag fix issue when  passing to C varags (CGNS-40)

* CMake find_package was added for HDF5, users should use -D CMAKE_PREFIX_PATH=$HDF_DIR to
  specify a specific version of HDF5.


Library:
------------

* Generally improved the performance of cgp_open (cgp_open_f).

* Fixed elemtest.c to compile for SunOS 5.12 (CGNS-29)

* Fixed parallel issue when not all processors involved in reading/writing (CGNS-51)

* Fixed argument being passed to H5Pget_driver in ADFH.c (CGNS-50)

* Fixed issue with writing/reading 4D and higher arrays in parallel (CGNS-19) 

Fortran:
------------

* cgio_link_size_f -- file_len and name_len were changed from cgsize_t to integer to match the C API, CGNS-37.

* cgio_is_link_f -- cgio_num was changed from type cgsize_t to an integer to match the C API, CGNS-36.

* cgio_is_supported_f -- ier changed from cgsize_t to integer to match the C API, CGNS-35.

* Added PGI flag to fix cg_goto_f failing with the PGI compilers on x86_64 platforms, CGNS-40.


Tools:
----------
* None

Known Problems

  • Building CGNS with Fortran enabled is not working on Windows.
  • When building with PGI and gcc compilers it might be necassary to set the
    environment variables:
    FLIBS="-Wl,--no-as-needed -ldl"
    LIBS="-Wl,--no-as-needed -ldl"

Supported Platforms

The following platforms are supported and have been tested for this release.
They are built with the configure process unless specified otherwise.

Linux 2.6.32-573.3.1.el6      GNU C (gcc), Fortran (gfortran)   compilers:
#1 SMP x86_64 GNU/Linux          Version 4.4.7 20120313 
(platypus)                       Version 4.8.4, Version 5.2.0
                              PGI C, Fortran for 64-bit target on x86-64;
                                  Version 15.7-0
                              Intel(R) C (icc), C++ (icpc), Fortran (icc)
                              compilers:
                                 Version 15.0.3.187 Build 20150407
                              MPICH 3.1.4 compiled with GCC 4.9.3

Linux 2.6.32-504.8.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
#1 SMP ppc64 GNU/Linux         GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
(ostrich)                      IBM XL C/C++ V13.1
                               IBM XL Fortran V15.1


Linux 3.10.0-229.14.1.el7   GNU C (gcc), Fortran (gfortran)
#1 SMP x86_64 GNU/Linux       compilers:
(kituo/moohan)                  Version 4.8.3 20140911 (Red Hat 4.8.3-9)
                                Version 5.2.0
                              Intel(R) C (icc), Fortran (icc)
                              compilers:
                                 Version 15.0.3.187 Build 20150407
                              MPICH 3.1.4 compiled with GCC 4.9.3

SunOS 5.11 32- and 64-bit     Sun C 5.12 SunOS_sparc
(emu)                         Sun Fortran 95 8.6 SunOS_sparc

Mac OS X Yosemite 10.10.5     Apple clang/clang++ version 6.0 from Xcode 7.0.0
64-bit                        gfortran GNU Fortran (GCC) 4.9.2
(osx1010dev/osx1010test)      Intel icc/icpc/ifort version 15.0.3
Assets 2

Updates since the v3.3.0-alpha.2 release:

  • Removed all parallel flush/queue functions (CGNS-9)
  • Removed support of “include cgns_f.h”, all examples and tests were updated to reflect these changes (CGNS-34)
  • Fixed parallel issue when not all processors involved in reading/writing (CGNS-51)
  • Fixed argument being passed to H5Pget_driver in ADFH.c (CGNS-50)
  • Added multiple Fortran and C tests to testing
  • Added a new PGI fortran compiler flag fix issue when passing to C varags (CGNS-40)
Assets 2
Pre-release

@brtnfld brtnfld released this Oct 9, 2015

Updates since the v3.3.0-alpha.1 release:

 * cgio_link_size_f -- file_len and name_len were changed from cgsize_t to integer to match the C API, CGNS-37.
 * cgio_is_link_f -- cgio_num was changed from type cgsize_t to an integer to match the C API, CGNS-36
 * cgio_is_supported_f -- ier changed from cgsize_t to integer to match the C API, CGNS-35. 
 * Fixed elemtest.c to compile for SunOS 5.12, CGNS-29.
 * CMake works now on linux with Fortran enabled, CGNS-26.
 * CMake installs the Fortran .mod files, CGNS-27.
 * Added cgio Fortran interfaces to the CGNS module, CGNS-33.
Assets 2

@brtnfld brtnfld released this Sep 21, 2015

NOTE: We really need Fortran users of CGNS to test this release.

CGNS version 3.3.0

INTRODUCTION

This document describes the difference between CGNS 3.2.1 and
CGNS 3.3.0, and contains information on known problems in CGNS 3.3.0.

Links to the CGNS 3.3.0 source code can be found at:

 http://cgns.org/download.html

User documentation for the current release can be found at:

 http://cgns.org/CGNS_docs_current/midlevel/index.html

For more information, see the CGNS home page:

 http://cgns.org

CONTENTS

  • New Features
  • Support for new platforms and languages
  • Bug Fixes since CGNS 3.2.1
  • Known Problems

New Features

Configuration:
-------------
* Example build scripts for supercomputer systems can be found in src/SampleScripts 
  of the CGNS source code. They include scripts for building zlib, 
  hdf5 (assuming the user does not already have them installed system wide) 
  and a script for building CGNS. All the scripts use autotools; cmake remains untested.

Library:
--------
* Replaced the hid_t to double (and vice-versa) utilities to_HDF_ID and to_ADF_ID 
  from a type cast to a function which uses memcpy for the conversion. This is needed 
  for the upcomming release of HDF5 1.10 where hid_t was changed from a 32 bit integer 
  to a 64 bit integer. Should be transparent to user.

* Implemented CPEX0039 : To enable with CGNS_ENABLE_BASE_SCOPE

* Implemented CPEX0038 : Quadratic Elements for High Order


Parallel Library:
-----------------
* The default parallel input/output mode was changed from CGP_INDEPENDENT 
  to CGP_COLLECTIVE.

* A new function was added for passing MPI info to the CGNS library:
  cgp_mpi_info (cgp_mpi_info_f)

* A new parallel example benchmark program, benchmark_hdf5.c, was added 
  to directory ptests.

* The cgp_*_read/write_dataset APIs now excepts non-allocated arrays, or NULL, 
  as valid parameters for the datasets. Additionally, the dimensional arrays, 
  rmin and rmax, can also be NULL. If the data array is NULL and the dimensional 
  arrays are not NULL, then the validity of the dimensional arrays, rmin and rmax, 
  is not checked. For collective parallel IO, this is used as a mechanism to 
  indicated that processes with NULL API parameters will not write any data to the file.

* cgp_queue_set and cgp_queue_flush were depreciated in this release.

Fortran Library:
----------------
* SUPPORT WAS DROPPED FOR NON-FORTRAN 2003 COMPLIANT COMPILERS.

* Configure was changed to check if the Fortran compiler is Fortran 2003 compliant.

* The predefined CGNS constant parameters data types were changed from 
  INTEGER to ENUM, BIND(C) for better C interoperability. The users should use the 
  predefined constants whenever possible and not the numerical value represented by 
  the constants. A variable expecting an enum value returned from a Fortran API should be 
  declared, INTEGER(cgenum_t).

* INCLUDE "cgslib_h" was changed in favor of using a module, USE CGNS.
  - This allows defining a KIND type for integers instead of 
    the current way of using the preprocessor dependent cgsize_t.

* The user should be sure to declare the arguments 
  declared int in the C APIs as INTEGER in Fortran. The ONLY 
  Fortran arguments declared as type cgsize_t should be the 
  arguments which are also declared cgsize_t in the C APIs. This 
  is very important when building with option --enable-64bit. The 
  test programs were updated in order to conform to this convention.

* Assuming the rules in step [enu:int64] were followed, users 
  should not need to use parameter CG_BUILD_64BIT since Fortran's 
  cgsize_t is now guaranteed to match C's cgsize_t. 

* Fortran programs defining CGNS data types with a default 
  INTEGER size of 8 bytes also then need to compile the CGNS 
  library with the default INTEGER size of 8 bytes. This is 
  independent of whether or not --enable-64bit is being used. For 
  clarification, using --enable-64bit allows for data types (i.e. 
  those declared as cgsize_t) to be able to store values which 
  are too large to be stored as 4 byte integers (i.e. numbers 
  greater than 2,147,483,647). It is not necessary, or advisable 
  (since it waste memory), to have CGNS INTEGER types (types 
  declared int in C) to be 8 bytes; the variables declared as 
  cgsize_t will automatically handle data types that can not be 
  stored as 4 byte integers when --enable-64bit is being used. If 
  the CGNS library was not compiled with a default INTEGER of 8 
  bytes, but the calling program was, then all integers passed to 
  CGNS with C type int should be declared INTEGER(C_INT).   

* A new Fortran API was added for determining the CGNS data type of a 
  variable which is interoperable with the C data type. 

  Function cg_get_type(var)
     type, INTENT(IN) :: var
     INTEGER(KIND(enumvar)) :: cg_get_type

  An example of using the new function to automatically specify the CGNS 
  type corresponding to the Fortran data type is,

     INTEGER, DIMENSION(1:10) :: Array_i
     CALL cgp_array_write_f("ArrayI",cg_get_type(Array_i(1)),1,INT(nijk(1),cgsize_t),Ai, err)

Tools:
------
 - None

Bug Fixes since CGNS 3.2.1 release

Configuration:
-------------
* Fixed issue with autotools putting a blank "-l" in "MPILIBS =" when compiling the library
  using mpi.

Library:
-------

* Generally improved the performance of cgp_open (cgp_open_f).

Fortran:
--------
- Fixed cgnslib_f.h to be both free and fixed form compatible.

Tools:
------
- None

Known Problems

  • Building CGNS with Fortran enabled is not working on Windows.
Assets 2
Mar 5, 2015
Tagging 3.2.1 release.
Mar 5, 2015
tagged v3.1.4
You can’t perform that action at this time.