source: XIOS/dev/branch_openmp/src/io/netcdf.hpp @ 1328

Last change on this file since 1328 was 1328, checked in by yushan, 6 years ago

dev_omp

  • Property copyright set to
    Software name : XIOS (Xml I/O Server)
    http://forge.ipsl.jussieu.fr/ioserver
    Creation date : January 2009
    Licence : CeCCIL version2
    see license file in root directory : Licence_CeCILL_V2-en.txt
    or http://www.cecill.info/licences/Licence_CeCILL_V2-en.html
    Holder : CEA/LSCE (Laboratoire des Sciences du CLimat et de l'Environnement)
    CNRS/IPSL (Institut Pierre Simon Laplace)
    Project Manager : Yann Meurdesoif
    yann.meurdesoif@cea.fr
File size: 1.6 KB
RevLine 
[379]1#ifndef __XIOS_NETCDF_HPP__
2#define __XIOS_NETCDF_HPP__
[1134]3#include "mpi_std.hpp"
[379]4#define MPI_INCLUDED
5#include <netcdf.h>
6
[412]7#if defined(USING_NETCDF_INTERNAL)
8  const bool using_netcdf_internal=true ;
9#else
10  const bool using_netcdf_internal=false ;
11#endif
12
[379]13#include "netcdf_version.hpp"
14
15#if NETCDF_VERSION >= 4110
16
17#  if defined(USING_NETCDF_PAR)
18extern "C"
19{
[1328]20#  include <netcdf_par.h>
[379]21}
22#  endif
23#endif
24
[480]25#if !defined(USING_NETCDF_PAR)
[525]26#define NC_INDEPENDENT 0
27#define NC_COLLECTIVE  1
[480]28#endif
29
[379]30namespace xios
31{
[1138]32  inline int nc_create_par(const char *path, int cmode, MPI_Comm comm, MPI_Info info,int *ncidp)
[379]33  {
34#if defined(USING_NETCDF_PAR)
[1138]35    return ::nc_create_par(path, cmode, comm, info, ncidp) ;
[379]36#else
37    ERROR("int nc_create_par(const char *path, int cmode, MPI_Comm comm, MPI_Info info,int *ncidp)",
38           << "must not be use with netcdf sequential version") ;
39    return -1 ;
40#endif
41  }
[525]42
[1138]43  inline int nc_open_par(const char *path, int mode, MPI_Comm comm, MPI_Info info,int *ncidp)
[525]44  {
[379]45#if defined(USING_NETCDF_PAR)
[1138]46    return ::nc_open_par(path, mode, comm, info, ncidp) ;
[379]47#else
48    ERROR("int nc_open_par(const char *path, int mode, MPI_Comm comm, MPI_Info info,int *ncidp)",
49           << "must not be use with netcdf sequential version") ;
50    return -1 ;
51#endif
52  }
[525]53
[379]54  inline int nc_var_par_access(int ncid, int varid, int par_access)
55  {
56#if defined(USING_NETCDF_PAR)
57    return ::nc_var_par_access(ncid, varid, par_access) ;
58#else
59    ERROR("int nc_var_par_access(int ncid, int varid, int par_access)",
60           << "must not be use with netcdf sequential version") ;
61    return -1 ;
62#endif
63  }
64}
65
66
67#endif
Note: See TracBrowser for help on using the repository browser.