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 12906 for NEMO/branches/UKMO/dev_r12866_HPC-02_Daley_Tiling_trial_extra_halo/src/OCE/do_loop_substitute.h90 – NEMO

Ignore:
Timestamp:
2020-05-11T19:19:46+02:00 (4 years ago)
Author:
hadcv
Message:

Implement tiling trial in extended haloes development

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/dev_r12866_HPC-02_Daley_Tiling_trial_extra_halo/src/OCE/do_loop_substitute.h90

    r12807 r12906  
    102102 
    103103! 2D loops with 1 
    104  
    105 #define DO_2D_00_00   DO jj = Njs0, Nje0   ;   DO ji = Nis0, Nie0 
    106 #define DO_2D_00_01   DO jj = Njs0, Nje0   ;   DO ji = Nis0, Nie1 
    107 #define DO_2D_00_10   DO jj = Njs0, Nje0   ;   DO ji = Nis1, Nie0 
    108 #define DO_2D_00_11   DO jj = Njs0, Nje0   ;   DO ji = Nis1, Nie1 
     104#define Ntis0      ntsi(ntile) 
     105#define Ntjs0      ntsj(ntile) 
     106#define Ntis1      Ntis0 - 1 
     107#define Ntjs1      Ntjs0 - 1 
     108#define Ntis2      Ntis0 - nn_hls 
     109#define Ntjs2      Ntjs0 - nn_hls 
     110#define Ntie0      ntei(ntile) 
     111#define Ntje0      ntej(ntile) 
     112#define Ntie1      Ntie0 + 1 
     113#define Ntje1      Ntje0 + 1 
     114#define Ntie2      Ntie0 + nn_hls 
     115#define Ntje2      Ntje0 + nn_hls 
     116#define A2D        Ntis2:Ntie2,Ntjs2:Ntje2 
     117 
     118#define DO_2D_00_00   DO jj = Ntjs0, Ntje0   ;   DO ji = Ntis0, Ntie0 
     119#define DO_2D_00_01   DO jj = Ntjs0, Ntje0   ;   DO ji = Ntis0, Ntie1 
     120#define DO_2D_00_10   DO jj = Ntjs0, Ntje0   ;   DO ji = Ntis1, Ntie0 
     121#define DO_2D_00_11   DO jj = Ntjs0, Ntje0   ;   DO ji = Ntis1, Ntie1 
    109122  
    110 #define DO_2D_01_00   DO jj = Njs0, Nje1   ;   DO ji = Nis0, Nie0 
    111 #define DO_2D_01_01   DO jj = Njs0, Nje1   ;   DO ji = Nis0, Nie1 
    112 #define DO_2D_01_10   DO jj = Njs0, Nje1   ;   DO ji = Nis1, Nie0 
    113 #define DO_2D_01_11   DO jj = Njs0, Nje1   ;   DO ji = Nis1, Nie1 
     123#define DO_2D_01_00   DO jj = Ntjs0, Ntje1   ;   DO ji = Ntis0, Ntie0 
     124#define DO_2D_01_01   DO jj = Ntjs0, Ntje1   ;   DO ji = Ntis0, Ntie1 
     125#define DO_2D_01_10   DO jj = Ntjs0, Ntje1   ;   DO ji = Ntis1, Ntie0 
     126#define DO_2D_01_11   DO jj = Ntjs0, Ntje1   ;   DO ji = Ntis1, Ntie1 
    114127  
    115 #define DO_2D_10_00   DO jj = Njs1, Nje0   ;   DO ji = Nis0, Nie0 
    116 #define DO_2D_10_01   DO jj = Njs1, Nje0   ;   DO ji = Nis0, Nie1   ! not used ? 
    117 #define DO_2D_10_10   DO jj = Njs1, Nje0   ;   DO ji = Nis1, Nie0 
    118 #define DO_2D_10_11   DO jj = Njs1, Nje0   ;   DO ji = Nis1, Nie1 
     128#define DO_2D_10_00   DO jj = Ntjs1, Ntje0   ;   DO ji = Ntis0, Ntie0 
     129#define DO_2D_10_01   DO jj = Ntjs1, Ntje0   ;   DO ji = Ntis0, Ntie1   ! not used ? 
     130#define DO_2D_10_10   DO jj = Ntjs1, Ntje0   ;   DO ji = Ntis1, Ntie0 
     131#define DO_2D_10_11   DO jj = Ntjs1, Ntje0   ;   DO ji = Ntis1, Ntie1 
    119132  
    120 #define DO_2D_11_00   DO jj = Njs1, Nje1   ;   DO ji = Nis0, Nie0 
    121 #define DO_2D_11_01   DO jj = Njs1, Nje1   ;   DO ji = Nis0, Nie1 
    122 #define DO_2D_11_10   DO jj = Njs1, Nje1   ;   DO ji = Nis1, Nie0 
    123 #define DO_2D_11_11   DO jj = Njs1, Nje1   ;   DO ji = Nis1, Nie1 
     133#define DO_2D_11_00   DO jj = Ntjs1, Ntje1   ;   DO ji = Ntis0, Ntie0 
     134#define DO_2D_11_01   DO jj = Ntjs1, Ntje1   ;   DO ji = Ntis0, Ntie1 
     135#define DO_2D_11_10   DO jj = Ntjs1, Ntje1   ;   DO ji = Ntis1, Ntie0 
     136#define DO_2D_11_11   DO jj = Ntjs1, Ntje1   ;   DO ji = Ntis1, Ntie1 
    124137 
    125138! 2D loops with 1 following a 2/3D loop with 2 
Note: See TracChangeset for help on using the changeset viewer.