- Timestamp:
- 2017-05-30T10:13:14+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/OPA_SRC/CRS/crsfld.F90
r7953 r8093 58 58 INTEGER :: ji, jj, jk ! dummy loop indices 59 59 REAL(wp) :: z2dcrsu, z2dcrsv ! local scalars 60 REAL(wp) :: zztmp ! - - 60 61 ! 61 62 REAL(wp), POINTER, DIMENSION(:,:,:) :: ze3t, ze3u, ze3v, ze3w ! 3D workspace for e3 62 REAL(wp), POINTER, DIMENSION(:,:,:) :: zt, zt_crs 63 REAL(wp), POINTER, DIMENSION(:,:,:) :: zt, zt_crs, z3d 63 64 REAL(wp), POINTER, DIMENSION(:,:,:) :: zs, zs_crs 64 65 !!---------------------------------------------------------------------- … … 69 70 CALL wrk_alloc( jpi,jpj,jpk, ze3t, ze3w ) 70 71 CALL wrk_alloc( jpi,jpj,jpk, ze3u, ze3v ) 71 CALL wrk_alloc( jpi,jpj,jpk, zt , zs )72 CALL wrk_alloc( jpi,jpj,jpk, zt , zs ,z3d ) 72 73 ! 73 74 CALL wrk_alloc( jpi_crs,jpj_crs,jpk, zt_crs, zs_crs ) … … 86 87 avs_crs (:,:,: ) = 0._wp ! avt 87 88 hdivn_crs(:,:,: ) = 0._wp ! hdiv 88 rke_crs (:,:,: ) = 0._wp ! rke89 89 sshn_crs (:,: ) = 0._wp ! ssh 90 90 utau_crs (:,: ) = 0._wp ! taux … … 158 158 CALL iom_put( "voces" , zs_crs ) ! vS 159 159 160 161 ! Kinetic energy 162 CALL crs_dom_ope( rke, 'VOL', 'T', tmask, rke_crs, p_e12=e1e2t, p_e3=ze3t, psgn=1.0 ) 163 CALL iom_put( "eken", rke_crs ) 164 160 IF( iom_use( "eken") ) THEN ! kinetic energy 161 z3d(:,:,jk) = 0._wp 162 DO jk = 1, jpkm1 163 DO jj = 2, jpjm1 164 DO ji = fs_2, fs_jpim1 ! vector opt. 165 zztmp = r1_e1e2t(ji,jj) / e3t_n(ji,jj,jk) 166 z3d(ji,jj,jk) = 0.25_wp * zztmp * ( & 167 & un(ji-1,jj,jk)**2 * e2u(ji-1,jj) * e3u_n(ji-1,jj,jk) & 168 & + un(ji ,jj,jk)**2 * e2u(ji ,jj) * e3u_n(ji ,jj,jk) & 169 & + vn(ji,jj-1,jk)**2 * e1v(ji,jj-1) * e3v_n(ji,jj-1,jk) & 170 & + vn(ji,jj ,jk)**2 * e1v(ji,jj ) * e3v_n(ji,jj ,jk) ) 171 END DO 172 END DO 173 END DO 174 CALL lbc_lnk( z3d, 'T', 1. ) 175 ! 176 CALL crs_dom_ope( z3d, 'VOL', 'T', tmask, zt_crs, p_e12=e1e2t, p_e3=ze3t, psgn=1.0 ) 177 CALL iom_put( "eken", zt_crs ) 178 ENDIF 165 179 ! Horizontal divergence ( following OPA_SRC/DYN/divhor.F90 ) 166 180 DO jk = 1, jpkm1 … … 175 189 hdivn_crs(ji,jj,jk) = ( z2dcrsu + z2dcrsv ) / crs_volt_wgt(ji,jj,jk) 176 190 ENDIF 177 END DO178 END DO179 END DO191 END DO 192 END DO 193 END DO 180 194 CALL crs_lbc_lnk( hdivn_crs, 'T', 1.0 ) 181 195 !
Note: See TracChangeset
for help on using the changeset viewer.