source: CONFIG/publications/ICOLMDZORINCA_CO2_Transport_GMD_2023/XIOS/src/array_mac.hpp @ 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: 987 bytes
Line 
1#ifndef __XIOS_CArray_mac__
2#define __XIOS_CArray_mac__
3
4/// ////////////////////// Macros ////////////////////// ///
5
6// Type Fortran
7#define ARRAY(valuetype, numdims) std::shared_ptr<CArray<valuetype, numdims> >
8
9#define ARRAY_ASSIGN(value, valuetype, numdims, extent)\
10   value.reset(new CArray<valuetype, numdims>(boost::extents extent))
11
12#define ARRAY_CREATE(value, valuetype, numdims, extent)\
13   ARRAY(valuetype, numdims) value =                   \
14   ARRAY(valuetype, numdims)(new CArray<valuetype, numdims>(boost::extents extent))
15
16// Type C
17#define ARRAY_C_ASSIGN(value, valuetype, numdims, extent)\
18   value = ARRAY(valuetype, numdims)                     \
19   (new CArray<valuetype, numdims>(boost::extents extent, c_storage_order()))
20
21#define ARRAY_C_CREATE(value, valuetype, numdims, extent)\
22   ARRAY_C_ASSIGN(ARRAY(valuetype, numdims) value, valuetype, numdims, extent)
23
24///---------------------------------------------------------------
25
26#endif // __XIOS_CArray_mac__
Note: See TracBrowser for help on using the repository browser.