Changeset 4739 for branches/2014/dev_r4650_UKMO3_masked_damping/NEMOGCM/TOOLS/DMP_TOOLS/src/coast_dist.F90
- Timestamp:
- 2014-08-13T10:46:04+02:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4650_UKMO3_masked_damping/NEMOGCM/TOOLS/DMP_TOOLS/src/coast_dist.F90
r4738 r4739 19 19 !! 20 20 IMPLICIT NONE 21 REAL( 8), DIMENSION(jpi,jpj), INTENT( inout ) :: presto22 REAL( 8), DIMENSION(jpi,jpj) :: zdct23 REAL( 8) :: zinfl = 1000.e3! Distance of influence of coast line (could be21 REAL(wp), DIMENSION(jpi,jpj), INTENT( inout ) :: presto 22 REAL(wp), DIMENSION(jpi,jpj) :: zdct 23 REAL(wp) :: zinfl = 1000.e3_wp ! Distance of influence of coast line (could be 24 24 ! a namelist setting) 25 25 INTEGER :: jj, ji ! dummy loop indices … … 30 30 DO ji = 1, jpi 31 31 zdct(ji,jj) = MIN( zinfl, zdct(ji,jj) ) 32 presto(ji,jj) = presto(ji, jj) * 0.5 * ( 1.- COS( rpi*zdct(ji,jj)/zinfl) )32 presto(ji,jj) = presto(ji, jj) * 0.5_wp * ( 1._wp - COS( rpi*zdct(ji,jj)/zinfl) ) 33 33 END DO 34 34 END DO … … 57 57 !!---------------------------------------------------------------------- 58 58 !! 59 REAL( 8), DIMENSION(jpi,jpj), INTENT( out ) :: pdct ! distance to the coastline59 REAL(wp), DIMENSION(jpi,jpj), INTENT( out ) :: pdct ! distance to the coastline 60 60 !! 61 61 INTEGER :: ji, jj, jl ! dummy loop indices 62 62 INTEGER :: iju, ijt, icoast, itime, ierr, icot ! local integers 63 63 CHARACTER (len=32) :: clname ! local name 64 REAL( 8) :: zdate0 ! local scalar65 REAL( 8), POINTER, DIMENSION(:,:) :: zxt, zyt, zzt, zmask66 REAL( 8), POINTER, DIMENSION(: ) :: zxc, zyc, zzc, zdis ! temporary workspace64 REAL(wp) :: zdate0 ! local scalar 65 REAL(wp), POINTER, DIMENSION(:,:) :: zxt, zyt, zzt, zmask 66 REAL(wp), POINTER, DIMENSION(: ) :: zxc, zyc, zzc, zdis ! temporary workspace 67 67 LOGICAL , ALLOCATABLE, DIMENSION(:,:) :: llcotu, llcotv, llcotf ! 2D logical workspace 68 68 … … 90 90 CALL check_nf90( nf90_get_var( ncin, fmask_id, fmask, (/ 1,1 /), (/ jpi, jpj /) ) ) 91 91 92 pdct(:,:) = 0. 92 pdct(:,:) = 0._wp 93 93 zxt(:,:) = COS( rad * gphit(:,:) ) * COS( rad * glamt(:,:) ) 94 94 zyt(:,:) = COS( rad * gphit(:,:) ) * SIN( rad * glamt(:,:) ) … … 101 101 zmask(ji,jj) = ( tmask(ji,jj+1) + tmask(ji+1,jj+1) & 102 102 & + tmask(ji,jj ) + tmask(ji+1,jj ) ) 103 llcotu(ji,jj) = ( tmask(ji,jj ) + tmask(ji+1,jj ) == 1. )104 llcotv(ji,jj) = ( tmask(ji,jj ) + tmask(ji ,jj+1) == 1. )105 llcotf(ji,jj) = ( zmask(ji,jj) > 0. ) .AND. ( zmask(ji,jj) < 4.)103 llcotu(ji,jj) = ( tmask(ji,jj ) + tmask(ji+1,jj ) == 1._wp ) 104 llcotv(ji,jj) = ( tmask(ji,jj ) + tmask(ji ,jj+1) == 1._wp ) 105 llcotf(ji,jj) = ( zmask(ji,jj) > 0._wp ) .AND. ( zmask(ji,jj) < 4._wp ) 106 106 END DO 107 107 END DO … … 196 196 DO jj = 1, jpj 197 197 DO ji = 1, jpi 198 IF( tmask(ji,jj) == 0. ) THEN199 pdct(ji,jj) = 0. 198 IF( tmask(ji,jj) == 0._wp ) THEN 199 pdct(ji,jj) = 0._wp 200 200 ELSE 201 201 DO jl = 1, icoast
Note: See TracChangeset
for help on using the changeset viewer.