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 13745 for NEMO/branches/2020 – NEMO

Changeset 13745 for NEMO/branches/2020


Ignore:
Timestamp:
2020-11-06T19:28:22+01:00 (3 years ago)
Author:
hadcv
Message:

#2365: Corrections for ORCA2 and to pass SETTE

Location:
NEMO/branches/2020/dev_r13383_HPC-02_Daley_Tiling/src/OCE
Files:
4 edited

Legend:

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

    r13563 r13745  
    116116 
    117117 
    118    PURE FUNCTION is_tile_2d( pt ) 
     118   FUNCTION is_tile_2d( pt ) 
    119119      !! 
    120120      REAL(wp), DIMENSION(:,:), INTENT(in) ::   pt 
     
    129129 
    130130 
    131    PURE FUNCTION is_tile_3d( pt ) 
     131   FUNCTION is_tile_3d( pt ) 
    132132      !! 
    133133      REAL(wp), DIMENSION(:,:,:), INTENT(in) ::   pt 
     
    142142 
    143143 
    144    PURE FUNCTION is_tile_4d( pt ) 
     144   FUNCTION is_tile_4d( pt ) 
    145145      !! 
    146146      REAL(wp), DIMENSION(:,:,:,:), INTENT(in) ::   pt 
  • NEMO/branches/2020/dev_r13383_HPC-02_Daley_Tiling/src/OCE/DOM/dtatsd.F90

    r13553 r13745  
    141141      INTEGER ::   ji, jj, jk, jl, jkk   ! dummy loop indicies 
    142142      INTEGER ::   ik, il0, il1, ii0, ii1, ij0, ij1   ! local integers 
     143      INTEGER ::   itile 
    143144      REAL(wp)::   zl, zi                             ! local scalars 
    144145      REAL(wp), DIMENSION(jpk) ::  ztp, zsp   ! 1D workspace 
     
    146147      ! 
    147148      IF( ntile == 0 .OR. ntile == 1 )  THEN                                         ! Do only for the full domain 
     149         itile = ntile 
    148150         IF( ln_tile ) CALL dom_tile( ntsi, ntsj, ntei, ntej, ktile = 0 )            ! Use full domain 
    149151            CALL fld_read( kt, 1, sf_tsd )   !==   read T & S data at kt time step   ==! 
     
    179181         ENDIF 
    180182!!gm end 
    181          IF( ln_tile ) CALL dom_tile( ntsi, ntsj, ntei, ntej, ktile = 1 )            ! Revert to tile domain 
    182       ENDIF 
    183       ! 
    184       DO_3D( 0, 0, 0, 0, 1, jpk ) 
     183         IF( ln_tile ) CALL dom_tile( ntsi, ntsj, ntei, ntej, ktile = itile )            ! Revert to tile domain 
     184      ENDIF 
     185      ! 
     186      DO_3D( 1, 1, 1, 1, 1, jpk ) 
    185187         ptsd(ji,jj,jk,jp_tem) = sf_tsd(jp_tem)%fnow(ji,jj,jk)    ! NO mask 
    186188         ptsd(ji,jj,jk,jp_sal) = sf_tsd(jp_sal)%fnow(ji,jj,jk) 
     
    225227      ELSE                                !==   z- or zps- coordinate   ==! 
    226228         !                              
    227          DO_3D( 0, 0, 0, 0, 1, jpk ) 
     229         DO_3D( 1, 1, 1, 1, 1, jpk ) 
    228230            ptsd(ji,jj,jk,jp_tem) = ptsd(ji,jj,jk,jp_tem) * tmask(ji,jj,jk)    ! Mask 
    229231            ptsd(ji,jj,jk,jp_sal) = ptsd(ji,jj,jk,jp_sal) * tmask(ji,jj,jk) 
  • NEMO/branches/2020/dev_r13383_HPC-02_Daley_Tiling/src/OCE/DYN/dynhpg.F90

    r13515 r13745  
    303303      REAL(wp) ::   zcoef0, zcoef1, zcoef2, zcoef3   ! temporary scalars 
    304304      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zhpi, zhpj 
    305       REAL(wp), DIMENSION(jpi,jpj,1)   :: zgtsu, zgtsv 
     305      REAL(wp), DIMENSION(jpi,jpj,jpts)   :: zgtsu, zgtsv 
    306306      REAL(wp), DIMENSION(jpi,jpj)     :: zgru, zgrv 
    307307      !!---------------------------------------------------------------------- 
  • NEMO/branches/2020/dev_r13383_HPC-02_Daley_Tiling/src/OCE/TRA/trabbl.F90

    r13553 r13745  
    142142         IF( ntile == 0 .OR. ntile == nijtile ) THEN                       ! Do only on the last tile 
    143143            ! lateral boundary conditions ; just need for outputs 
     144            ! NOTE: The results change along the north fold if this is removed 
     145            CALL lbc_lnk_multi( 'trabbl', utr_bbl, 'U', 1.0_wp , vtr_bbl, 'V', 1.0_wp ) 
    144146            CALL iom_put( "uoce_bbl", utr_bbl )  ! bbl i-transport 
    145147            CALL iom_put( "voce_bbl", vtr_bbl )  ! bbl j-transport 
     
    238240      INTEGER  ::   iis , iid , ijs , ijd    ! local integers 
    239241      INTEGER  ::   ikus, ikud, ikvs, ikvd   !   -       - 
     242      INTEGER  ::   isi, isj                 !   -       - 
    240243      REAL(wp) ::   zbtr, ztra               ! local scalars 
    241244      REAL(wp) ::   zu_bbl, zv_bbl           !   -      - 
    242245      !!---------------------------------------------------------------------- 
    243246      ! 
     247      IF( ntsi == Nis0 ) THEN ; isi = 1 ; ELSE ; isi = 0 ; ENDIF    ! Avoid double-counting when using tiling 
     248      IF( ntsj == Njs0 ) THEN ; isj = 1 ; ELSE ; isj = 0 ; ENDIF 
    244249      !                                                          ! =========== 
    245250      DO jn = 1, kjpt                                            ! tracer loop 
    246251         !                                                       ! =========== 
    247          DO_2D( 1, 0, 1, 0 )            ! CAUTION start from i=1 to update i=2 when cyclic east-west 
     252         DO_2D( isi, 0, isj, 0 )            ! CAUTION start from i=1 to update i=2 when cyclic east-west 
    248253            IF( utr_bbl(ji,jj) /= 0.e0 ) THEN            ! non-zero i-direction bbl advection 
    249254               ! down-slope i/k-indices (deep)      &   up-slope i/k indices (shelf) 
Note: See TracChangeset for help on using the changeset viewer.