Changeset 2715 for trunk/NEMOGCM/NEMO/OPA_SRC/DOM/domngb.F90
- Timestamp:
- 2011-03-30T17:58:35+02:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/DOM/domngb.F90
r2528 r2715 8 8 9 9 !!---------------------------------------------------------------------- 10 !! dom_ngb : find the closest grid point from a given on/lat position10 !! dom_ngb : find the closest grid point from a given lon/lat position 11 11 !!---------------------------------------------------------------------- 12 USE dom_oce 13 USE lib_mpp 12 USE dom_oce ! ocean space and time domain 13 USE lib_mpp ! for mppsum 14 14 15 15 IMPLICIT NONE 16 16 PRIVATE 17 17 18 PUBLIC dom_ngb 18 PUBLIC dom_ngb ! routine called in iom.F90 module 19 19 20 20 !!---------------------------------------------------------------------- 21 21 !! NEMO/OPA 3.3 , NEMO Consortium (2010) 22 22 !! $Id$ 23 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)23 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 24 24 !!---------------------------------------------------------------------- 25 26 25 CONTAINS 27 26 … … 30 29 !! *** ROUTINE dom_ngb *** 31 30 !! 32 !! ** Purpose : find the closest grid point from a given on/lat position31 !! ** Purpose : find the closest grid point from a given lon/lat position 33 32 !! 34 33 !! ** Method : look for minimum distance in cylindrical projection 35 34 !! -> not good if located at too high latitude... 36 !!37 35 !!---------------------------------------------------------------------- 36 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 37 USE wrk_nemo, ONLY: zglam => wrk_2d_2 , zgphi => wrk_2d_3 , zmask => wrk_2d_4 , zdist => wrk_2d_5 38 ! 38 39 REAL(wp) , INTENT(in ) :: plon, plat ! longitude,latitude of the point 39 40 INTEGER , INTENT( out) :: kii, kjj ! i-,j-index of the closes grid point 40 41 CHARACTER(len=1), INTENT(in ) :: cdgrid ! grid name 'T', 'U', 'V', 'W' 41 !! 42 INTEGER , DIMENSION(2) :: iloc 43 REAL(wp), DIMENSION(jpi,jpj) :: zglam, zgphi, zmask, zdist 44 REAL(wp) :: zlon 45 REAL(wp) :: zmini 42 ! 43 INTEGER , DIMENSION(2) :: iloc 44 REAL(wp) :: zlon, zmini 46 45 !!-------------------------------------------------------------------- 47 48 zmask(:,:) = 0. 46 ! 47 IF( wrk_in_use(2, 2,3,4,5) ) CALL ctl_stop('dom_ngb: Requested workspaces already in use') 48 ! 49 zmask(:,:) = 0._wp 49 50 SELECT CASE( cdgrid ) 50 51 CASE( 'U' ) ; zglam(:,:) = glamu(:,:) ; zgphi(:,:) = gphiu(:,:) ; zmask(nldi:nlei,nldj:nlej) = umask(nldi:nlei,nldj:nlej,1) … … 70 71 kjj = iloc(2) + njmpp - 1 71 72 ENDIF 72 73 ! 74 IF( wrk_not_released(2, 2,3,4,5) ) CALL ctl_stop('dom_ngb: error releasing workspaces') 75 ! 73 76 END SUBROUTINE dom_ngb 74 77
Note: See TracChangeset
for help on using the changeset viewer.