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