source: CONFIG/publications/ICOLMDZORINCA_CO2_Transport_GMD_2023/XIOS/src/io/netCdfInterface_decl.cpp @ 6607

Last change on this file since 6607 was 6607, checked in by acosce, 10 months ago

XIOS used for ICOLMDZORINCA_CO2_Transport_GMD_2023

File size: 1.4 KB
Line 
1/*!
2   \file netCdfInterface_impl.hpp
3   \author Ha NGUYEN
4   \date 06 Oct 2014
5   \since 06 Oct 2014
6
7   \brief Implemention of some templated functions in netCdfInterface
8 */
9
10#include "netCdfInterface_impl.hpp"
11
12namespace xios
13{
14#define macroAtt(type) \
15  template int CNetCdfInterface::getAttType(int ncid, int varid, const StdString& attrName, type* data); \
16  template int CNetCdfInterface::putAttType(int ncid, int varid, const StdString& attrName,              \
17                                            StdSize numVal, const type* data);
18
19  macroAtt(double)
20  macroAtt(float)
21  macroAtt(int)
22  macroAtt(long)
23  macroAtt(short)
24  macroAtt(char)
25
26#define macroPutVar(type) \
27 template int CNetCdfInterface::getVaraType(int ncid, int varId, const StdSize* start, \
28                                            const StdSize* count, type* data);         \
29 template int CNetCdfInterface::putVaraType(int ncid, int varId, const StdSize* start, \
30                                            const StdSize* count, const type* data);
31
32  macroPutVar(double)
33  macroPutVar(float)
34  macroPutVar(int)
35  macroPutVar(char)
36 
37#define macroType(type, ncType) \
38  template<> nc_type CNetCdfInterface::getNcType<type>() { return ncType; }
39
40  macroType(double, NC_DOUBLE)
41  macroType(float, NC_FLOAT)
42  macroType(int, NC_INT)
43  macroType(long, NC_LONG)
44  macroType(short, NC_SHORT)
45  macroType(char, NC_CHAR)
46}
Note: See TracBrowser for help on using the repository browser.