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 13518 for NEMO/branches/2020/dev_r13383_HPC-02_Daley_Tiling/src/OCE/TRA/traisf.F90 – NEMO

Ignore:
Timestamp:
2020-09-24T20:49:07+02:00 (4 years ago)
Author:
hadcv
Message:

Tiling for modules before tra_adv

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r13383_HPC-02_Daley_Tiling/src/OCE/TRA/traisf.F90

    r13295 r13518  
    1111   !!---------------------------------------------------------------------- 
    1212   USE isf_oce                                     ! Ice shelf variables 
     13   USE par_oce , ONLY : nijtile, ntile, ntsi, ntei, ntsj, ntej 
    1314   USE dom_oce                                     ! ocean space domain variables 
    1415   USE isfutils, ONLY : debug                      ! debug option 
     
    3132CONTAINS 
    3233 
     34   ! TODO: NOT TESTED- requires isf 
    3335   SUBROUTINE tra_isf ( kt, Kmm, pts, Krhs ) 
    3436      !!---------------------------------------------------------------------- 
     
    4648      IF( ln_timing )   CALL timing_start('tra_isf') 
    4749      ! 
    48       IF( kt == nit000 ) THEN 
    49          IF(lwp) WRITE(numout,*) 
    50          IF(lwp) WRITE(numout,*) 'tra_isf : Ice shelf heat fluxes' 
    51          IF(lwp) WRITE(numout,*) '~~~~~~~ ' 
     50      IF( ntile == 0 .OR. ntile == 1 )  THEN                       ! Do only on the first tile 
     51         IF( kt == nit000 ) THEN 
     52            IF(lwp) WRITE(numout,*) 
     53            IF(lwp) WRITE(numout,*) 'tra_isf : Ice shelf heat fluxes' 
     54            IF(lwp) WRITE(numout,*) '~~~~~~~ ' 
     55         ENDIF 
    5256      ENDIF 
    5357      ! 
     
    7680      ! 
    7781      IF ( ln_isfdebug ) THEN 
    78          CALL debug('tra_isf: pts(:,:,:,:,Krhs) T', pts(:,:,:,1,Krhs)) 
    79          CALL debug('tra_isf: pts(:,:,:,:,Krhs) S', pts(:,:,:,2,Krhs)) 
     82         IF( ntile == 0 .OR. ntile == nijtile ) THEN                       ! Do only for the full domain 
     83            CALL debug('tra_isf: pts(:,:,:,:,Krhs) T', pts(:,:,:,1,Krhs)) 
     84            CALL debug('tra_isf: pts(:,:,:,:,Krhs) S', pts(:,:,:,2,Krhs)) 
     85         ENDIF 
    8086      END IF 
    8187      ! 
     
    8490   END SUBROUTINE tra_isf 
    8591   ! 
     92   ! TODO: NOT TESTED- requires isf 
    8693   SUBROUTINE tra_isf_mlt(ktop, kbot, phtbl, pfrac, ptsc, ptsc_b, pts) 
    8794      !!---------------------------------------------------------------------- 
     
    101108      INTEGER                      :: ji,jj,jk  ! loop index    
    102109      INTEGER                      :: ikt, ikb  ! top and bottom level of the tbl 
    103       REAL(wp), DIMENSION(jpi,jpj) :: ztc       ! total ice shelf tracer trend 
     110      REAL(wp), DIMENSION(ST_2D(nn_hls))    :: ztc       ! total ice shelf tracer trend 
    104111      !!---------------------------------------------------------------------- 
    105112      ! 
    106113      ! compute 2d total trend due to isf 
    107       ztc(:,:) = 0.5_wp * ( ptsc(:,:,jp_tem) + ptsc_b(:,:,jp_tem) ) / phtbl(:,:) 
     114      DO_2D( 1, 1, 1, 1 ) 
     115         ztc(ji,jj) = 0.5_wp * ( ptsc(ji,jj,jp_tem) + ptsc_b(ji,jj,jp_tem) ) / phtbl(ji,jj) 
     116      END_2D 
    108117      ! 
    109118      ! update pts(:,:,:,:,Krhs) 
     
    125134   END SUBROUTINE tra_isf_mlt 
    126135   ! 
     136   ! TODO: NOT TESTED- requires isf 
    127137   SUBROUTINE tra_isf_cpl( Kmm, ptsc, ptsa ) 
    128138      !!---------------------------------------------------------------------- 
     
    137147      REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT(in   ) :: ptsc 
    138148      !!---------------------------------------------------------------------- 
    139       INTEGER :: jk 
     149      INTEGER :: ji, jj, jk 
    140150      !!---------------------------------------------------------------------- 
    141151      ! 
    142       DO jk = 1,jpk 
    143          ptsa(:,:,jk,jp_tem) =   & 
    144             &  ptsa(:,:,jk,jp_tem) + ptsc(:,:,jk,jp_tem) * r1_e1e2t(:,:) / e3t(:,:,jk,Kmm) 
    145          ptsa(:,:,jk,jp_sal) =   & 
    146             &  ptsa(:,:,jk,jp_sal) + ptsc(:,:,jk,jp_sal) * r1_e1e2t(:,:) / e3t(:,:,jk,Kmm) 
    147       END DO 
     152      DO_3D( 0, 0, 0, 0, 1, jpk ) 
     153         ptsa(ji,jj,jk,jp_tem) = ptsa(ji,jj,jk,jp_tem) + ptsc(ji,jj,jk,jp_tem) * r1_e1e2t(ji,jj) / e3t(ji,jj,jk,Kmm) 
     154         ptsa(ji,jj,jk,jp_sal) = ptsa(ji,jj,jk,jp_sal) + ptsc(ji,jj,jk,jp_sal) * r1_e1e2t(ji,jj) / e3t(ji,jj,jk,Kmm) 
     155      END_3D 
    148156      ! 
    149157   END SUBROUTINE tra_isf_cpl 
Note: See TracChangeset for help on using the changeset viewer.