- Timestamp:
- 2020-10-01T13:33:30+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r13383_HPC-02_Daley_Tiling/src/OCE/DOM/domutl.F90
r13514 r13553 53 53 INTEGER , DIMENSION(2) :: iloc 54 54 REAL(wp) :: zlon, zmini 55 REAL(wp), DIMENSION(jpi,jpj) :: zglam, zgphi, zmask, zdist 55 REAL(wp), DIMENSION(jpi,jpj) :: zglam, zgphi, zdist 56 LOGICAL , DIMENSION(jpi,jpj) :: llmsk 56 57 !!-------------------------------------------------------------------- 57 58 ! … … 59 60 IF ( PRESENT(kkk) ) ik=kkk 60 61 ! 61 CALL dom_uniq(zmask,cdgrid)62 !63 62 SELECT CASE( cdgrid ) 64 CASE( 'U' ) ; zglam(:,:) = glamu(:,:) ; zgphi(:,:) = gphiu(:,:) ; zmask(:,:) = zmask(:,:) * umask(:,:,ik)65 CASE( 'V' ) ; zglam(:,:) = glamv(:,:) ; zgphi(:,:) = gphiv(:,:) ; zmask(:,:) = zmask(:,:) * vmask(:,:,ik)66 CASE( 'F' ) ; zglam(:,:) = glamf(:,:) ; zgphi(:,:) = gphif(:,:) ; zmask(:,:) = zmask(:,:) * fmask(:,:,ik)67 CASE DEFAULT ; zglam(:,:) = glamt(:,:) ; zgphi(:,:) = gphit(:,:) ; zmask(:,:) = zmask(:,:) * tmask(:,:,ik)63 CASE( 'U' ) ; zglam(:,:) = glamu(:,:) ; zgphi(:,:) = gphiu(:,:) ; llmsk(:,:) = tmask_h(:,:) * umask(:,:,ik) == 1._wp 64 CASE( 'V' ) ; zglam(:,:) = glamv(:,:) ; zgphi(:,:) = gphiv(:,:) ; llmsk(:,:) = tmask_h(:,:) * vmask(:,:,ik) == 1._wp 65 CASE( 'F' ) ; zglam(:,:) = glamf(:,:) ; zgphi(:,:) = gphif(:,:) ; llmsk(:,:) = tmask_h(:,:) * fmask(:,:,ik) == 1._wp 66 CASE DEFAULT; zglam(:,:) = glamt(:,:) ; zgphi(:,:) = gphit(:,:) ; llmsk(:,:) = tmask_h(:,:) * tmask(:,:,ik) == 1._wp 68 67 END SELECT 69 68 ! … … 73 72 IF( zlon < 90. ) WHERE( zglam(:,:) > 180. ) zglam(:,:) = zglam(:,:) - 360. ! glam between -180 and 180 74 73 zglam(:,:) = zglam(:,:) - zlon 75 74 ! 76 75 zgphi(:,:) = zgphi(:,:) - plat 77 76 zdist(:,:) = zglam(:,:) * zglam(:,:) + zgphi(:,:) * zgphi(:,:) 78 79 IF( lk_mpp ) THEN 80 CALL mpp_minloc( 'domngb', zdist(:,:), zmask, zmini, iloc) 81 kii = iloc(1) ; kjj = iloc(2) 82 ELSE 83 iloc(:) = MINLOC( zdist(:,:), mask = zmask(:,:) == 1.e0 ) 84 kii = iloc(1) + nimpp - 1 85 kjj = iloc(2) + njmpp - 1 86 ENDIF 77 ! 78 CALL mpp_minloc( 'domngb', zdist(:,:), llmsk, zmini, iloc, ldhalo = .TRUE. ) 79 kii = iloc(1) 80 kjj = iloc(2) 87 81 ! 88 82 END SUBROUTINE dom_ngb
Note: See TracChangeset
for help on using the changeset viewer.