- Timestamp:
- 2014-07-18T17:32:27+02:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4650_UKMO2_ice_shelves/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90
r4666 r4724 299 299 ENDIF 300 300 301 ! need to be like this to compute the pressure gradient with ISF 301 ! need to be like this to compute the pressure gradient with ISF. If not, level beneath the ISF are not aligned (sum(e3t) /= depth) 302 302 ! define e3t_0 and e3w_0 as the differences between gdept and gdepw respectively 303 303 DO jk = 1, jpkm1 … … 1023 1023 END WHERE 1024 1024 1025 1025 ! basic check for the compatibility of bathy and icedep. I think it should be offline because it is not perfect and cannot solved all the situation 1026 1026 icompt = 0 1027 ! run the bathy check 10 times to be sure all the modif in the bathy or iceshelf draft are compatible together 1027 1028 DO jl = 1, 10 1028 1029 IF( lk_mpp ) THEN … … 1058 1059 bathy(:,:) = 0._wp 1059 1060 END WHERE 1060 1061 ! Case where bathy and icedep compatible but not the level variable mbathy/micedep because of partial cell condition 1061 1062 DO jj = 1, jpj 1062 1063 DO ji = 1, jpi … … 1075 1076 DO jj = 2, jpjm1 1076 1077 DO ji = 2, jpim1 1078 ! T point 1077 1079 IF( zmicedep(ji,jj) == zmbathy(ji,jj) .AND. zmbathy(ji,jj) .GT. 1) THEN 1078 1080 mbathy(ji,jj) = zmbathy(ji,jj) + 1 1079 1081 bathy(ji,jj)=gdepw_1d(mbathy(ji,jj)) + MIN( e3zps_min, e3t_1d(mbathy(ji,jj))*e3zps_rat ) 1080 1082 ENDIF 1083 ! V point 1081 1084 IF( zmicedep(ji,jj+1) == zmbathy(ji,jj) .AND. zmbathy(ji,jj) .GT. 1) THEN 1082 1085 mbathy(ji,jj) = zmbathy(ji,jj) + 1 1083 1086 bathy(ji,jj)=gdepw_1d(mbathy(ji,jj)) + MIN( e3zps_min, e3t_1d(mbathy(ji,jj))*e3zps_rat ) 1084 1087 ENDIF 1088 ! V point -1 1085 1089 IF( zmicedep(ji,jj-1) == zmbathy(ji,jj) .AND. zmbathy(ji,jj) .GT. 1) THEN 1086 1090 mbathy(ji,jj) = zmbathy(ji,jj) + 1 1087 1091 bathy(ji,jj)=gdepw_1d(mbathy(ji,jj)) + MIN( e3zps_min, e3t_1d(mbathy(ji,jj))*e3zps_rat ) 1088 1092 ENDIF 1093 ! U point 1089 1094 IF( zmicedep(ji+1,jj) == zmbathy(ji,jj) .AND. zmbathy(ji,jj) .GT. 1) THEN 1090 1095 mbathy(ji,jj) = zmbathy(ji,jj) + 1 1091 1096 bathy(ji,jj)=gdepw_1d(mbathy(ji,jj)) + MIN( e3zps_min, e3t_1d(mbathy(ji,jj))*e3zps_rat ) 1092 1097 ENDIF 1098 ! U point -1 1093 1099 IF( zmicedep(ji-1,jj) == zmbathy(ji,jj) .AND. zmbathy(ji,jj) .GT. 1) THEN 1094 1100 mbathy(ji,jj) = zmbathy(ji,jj) + 1 … … 1217 1223 mbathy(:,:) = INT( zbathy(:,:) ) 1218 1224 ENDIF 1219 ! remove pool of water stuck between ice shelf and bathymetry1225 ! remove 1 cell pool of water stuck between ice shelf and bathymetry (need a 3D flood filling tools to do this properly) 1220 1226 DO jk = 1, jpk 1221 1227 WHERE (micedep==0) micedep=jpk … … 1344 1350 e3w_0 (ji,jj,ik+1) = gdept_1d(ik+1) - gdept_0(ji,jj,ik) 1345 1351 1346 IF( ik + 1 == mbathy(ji,jj) ) THEN ! ice shelf point only 1352 IF( ik + 1 == mbathy(ji,jj) ) THEN ! ice shelf point only (2 cell water column) 1347 1353 e3w_0 (ji,jj,ik+1) = gdept_0(ji,jj,ik+1) - gdept_0(ji,jj,ik) 1348 1354 ENDIF … … 1398 1404 DO jj = 1, jpjm1 1399 1405 DO ji = 1, fs_jpim1 ! vector opt. 1400 ! (ISF)** NEEDS CHANGING TO SECOND OPTION FOR ICE SHELF BUT WILL CHANGE RESULTS WITHOUT ICE (DIFFER AT THE 1e-13 LEVEL)1401 1406 e3uw_0(ji,jj,jk) = MIN( gdept_0(ji,jj,jk), gdept_0(ji+1,jj ,jk) ) - MAX( gdept_0(ji,jj,jk-1), gdept_0(ji+1,jj ,jk-1) ) 1402 1407 e3vw_0(ji,jj,jk) = MIN( gdept_0(ji,jj,jk), gdept_0(ji ,jj+1,jk) ) - MAX( gdept_0(ji,jj,jk-1), gdept_0(ji ,jj+1,jk-1) )
Note: See TracChangeset
for help on using the changeset viewer.