From a62909ee2af448c8caedecb33cf2b62ef9ec3b6f Mon Sep 17 00:00:00 2001
From: Sibylle TECHENE <techenes@irene193.c-irene.tgcc.ccc.cea.fr>
Date: Wed, 27 Jul 2022 12:32:09 +0200
Subject: [PATCH] reduce local memory usage #80

---
 src/OCE/do_loop_substitute.h90 | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/OCE/do_loop_substitute.h90 b/src/OCE/do_loop_substitute.h90
index f957d0741..c6db00d51 100644
--- a/src/OCE/do_loop_substitute.h90
+++ b/src/OCE/do_loop_substitute.h90
@@ -58,7 +58,10 @@
 !
 #endif
 
-#define DO_2D(L, R, B, T) DO jj = ntsj-(B), ntej+(T) ; DO ji = ntsi-(L), ntei+(R)
+#define DO_1Di(L, R)        DO ji = ntsi-(L), ntei+(R)
+#define DO_1Dj(B, T)        DO jj = ntsj-(B), ntej+(T)
+#define DO_2Dik(L, R, ks, ke, ki)   DO jk = ks, ke, ki   ;   DO_1Di(L, R)
+#define DO_2D(L, R, B, T)   DO_1Dj(B, T)   ;   DO_1Di(L, R)
 #define DO_2D_OVR(L, R, B, T) DO_2D(L-(L+R)*nthl, R-(R+L)*nthr, B-(B+T)*nthb, T-(T+B)*ntht)
 #define A1Di(H) ntsi-(H):ntei+(H)
 #define A1Dj(H) ntsj-(H):ntej+(H)
@@ -76,5 +79,6 @@
 #define DO_3DS(L, R, B, T, ks, ke, ki) DO jk = ks, ke, ki ; DO_2D(L, R, B, T)
 #define DO_3DS_OVR(L, R, B, T, ks, ke, ki) DO jk = ks, ke, ki ; DO_2D_OVR(L, R, B, T)
 
+#define END_1D   END DO
 #define END_2D   END DO   ;   END DO
-#define END_3D   END DO   ;   END DO   ;   END DO
+#define END_3D   END DO   ;   END DO   ;   END DO
\ No newline at end of file
-- 
GitLab