New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 12341 – NEMO

Changeset 12341


Ignore:
Timestamp:
2020-01-27T18:26:28+01:00 (5 years ago)
Author:
acc
Message:

Branch 2019/dev_r11943_MERGE_2019. Minor style changes to do_loop_substitute.h90

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/do_loop_substitute.h90

    r12340 r12341  
    11#ifdef show_comments 
    22! These comments are not intended to be retained during preprocessing; i.e. do not define "show_comments" 
     3!!---------------------------------------------------------------------- 
     4!! NEMO/OCE 4.0 , NEMO Consortium (2018) 
     5!! Software governed by the CeCILL license (see ./LICENSE) 
     6!!---------------------------------------------------------------------- 
    37! This header file contains preprocessor definitions and macros used in the do-loop substitutions introduced 
    48! between version 4.0 and 4.2. The primary aim of these macros is to assist in future applications of tiling 
     
    1014!   DO jj = ....                           DO jj = ... 
    1115!      DO ji = ....                           DO ji = ... 
    12 !      .                   OR                 .   
    13 !      .                                      . 
     16!         .                   OR                 .   
     17!         .                                      . 
    1418!     END DO                                  END DO 
    1519!   END DO                                 END DO 
     
    3135!   DO jj = 2, jpj 
    3236!      DO ji = 1, jpim1 
    33 !      . 
    34 !      . 
    35 !     END DO 
     37!         . 
     38!         . 
     39!      END DO 
    3640!   END DO 
    3741! 
     
    3943! 
    4044!   DO_2D_01_10 
    41 !   . 
    42 !   . 
     45!      . 
     46!      . 
    4347!   END_2D 
    4448!  
    45 ! similar conventions apply to the 3D loops macros although jk loop limits are retained through macro arguments and are not restricted. This 
     49! similar conventions apply to the 3D loops macros. jk loop limits are retained through macro arguments and are not restricted. This 
    4650! includes the possibility of strides for which an extra set of DO_3DS macros are defined. 
    4751! 
     
    4953! 
    5054#endif 
    51 #define kIs 2 
    52 #define kJs 2 
    53 #define kIsm1 1 
    54 #define kJsm1 1 
     55#define kIs     2 
     56#define kJs     2 
     57#define kIsm1   1 
     58#define kJsm1   1 
    5559 
    56 #define kIe jpim1 
    57 #define kJe jpjm1 
    58 #define kIep1 jpi 
    59 #define kJep1 jpj 
     60#define kIe     jpim1 
     61#define kJe     jpjm1 
     62#define kIep1   jpi 
     63#define kJep1   jpj 
    6064 
    61 #define DO_2D_00_00 DO jj = kJs, kJe     ; DO ji = kIs, kIe 
    62 #define DO_2D_00_01 DO jj = kJs, kJe     ; DO ji = kIs, kIep1 
    63 #define DO_2D_00_10 DO jj = kJs, kJe     ; DO ji = kIsm1, kIe 
    64 #define DO_2D_00_11 DO jj = kJs, kJe     ; DO ji = kIsm1, kIep1 
     65#define DO_2D_00_00   DO jj = kJs, kJe   ;  DO ji = kIs, kIe 
     66#define DO_2D_00_01   DO jj = kJs, kJe   ;  DO ji = kIs, kIep1 
     67#define DO_2D_00_10   DO jj = kJs, kJe   ;  DO ji = kIsm1, kIe 
     68#define DO_2D_00_11   DO jj = kJs, kJe   ;  DO ji = kIsm1, kIep1 
    6569  
    66 #define DO_2D_01_00 DO jj = kJs, kJep1   ; DO ji = kIs, kIe 
    67 #define DO_2D_01_01 DO jj = kJs, kJep1   ; DO ji = kIs, kIep1 
    68 #define DO_2D_01_10 DO jj = kJs, kJep1   ; DO ji = kIsm1, kIe 
    69 #define DO_2D_01_11 DO jj = kJs, kJep1   ; DO ji = kIsm1, kIep1 
     70#define DO_2D_01_00   DO jj = kJs, kJep1   ;  DO ji = kIs, kIe 
     71#define DO_2D_01_01   DO jj = kJs, kJep1   ;  DO ji = kIs, kIep1 
     72#define DO_2D_01_10   DO jj = kJs, kJep1   ;  DO ji = kIsm1, kIe 
     73#define DO_2D_01_11   DO jj = kJs, kJep1   ;  DO ji = kIsm1, kIep1 
    7074  
    71 #define DO_2D_10_00 DO jj = kJsm1, kJe   ; DO ji = kIs, kIe 
    72 #define DO_2D_10_10 DO jj = kJsm1, kJe   ; DO ji = kIsm1, kIe 
    73 #define DO_2D_10_11 DO jj = kJsm1, kJe   ; DO ji = kIsm1, kIep1 
     75#define DO_2D_10_00   DO jj = kJsm1, kJe   ;  DO ji = kIs, kIe 
     76#define DO_2D_10_10   DO jj = kJsm1, kJe   ;  DO ji = kIsm1, kIe 
     77#define DO_2D_10_11   DO jj = kJsm1, kJe   ;  DO ji = kIsm1, kIep1 
    7478  
    75 #define DO_2D_11_00 DO jj = kJsm1, kJep1 ; DO ji = kIs, kIe 
    76 #define DO_2D_11_01 DO jj = kJsm1, kJep1 ; DO ji = kIs, kIep1 
    77 #define DO_2D_11_10 DO jj = kJsm1, kJep1 ; DO ji = kIsm1, kIe 
    78 #define DO_2D_11_11 DO jj = kJsm1, kJep1 ; DO ji = kIsm1, kIep1 
     79#define DO_2D_11_00   DO jj = kJsm1, kJep1   ;  DO ji = kIs, kIe 
     80#define DO_2D_11_01   DO jj = kJsm1, kJep1   ;  DO ji = kIs, kIep1 
     81#define DO_2D_11_10   DO jj = kJsm1, kJep1   ;  DO ji = kIsm1, kIe 
     82#define DO_2D_11_11   DO jj = kJsm1, kJep1   ;  DO ji = kIsm1, kIep1 
    7983 
    8084 
    81 #define DO_3D_00_00(ks,ke) DO jk = ks, ke ; DO_2D_00_00 
    82 #define DO_3D_00_10(ks,ke) DO jk = ks, ke ; DO_2D_00_10 
     85#define DO_3D_00_00(ks,ke)   DO jk = ks, ke   ;  DO_2D_00_00 
     86#define DO_3D_00_10(ks,ke)   DO jk = ks, ke   ;  DO_2D_00_10 
    8387  
    84 #define DO_3D_01_01(ks,ke) DO jk = ks, ke ; DO_2D_01_01 
     88#define DO_3D_01_01(ks,ke)   DO jk = ks, ke   ;  DO_2D_01_01 
    8589  
    86 #define DO_3D_10_00(ks,ke) DO jk = ks, ke ; DO_2D_10_00 
    87 #define DO_3D_10_10(ks,ke) DO jk = ks, ke ; DO_2D_10_10 
    88 #define DO_3D_10_11(ks,ke) DO jk = ks, ke ; DO_2D_10_11 
     90#define DO_3D_10_00(ks,ke)   DO jk = ks, ke   ;  DO_2D_10_00 
     91#define DO_3D_10_10(ks,ke)   DO jk = ks, ke   ;  DO_2D_10_10 
     92#define DO_3D_10_11(ks,ke)   DO jk = ks, ke   ;  DO_2D_10_11 
    8993  
    90 #define DO_3D_11_11(ks,ke) DO jk = ks, ke ; DO_2D_11_11 
     94#define DO_3D_11_11(ks,ke)   DO jk = ks, ke   ;  DO_2D_11_11 
    9195 
    92 #define DO_3DS_00_00(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_00_00 
    93 #define DO_3DS_01_01(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_01_01 
    94 #define DO_3DS_10_10(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_10_10 
    95 #define DO_3DS_11_11(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_11_11 
     96#define DO_3DS_00_00(ks,ke,ki)   DO jk = ks, ke, ki   ;  DO_2D_00_00 
     97#define DO_3DS_01_01(ks,ke,ki)   DO jk = ks, ke, ki   ;  DO_2D_01_01 
     98#define DO_3DS_10_10(ks,ke,ki)   DO jk = ks, ke, ki   ;  DO_2D_10_10 
     99#define DO_3DS_11_11(ks,ke,ki)   DO jk = ks, ke, ki   ;  DO_2D_11_11 
    96100 
    97 #define END_2D END DO ; END DO 
    98 #define END_3D END DO ; END DO ; END DO 
     101#define END_2D   END DO   ;  END DO 
     102#define END_3D   END DO   ;   END DO   ;  END DO 
Note: See TracChangeset for help on using the changeset viewer.