16 ! NIMEM and NJMEM are the maximum number of grid points in the
17 ! x- and y-directions on each processsor.
19 # define NJMEM_ (((NJGLOBAL_-1)/NJPROC_)+1+2*NJHALO_) 21 ! These are the macros that should be used when setting up
ALLOCABLE_ or
22 !
PTR_ (heap) variables.
24 # define NIMEMB_ 0:NIMEM_ 25 # define NJMEMB_ 0:NJMEM_ 27 # define NIMEMB_ NIMEM_ 28 # define NJMEMB_ NJMEM_ 30 # define NIMEMB_PTR_ NIMEMB_ 31 # define NJMEMB_PTR_ NJMEMB_ 32 # define NIMEMB_SYM_ 0:NIMEM_ 33 # define NJMEMB_SYM_ 0:NJMEM_ 35 # define NKMEM0_ 0:NK_ 36 # define NK_INTERFACE_ NK_+1 40 ! These are the macros that should be used
for subroutine arguments
41 ! or
for automatically allocated (stack) variables.
43 # define SZJ_(G) NJMEM_ 45 # define SZK0_(G) 0:NK_ 46 # define SZIB_(G) NIMEMB_ 47 # define SZJB_(G) NJMEMB_ 48 # define SZIBS_(G) 0:NIMEM_ 49 # define SZJBS_(G) 0:NJMEM_ 55 # define DEALLOC_(x) deallocate(x) 57 # define ALLOC_(x) allocate(x) 59 # define ALLOCABLE_ ,allocatable 61 # define PTR_ ,pointer 63 # define TO_NULL_ =>NULL() 72 # define NIMEMB_PTR_ : 74 # define NJMEMB_PTR_ : 75 # ifdef SYMMETRIC_MEMORY_ 85 # define NIMEMB_SYM_ 0: 87 # define NJMEMB_SYM_ 0: 93 # define NK_INTERFACE_ : 106 # define SZI_(G) G%isd:G%ied 108 # define SZJ_(G) G%jsd:G%jed 110 # define SZK_(G) G%ke 112 # define SZK0_(G) 0:G%ke 114 # define SZIB_(G) G%IsdB:G%IedB 116 # define SZJB_(G) G%JsdB:G%JedB 118 # define SZIBS_(G) G%isd-1:G%ied 120 # define SZJBS_(G) G%jsd-1:G%jed 127 #define SZDI_(G) G%isd:G%ied 129 #define SZDIB_(G) G%IsdB:G%IedB 131 #define SZDJ_(G) G%jsd:G%jed 133 #define SZDJB_(G) G%JsdB:G%JedB
#define SYMMETRIC_MEMORY_