- Timestamp:
- 2015-04-15T20:54:28+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5151_UKMO_ISF/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90
r5200 r5216 969 969 !! 970 970 INTEGER :: ji, jj, jk ! dummy loop indices 971 INTEGER :: ik, it 971 INTEGER :: ik, it, ikb, ikt ! temporary integers 972 972 LOGICAL :: ll_print ! Allow control print for debugging 973 973 REAL(wp) :: ze3tp , ze3wp ! Last ocean level thickness at T- and W-points … … 1093 1093 e3vw_0(:,:,jk) = e3w_1d(jk) 1094 1094 END DO 1095 1095 1096 DO jk = 1,jpk ! Computed as the minimum of neighbooring scale factors 1096 1097 DO jj = 1, jpjm1 … … 1105 1106 IF ( ln_isfcav ) THEN 1106 1107 ! (ISF) define e3uw (adapted for 2 cells in the water column) 1107 ! Need to test if the modification of only mikt and mbkt levels is enough 1108 DO jk = 2,jpk 1109 DO jj = 1, jpjm1 1110 DO ji = 1, fs_jpim1 ! vector opt. 1111 e3uw_0(ji,jj,jk) = MIN( gdept_0(ji,jj,jk), gdept_0(ji+1,jj ,jk) ) & 1112 & - MAX( gdept_0(ji,jj,jk-1), gdept_0(ji+1,jj ,jk-1) ) 1113 e3vw_0(ji,jj,jk) = MIN( gdept_0(ji,jj,jk), gdept_0(ji ,jj+1,jk) ) & 1114 & - MAX( gdept_0(ji,jj,jk-1), gdept_0(ji ,jj+1,jk-1) ) 1115 END DO 1116 END DO 1108 DO jj = 2, jpjm1 1109 DO ji = 2, fs_jpim1 ! vector opt. 1110 ikb = MAX(mbathy (ji,jj),mbathy (ji+1,jj)) 1111 ikt = MAX(misfdep(ji,jj),misfdep(ji+1,jj)) 1112 IF (ikb == ikt+1) e3uw_0(ji,jj,ikb) = MIN( gdept_0(ji,jj,ikb ), gdept_0(ji+1,jj ,ikb ) ) & 1113 & - MAX( gdept_0(ji,jj,ikb-1), gdept_0(ji+1,jj ,ikb-1) ) 1114 ikb = MAX(mbathy (ji,jj),mbathy (ji,jj+1)) 1115 ikt = MAX(misfdep(ji,jj),misfdep(ji,jj+1)) 1116 IF (ikb == ikt+1) e3vw_0(ji,jj,ikb) = MIN( gdept_0(ji,jj,ikb ), gdept_0(ji ,jj+1,ikb ) ) & 1117 & - MAX( gdept_0(ji,jj,ikb-1), gdept_0(ji ,jj+1,ikb-1) ) 1118 END DO 1117 1119 END DO 1118 1120 END IF 1119 1121 1120 1122 CALL lbc_lnk( e3u_0 , 'U', 1._wp ) ; CALL lbc_lnk( e3uw_0, 'U', 1._wp ) ! lateral boundary conditions 1121 1123 CALL lbc_lnk( e3v_0 , 'V', 1._wp ) ; CALL lbc_lnk( e3vw_0, 'V', 1._wp ) 1122 1124 ! 1125 1123 1126 DO jk = 1, jpk ! set to z-scale factor if zero (i.e. along closed boundaries) 1124 1127 WHERE( e3u_0 (:,:,jk) == 0._wp ) e3u_0 (:,:,jk) = e3t_1d(jk) … … 1263 1266 risfdep(:,:) = 0. ; misfdep(:,:) = 1 1264 1267 END WHERE 1268 1269 ! remove very shallow ice shelf (less than ~ 10m if 75L) 1270 IF ( cp_cfg .NE. "isomip" ) THEN 1271 WHERE (misfdep(:,:) <= 10 .AND. misfdep(:,:) .GT. 1) 1272 misfdep = 0; risfdep = 0.0_wp; 1273 mbathy = 0; bathy = 0.0_wp; 1274 END WHERE 1275 WHERE (bathy(:,:) <= 30.0 .AND. gphit < -60) 1276 misfdep = 0; risfdep = 0.0_wp; 1277 mbathy = 0; bathy = 0.0_wp; 1278 END WHERE 1279 END IF 1265 1280 1266 1281 ! basic check for the compatibility of bathy and risfdep. I think it should be offline because it is not perfect and cannot solved all the situation … … 1787 1802 ENDIF 1788 1803 ! ... on ik / ik-1 1789 e3w_0 (ji,jj,ik ) = 2._wp * (gdept_0(ji,jj,ik) - gdepw_0(ji,jj,ik))1804 e3w_0 (ji,jj,ik ) = e3t_0 (ji,jj,ik) !2._wp * (gdept_0(ji,jj,ik) - gdepw_0(ji,jj,ik)) 1790 1805 e3t_0 (ji,jj,ik-1) = gdepw_0(ji,jj,ik) - gdepw_1d(ik-1) 1791 1806 ! The next line isn't required and doesn't affect results - included for consistency with bathymetry code
Note: See TracChangeset
for help on using the changeset viewer.