Ignore:
Timestamp:
2020-09-24T20:42:25+02:00 (5 months ago)
Author:
hadcv
Message:

Tiling for modules after tra_ldf

File:
1 edited

Legend:

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

    r13295 r13517  
    4444                      ! uses ww from previous time step (which is now wb) to calculate hbl 
    4545   USE dom_oce        ! ocean space and time domain 
     46   ! TEMP: This change not necessary after trd_tra is tiled 
     47   USE domain, ONLY : dom_tile 
    4648   USE zdf_oce        ! ocean vertical physics 
    4749   USE sbc_oce        ! surface boundary condition: ocean 
     
    14961498     !!----------------------------------------------------------------------------- 
    14971499     IF( TRIM(cdrw) == 'WRITE') THEN     !* Write hbli into the restart file, then return 
     1500        IF( ntile /= 0 .AND. ntile /= nijtile ) RETURN        ! Do only on the last tile 
     1501 
    14981502        IF(lwp) WRITE(numout,*) '---- osm-rst ----' 
    14991503         CALL iom_rstput( kt, nitrst, numrow, 'wn'     , ww  , ldxios = lwxios ) 
     
    15411545      !! ** Method  :   ??? 
    15421546      !!---------------------------------------------------------------------- 
    1543       REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::   ztrdt, ztrds   ! 3D workspace 
     1547      ! TEMP: This change not necessary after trd_tra is tiled 
     1548      REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, SAVE ::   ztrdt, ztrds   ! 3D workspace 
    15441549      !!---------------------------------------------------------------------- 
    15451550      INTEGER                                  , INTENT(in)    :: kt        ! time step index 
     
    15501555      ! 
    15511556      IF( kt == nit000 ) THEN 
    1552          IF(lwp) WRITE(numout,*) 
    1553          IF(lwp) WRITE(numout,*) 'tra_osm : OSM non-local tracer fluxes' 
    1554          IF(lwp) WRITE(numout,*) '~~~~~~~   ' 
     1557         IF( ntile == 0 .OR. ntile == 1 ) THEN                    ! Do only on the first tile 
     1558            IF(lwp) WRITE(numout,*) 
     1559            IF(lwp) WRITE(numout,*) 'tra_osm : OSM non-local tracer fluxes' 
     1560            IF(lwp) WRITE(numout,*) '~~~~~~~   ' 
     1561         ENDIF 
    15551562      ENDIF 
    15561563 
    15571564      IF( l_trdtra )   THEN                    !* Save ta and sa trends 
    1558          ALLOCATE( ztrdt(jpi,jpj,jpk) )   ;    ztrdt(:,:,:) = pts(:,:,:,jp_tem,Krhs) 
    1559          ALLOCATE( ztrds(jpi,jpj,jpk) )   ;    ztrds(:,:,:) = pts(:,:,:,jp_sal,Krhs) 
     1565         IF( ntile == 0 .OR. ntile == 1 )  THEN                       ! Do only on the first tile 
     1566            ! TEMP: This can be ST_2D(nn_hls) after trd_tra is tiled 
     1567            ALLOCATE( ztrdt(jpi,jpj,jpk), ztrds(jpi,jpj,jpk) ) 
     1568         ENDIF 
     1569 
     1570         DO_3D( 0, 0, 0, 0, 1, jpk ) 
     1571            ztrdt(ji,jj,jk) = pts(ji,jj,jk,jp_tem,Krhs) 
     1572            ztrds(ji,jj,jk) = pts(ji,jj,jk,jp_sal,Krhs) 
     1573         END_3D 
    15601574      ENDIF 
    15611575 
     
    15701584      END_3D 
    15711585 
    1572  
     1586      ! TEMP: These changes not necessary after trd_tra is tiled 
    15731587      ! save the non-local tracer flux trends for diagnostic 
    15741588      IF( l_trdtra )   THEN 
    1575          ztrdt(:,:,:) = pts(:,:,:,jp_tem,Krhs) - ztrdt(:,:,:) 
    1576          ztrds(:,:,:) = pts(:,:,:,jp_sal,Krhs) - ztrds(:,:,:) 
     1589         DO_3D( 0, 0, 0, 0, 1, jpk ) 
     1590            ztrdt(ji,jj,jk) = pts(ji,jj,jk,jp_tem,Krhs) - ztrdt(ji,jj,jk) 
     1591            ztrds(ji,jj,jk) = pts(ji,jj,jk,jp_sal,Krhs) - ztrds(ji,jj,jk) 
     1592         END_3D 
     1593 
     1594         IF( ntile == 0 .OR. ntile == nijtile )  THEN                ! Do only for the full domain 
     1595            IF( ln_tile ) CALL dom_tile( ntsi, ntsj, ntei, ntej, ktile = 0 )         ! Use full domain 
     1596 
    15771597!!bug gm jpttdzdf ==> jpttosm 
    1578          CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_tem, jptra_zdf, ztrdt ) 
    1579          CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_sal, jptra_zdf, ztrds ) 
    1580          DEALLOCATE( ztrdt )      ;     DEALLOCATE( ztrds ) 
     1598            ! TODO: TO BE TILED- trd_tra 
     1599            CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_tem, jptra_zdf, ztrdt ) 
     1600            CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_sal, jptra_zdf, ztrds ) 
     1601            DEALLOCATE( ztrdt )      ;     DEALLOCATE( ztrds ) 
     1602 
     1603            IF( ln_tile ) CALL dom_tile( ntsi, ntsj, ntei, ntej, ktile = nijtile )   ! Revert to tile domain 
     1604         ENDIF 
    15811605      ENDIF 
    15821606 
Note: See TracChangeset for help on using the changeset viewer.