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 13295 for NEMO/trunk/tests/ISOMIP+/MY_SRC/eosbn2.F90 – NEMO

Ignore:
Timestamp:
2020-07-10T20:24:21+02:00 (4 years ago)
Author:
acc
Message:

Replace do-loop macros in the trunk with alternative forms with greater flexibility for extra halo applications. This alters a lot of routines but does not change any behaviour or results. do_loop_substitute.h90 is greatly simplified by this change. SETTE results are identical to those with the previous revision

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/tests/ISOMIP+/MY_SRC/eosbn2.F90

    r12905 r13295  
    243243      CASE( np_teos10, np_eos80 )                !==  polynomial TEOS-10 / EOS-80 ==! 
    244244         ! 
    245          DO_3D_11_11( 1, jpkm1 ) 
     245         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    246246            ! 
    247247            zh  = pdep(ji,jj,jk) * r1_Z0                                  ! depth 
     
    279279      CASE( np_seos )                !==  simplified EOS  ==! 
    280280         ! 
    281          DO_3D_11_11( 1, jpkm1 ) 
     281         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    282282            zt  = pts  (ji,jj,jk,jp_tem) - 10._wp 
    283283            zs  = pts  (ji,jj,jk,jp_sal) - 35._wp 
     
    294294      CASE( np_leos )                !==  linear ISOMIP EOS  ==! 
    295295         ! 
    296          DO_3D_11_11( 1, jpkm1 ) 
     296         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    297297            zt  = pts  (ji,jj,jk,jp_tem) - (-1._wp) 
    298298            zs  = pts  (ji,jj,jk,jp_sal) - 34.2_wp 
     
    356356            END DO 
    357357            ! 
    358             DO_3D_11_11( 1, jpkm1 ) 
     358            DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    359359               ! 
    360360               ! compute density (2*nn_sto_eos) times: 
     
    406406         ! Non-stochastic equation of state 
    407407         ELSE 
    408             DO_3D_11_11( 1, jpkm1 ) 
     408            DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    409409               ! 
    410410               zh  = pdep(ji,jj,jk) * r1_Z0                                  ! depth 
     
    444444      CASE( np_seos )                !==  simplified EOS  ==! 
    445445         ! 
    446          DO_3D_11_11( 1, jpkm1 ) 
     446         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    447447            zt  = pts  (ji,jj,jk,jp_tem) - 10._wp 
    448448            zs  = pts  (ji,jj,jk,jp_sal) - 35._wp 
     
    462462      CASE( np_leos )                !==  linear ISOMIP EOS  ==! 
    463463         ! 
    464          DO_3D_11_11( 1, jpkm1 ) 
     464         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    465465            zt  = pts  (ji,jj,jk,jp_tem) - (-1._wp) 
    466466            zs  = pts  (ji,jj,jk,jp_sal) - 34.2_wp 
     
    513513      CASE( np_teos10, np_eos80 )                !==  polynomial TEOS-10 / EOS-80 ==! 
    514514         ! 
    515          DO_2D_11_11 
     515         DO_2D( 1, 1, 1, 1 ) 
    516516            ! 
    517517            zh  = pdep(ji,jj) * r1_Z0                                  ! depth 
     
    548548      CASE( np_seos )                !==  simplified EOS  ==! 
    549549         ! 
    550          DO_2D_11_11 
     550         DO_2D( 1, 1, 1, 1 ) 
    551551            ! 
    552552            zt    = pts  (ji,jj,jp_tem)  - 10._wp 
     
    564564      CASE( np_leos )                !==  ISOMIP EOS  ==! 
    565565         ! 
    566          DO_2D_11_11 
     566         DO_2D( 1, 1, 1, 1 ) 
    567567            ! 
    568568            zt    = pts  (ji,jj,jp_tem)  - (-1._wp) 
     
    611611      CASE( np_teos10, np_eos80 )                !==  polynomial TEOS-10 / EOS-80 ==! 
    612612         ! 
    613          DO_3D_11_11( 1, jpkm1 ) 
     613         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    614614            ! 
    615615            zh  = gdept(ji,jj,jk,Kmm) * r1_Z0                                ! depth 
     
    664664      CASE( np_seos )                  !==  simplified EOS  ==! 
    665665         ! 
    666          DO_3D_11_11( 1, jpkm1 ) 
     666         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    667667            zt  = pts (ji,jj,jk,jp_tem) - 10._wp   ! pot. temperature anomaly (t-T0) 
    668668            zs  = pts (ji,jj,jk,jp_sal) - 35._wp   ! abs. salinity anomaly (s-S0) 
     
    680680      CASE( np_leos )                  !==  linear ISOMIP EOS  ==! 
    681681         ! 
    682          DO_3D_11_11( 1, jpkm1 ) 
     682         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    683683            zt  = pts (ji,jj,jk,jp_tem) - (-1._wp) 
    684684            zs  = pts (ji,jj,jk,jp_sal) - 34.2_wp   ! abs. salinity anomaly (s-S0) 
     
    734734      CASE( np_teos10, np_eos80 )                !==  polynomial TEOS-10 / EOS-80 ==! 
    735735         ! 
    736          DO_2D_11_11 
     736         DO_2D( 1, 1, 1, 1 ) 
    737737            ! 
    738738            zh  = pdep(ji,jj) * r1_Z0                                  ! depth 
     
    787787      CASE( np_seos )                  !==  simplified EOS  ==! 
    788788         ! 
    789          DO_2D_11_11 
     789         DO_2D( 1, 1, 1, 1 ) 
    790790            ! 
    791791            zt    = pts  (ji,jj,jp_tem) - 10._wp   ! pot. temperature anomaly (t-T0) 
     
    803803      CASE( np_leos )                  !==  linear ISOMIP EOS  ==! 
    804804         ! 
    805          DO_2D_11_11 
     805         DO_2D( 1, 1, 1, 1 ) 
    806806            ! 
    807807            zt    = pts  (ji,jj,jp_tem) - (-1._wp)   ! pot. temperature anomaly (t-T0) 
     
    965965      IF( ln_timing )   CALL timing_start('bn2') 
    966966      ! 
    967       DO_3D_11_11( 2, jpkm1 ) 
     967      DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 
    968968         zrw =   ( gdepw(ji,jj,jk  ,Kmm) - gdept(ji,jj,jk,Kmm) )   & 
    969969            &  / ( gdept(ji,jj,jk-1,Kmm) - gdept(ji,jj,jk,Kmm) )  
     
    10131013      z1_T0   = 1._wp/40._wp 
    10141014      ! 
    1015       DO_2D_11_11 
     1015      DO_2D( 1, 1, 1, 1 ) 
    10161016         ! 
    10171017         zt  = ctmp   (ji,jj) * z1_T0 
     
    10661066         ! 
    10671067         z1_S0 = 1._wp / 35.16504_wp 
    1068          DO_2D_11_11 
     1068         DO_2D( 1, 1, 1, 1 ) 
    10691069            zs= SQRT( ABS( psal(ji,jj) ) * z1_S0 )           ! square root salinity 
    10701070            ptf(ji,jj) = ((((1.46873e-03_wp*zs-9.64972e-03_wp)*zs+2.28348e-02_wp)*zs & 
     
    11731173      CASE( np_teos10, np_eos80 )                !==  polynomial TEOS-10 / EOS-80 ==! 
    11741174         ! 
    1175          DO_3D_11_11( 1, jpkm1 ) 
     1175         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    11761176            ! 
    11771177            zh  = gdept(ji,jj,jk,Kmm) * r1_Z0                                ! depth 
     
    12321232      CASE( np_seos )                !==  Vallis (2006) simplified EOS  ==! 
    12331233         ! 
    1234          DO_3D_11_11( 1, jpkm1 ) 
     1234         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    12351235            zt  = pts(ji,jj,jk,jp_tem) - 10._wp  ! temperature anomaly (t-T0) 
    12361236            zs = pts (ji,jj,jk,jp_sal) - 35._wp  ! abs. salinity anomaly (s-S0) 
     
    12481248      CASE( np_leos )                !==  linear ISOMIP EOS  ==! 
    12491249         ! 
    1250          DO_3D_11_11( 1, jpkm1 ) 
     1250         DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
    12511251            zt  = pts(ji,jj,jk,jp_tem) - (-1._wp)  ! temperature anomaly (t-T0) 
    12521252            zs = pts (ji,jj,jk,jp_sal) - 34.2_wp   ! abs. salinity anomaly (s-S0) 
Note: See TracChangeset for help on using the changeset viewer.