- Timestamp:
- 2019-11-22T15:29:17+01:00 (4 years ago)
- Location:
- NEMO/branches/2019/dev_r11943_MERGE_2019/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11943_MERGE_2019/src
- Property svn:mergeinfo deleted
-
NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/CRS/crsfld.F90
r10425 r11949 40 40 CONTAINS 41 41 42 SUBROUTINE crs_fld( kt )42 SUBROUTINE crs_fld( kt, Kmm ) 43 43 !!--------------------------------------------------------------------- 44 44 !! *** ROUTINE crs_fld *** … … 54 54 !!---------------------------------------------------------------------- 55 55 INTEGER, INTENT(in) :: kt ! ocean time-step index 56 INTEGER, INTENT(in) :: Kmm ! time level index 56 57 ! 57 58 INTEGER :: ji, jj, jk ! dummy loop indices … … 67 68 68 69 ! Depth work arrrays 69 ze3t(:,:,:) = e3t _n(:,:,:)70 ze3u(:,:,:) = e3u _n(:,:,:)71 ze3v(:,:,:) = e3v _n(:,:,:)72 ze3w(:,:,:) = e3w _n(:,:,:)70 ze3t(:,:,:) = e3t(:,:,:,Kmm) 71 ze3u(:,:,:) = e3u(:,:,:,Kmm) 72 ze3v(:,:,:) = e3v(:,:,:,Kmm) 73 ze3w(:,:,:) = e3w(:,:,:,Kmm) 73 74 74 75 IF( kt == nit000 ) THEN … … 96 97 97 98 ! Temperature 98 zt(:,:,:) = ts n(:,:,:,jp_tem) ; zt_crs(:,:,:) = 0._wp99 zt(:,:,:) = ts(:,:,:,jp_tem,Kmm) ; zt_crs(:,:,:) = 0._wp 99 100 CALL crs_dom_ope( zt, 'VOL', 'T', tmask, zt_crs, p_e12=e1e2t, p_e3=ze3t, psgn=1.0 ) 100 101 tsn_crs(:,:,:,jp_tem) = zt_crs(:,:,:) … … 105 106 106 107 ! Salinity 107 zs(:,:,:) = ts n(:,:,:,jp_sal) ; zs_crs(:,:,:) = 0._wp108 zs(:,:,:) = ts(:,:,:,jp_sal,Kmm) ; zs_crs(:,:,:) = 0._wp 108 109 CALL crs_dom_ope( zs, 'VOL', 'T', tmask, zs_crs, p_e12=e1e2t, p_e3=ze3t, psgn=1.0 ) 109 110 tsn_crs(:,:,:,jp_sal) = zt_crs(:,:,:) … … 113 114 114 115 ! U-velocity 115 CALL crs_dom_ope( u n, 'SUM', 'U', umask, un_crs, p_e12=e2u, p_e3=ze3u, p_surf_crs=e2e3u_msk, psgn=-1.0 )116 CALL crs_dom_ope( uu(:,:,:,Kmm), 'SUM', 'U', umask, un_crs, p_e12=e2u, p_e3=ze3u, p_surf_crs=e2e3u_msk, psgn=-1.0 ) 116 117 ! 117 118 zt(:,:,:) = 0._wp ; zs(:,:,:) = 0._wp ; zt_crs(:,:,:) = 0._wp ; zs_crs(:,:,:) = 0._wp … … 119 120 DO jj = 2, jpjm1 120 121 DO ji = 2, jpim1 121 zt(ji,jj,jk) = u n(ji,jj,jk) * 0.5 * ( tsn(ji,jj,jk,jp_tem) + tsn(ji+1,jj,jk,jp_tem) )122 zs(ji,jj,jk) = u n(ji,jj,jk) * 0.5 * ( tsn(ji,jj,jk,jp_sal) + tsn(ji+1,jj,jk,jp_sal) )122 zt(ji,jj,jk) = uu(ji,jj,jk,Kmm) * 0.5 * ( ts(ji,jj,jk,jp_tem,Kmm) + ts(ji+1,jj,jk,jp_tem,Kmm) ) 123 zs(ji,jj,jk) = uu(ji,jj,jk,Kmm) * 0.5 * ( ts(ji,jj,jk,jp_sal,Kmm) + ts(ji+1,jj,jk,jp_sal,Kmm) ) 123 124 END DO 124 125 END DO … … 132 133 133 134 ! V-velocity 134 CALL crs_dom_ope( v n, 'SUM', 'V', vmask, vn_crs, p_e12=e1v, p_e3=ze3v, p_surf_crs=e1e3v_msk, psgn=-1.0 )135 CALL crs_dom_ope( vv(:,:,:,Kmm), 'SUM', 'V', vmask, vn_crs, p_e12=e1v, p_e3=ze3v, p_surf_crs=e1e3v_msk, psgn=-1.0 ) 135 136 ! 136 137 zt(:,:,:) = 0._wp ; zs(:,:,:) = 0._wp ; zt_crs(:,:,:) = 0._wp ; zs_crs(:,:,:) = 0._wp … … 138 139 DO jj = 2, jpjm1 139 140 DO ji = 2, jpim1 140 zt(ji,jj,jk) = v n(ji,jj,jk) * 0.5 * ( tsn(ji,jj,jk,jp_tem) + tsn(ji,jj+1,jk,jp_tem) )141 zs(ji,jj,jk) = v n(ji,jj,jk) * 0.5 * ( tsn(ji,jj,jk,jp_sal) + tsn(ji,jj+1,jk,jp_sal) )141 zt(ji,jj,jk) = vv(ji,jj,jk,Kmm) * 0.5 * ( ts(ji,jj,jk,jp_tem,Kmm) + ts(ji,jj+1,jk,jp_tem,Kmm) ) 142 zs(ji,jj,jk) = vv(ji,jj,jk,Kmm) * 0.5 * ( ts(ji,jj,jk,jp_sal,Kmm) + ts(ji,jj+1,jk,jp_sal,Kmm) ) 142 143 END DO 143 144 END DO … … 155 156 DO jj = 2, jpjm1 156 157 DO ji = fs_2, fs_jpim1 ! vector opt. 157 zztmp = r1_e1e2t(ji,jj) / e3t _n(ji,jj,jk)158 zztmp = r1_e1e2t(ji,jj) / e3t(ji,jj,jk,Kmm) 158 159 z3d(ji,jj,jk) = 0.25_wp * zztmp * ( & 159 & u n(ji-1,jj,jk)**2 * e2u(ji-1,jj) * e3u_n(ji-1,jj,jk) &160 & + u n(ji ,jj,jk)**2 * e2u(ji ,jj) * e3u_n(ji ,jj,jk) &161 & + v n(ji,jj-1,jk)**2 * e1v(ji,jj-1) * e3v_n(ji,jj-1,jk) &162 & + v n(ji,jj ,jk)**2 * e1v(ji,jj ) * e3v_n(ji,jj ,jk) )160 & uu(ji-1,jj,jk,Kmm)**2 * e2u(ji-1,jj) * e3u(ji-1,jj,jk,Kmm) & 161 & + uu(ji ,jj,jk,Kmm)**2 * e2u(ji ,jj) * e3u(ji ,jj,jk,Kmm) & 162 & + vv(ji,jj-1,jk,Kmm)**2 * e1v(ji,jj-1) * e3v(ji,jj-1,jk,Kmm) & 163 & + vv(ji,jj ,jk,Kmm)**2 * e1v(ji,jj ) * e3v(ji,jj ,jk,Kmm) ) 163 164 END DO 164 165 END DO … … 191 192 ! W-velocity 192 193 IF( ln_crs_wn ) THEN 193 CALL crs_dom_ope( w n, 'SUM', 'W', tmask, wn_crs, p_e12=e1e2t, p_surf_crs=e1e2w_msk, psgn=1.0 )194 ! CALL crs_dom_ope( w n, 'VOL', 'W', tmask, wn_crs, p_e12=e1e2t, p_e3=ze3w )194 CALL crs_dom_ope( ww, 'SUM', 'W', tmask, wn_crs, p_e12=e1e2t, p_surf_crs=e1e2w_msk, psgn=1.0 ) 195 ! CALL crs_dom_ope( ww, 'VOL', 'W', tmask, wn_crs, p_e12=e1e2t, p_e3=ze3w ) 195 196 ELSE 196 197 wn_crs(:,:,jpk) = 0._wp … … 219 220 220 221 ! sbc fields 221 CALL crs_dom_ope( ssh n, 'VOL', 'T', tmask, sshn_crs , p_e12=e1e2t, p_e3=ze3t , psgn=1.0 )222 CALL crs_dom_ope( ssh(:,:,Kmm) , 'VOL', 'T', tmask, sshn_crs , p_e12=e1e2t, p_e3=ze3t , psgn=1.0 ) 222 223 CALL crs_dom_ope( utau , 'SUM', 'U', umask, utau_crs , p_e12=e2u , p_surf_crs=e2u_crs , psgn=1.0 ) 223 224 CALL crs_dom_ope( vtau , 'SUM', 'V', vmask, vtau_crs , p_e12=e1v , p_surf_crs=e1v_crs , psgn=1.0 )
Note: See TracChangeset
for help on using the changeset viewer.