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 12766 for NEMO/branches/UKMO/dev_r12745_HPC-02_Daley_Tiling_trial_structure/src/OCE/do_loop_substitute.h90 – NEMO

Ignore:
Timestamp:
2020-04-17T14:54:46+02:00 (4 years ago)
Author:
hadcv
Message:

tra_ldf_iso trial using structures

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/dev_r12745_HPC-02_Daley_Tiling_trial_structure/src/OCE/do_loop_substitute.h90

    r12377 r12766  
    102102#define END_2D   END DO   ;   END DO 
    103103#define END_3D   END DO   ;   END DO   ;   END DO 
     104 
     105#define __kIs_T     ktile % ntsi 
     106#define __kJs_T     ktile % ntsj 
     107#define __kIsm1_T   ktile % ntsim1 
     108#define __kJsm1_T   ktile % ntsjm1 
     109 
     110#define __kIe_T     ktile % ntei 
     111#define __kJe_T     ktile % ntej 
     112#define __kIep1_T   ktile % nteip1 
     113#define __kJep1_T   ktile % ntejp1 
     114 
     115#define IND_2D          __kIsm1_T:__kIep1_T,__kJsm1_T:__kJep1_T 
     116 
     117#define DO_2D_00_00_T   DO jj = __kJs_T, __kJe_T   ;   DO ji = __kIs_T, __kIe_T 
     118#define DO_2D_00_01_T   DO jj = __kJs_T, __kJe_T   ;   DO ji = __kIs_T, __kIep1_T 
     119#define DO_2D_00_10_T   DO jj = __kJs_T, __kJe_T   ;   DO ji = __kIsm1_T, __kIe_T 
     120#define DO_2D_00_11_T   DO jj = __kJs_T, __kJe_T   ;   DO ji = __kIsm1_T, __kIep1_T 
     121 
     122#define DO_2D_01_00_T   DO jj = __kJs_T, __kJep1_T   ;   DO ji = __kIs_T, __kIe_T 
     123#define DO_2D_01_01_T   DO jj = __kJs_T, __kJep1_T   ;   DO ji = __kIs_T, __kIep1_T 
     124#define DO_2D_01_10_T   DO jj = __kJs_T, __kJep1_T   ;   DO ji = __kIsm1_T, __kIe_T 
     125#define DO_2D_01_11_T   DO jj = __kJs_T, __kJep1_T   ;   DO ji = __kIsm1_T, __kIep1_T 
     126 
     127#define DO_2D_10_00_T   DO jj = __kJsm1_T, __kJe_T   ;   DO ji = __kIs_T, __kIe_T 
     128#define DO_2D_10_10_T   DO jj = __kJsm1_T, __kJe_T   ;   DO ji = __kIsm1_T, __kIe_T 
     129#define DO_2D_10_11_T   DO jj = __kJsm1_T, __kJe_T   ;   DO ji = __kIsm1_T, __kIep1_T 
     130 
     131#define DO_2D_11_00_T   DO jj = __kJsm1_T, __kJep1_T   ;   DO ji = __kIs_T, __kIe_T 
     132#define DO_2D_11_01_T   DO jj = __kJsm1_T, __kJep1_T   ;   DO ji = __kIs_T, __kIep1_T 
     133#define DO_2D_11_10_T   DO jj = __kJsm1_T, __kJep1_T   ;   DO ji = __kIsm1_T, __kIe_T 
     134#define DO_2D_11_11_T   DO jj = __kJsm1_T, __kJep1_T   ;   DO ji = __kIsm1_T, __kIep1_T 
     135 
     136#define DO_3D_00_00_T(ks,ke)   DO jk = ks, ke   ;   DO_2D_00_00_T 
     137#define DO_3D_00_10_T(ks,ke)   DO jk = ks, ke   ;   DO_2D_00_10_T 
     138 
     139#define DO_3D_01_01_T(ks,ke)   DO jk = ks, ke   ;   DO_2D_01_01_T 
     140 
     141#define DO_3D_10_00_T(ks,ke)   DO jk = ks, ke   ;   DO_2D_10_00_T 
     142#define DO_3D_10_10_T(ks,ke)   DO jk = ks, ke   ;   DO_2D_10_10_T 
     143#define DO_3D_10_11_T(ks,ke)   DO jk = ks, ke   ;   DO_2D_10_11_T 
     144 
     145#define DO_3D_11_11_T(ks,ke)   DO jk = ks, ke   ;   DO_2D_11_11_T 
     146 
     147#define DO_3DS_00_00_T(ks,ke,ki)   DO jk = ks, ke, ki   ;   DO_2D_00_00_T 
     148#define DO_3DS_01_01_T(ks,ke,ki)   DO jk = ks, ke, ki   ;   DO_2D_01_01_T 
     149#define DO_3DS_10_10_T(ks,ke,ki)   DO jk = ks, ke, ki   ;   DO_2D_10_10_T 
     150#define DO_3DS_11_11_T(ks,ke,ki)   DO jk = ks, ke, ki   ;   DO_2D_11_11_T 
Note: See TracChangeset for help on using the changeset viewer.