MOM6
MOM_memory.h
Go to the documentation of this file.
1 !/// \brief Compile-time memory settings
2 !/// \details This include file determines the compile-time memory settings.
3 !/// There are several variants of this file and only one should be in the search path for compilation.
4 !/// \file MOM_memory.h
5 
6 !/// The number of thickness grid points in the i-direction of the global domain.
7 #define NIGLOBAL_ NONSENSE_NIGLOBAL
8 !/// The number of thickness grid points in the j-direction of the global domain.
9 #define NJGLOBAL_ NONSENSE_NJGLOBAL
10 !/// The number of layers in the vertical direction.
11 #define NK_ NONSENSE_NK
12 
13 !/// The number of processors in the i-direction.
14 #define NIPROC_ NONSENSE_NIPROC
15 
16 !/// The number of processors in the j-direction.
17 #define NJPROC_ NONSENSE_NJPROC
18 
19 !/// The maximum permitted number (each) of restart variables, time derivatives, etc.
20 !/// This is mostly used for the size of pointer arrays, so it should be set generously.
21 #ifndef MAX_FIELDS_
22 #define MAX_FIELDS_ 50
23 #endif
24 
25 !/// The number of memory halo cells on each side of the computational domain in the i-direction.
26 #define NIHALO_ 2
27 
28 !/// The number of memory halo cells on each side of the computational domain in the j-direction.
29 #define NJHALO_ 2
30 
31 !/// If SYMMETRIC_MEMORY_() is defined, the velocity point data domain includes every face of the thickness points.
32 !/// In other words, some arrays are larger than others, depending on where they are on the staggered grid.
33 #define SYMMETRIC_MEMORY_
34 
35 !/// If STATIC_MEMORY_ is defined, the principle variables have sizes that are statically determined at compile time.
36 !/// Otherwise the sizes are not determined until run time.
37 #undef STATIC_MEMORY_
38 
39 #include <MOM_memory_macros.h>
MOM_memory_macros.h
Memory macros.