- Timestamp:
- 2017-09-19T17:41:15+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/ROMS_WAD_7832/NEMOGCM/CONFIG/CS15mini/MY_SRC/wet_dry.F90
r8403 r8544 73 73 !!---------------------------------------------------------------------- 74 74 NAMELIST/namwad/ ln_wd, ln_rwd, rn_wdmin0, ln_rwd, rn_wdmin1, rn_wdmin2, rn_wdld, nn_wdit, ln_wd_diag, ln_rwd_bc, & 75 & rn_ssh_ref,rn_ht_0, jn_wd_i, jn_wd_j, jn_wd_k,ln_rwd_rmp75 & rn_ht_0, jn_wd_i, jn_wd_j, jn_wd_k,ln_rwd_rmp 76 76 77 77 INTEGER :: ios ! Local integer output status for namelist read … … 104 104 WRITE(numout,*) ' T => baroclinic u,v = 0 at dry pts: ln_rwd_bc = ', ln_rwd_bc 105 105 WRITE(numout,*) ' use a ramp for rwd limiter: ln_rwd_rmp = ', ln_rwd_rmp 106 WRITE(numout,*) ' height of z = 0 above the geoid: rn_ssh_ref = ', rn_ssh_ref107 106 WRITE(numout,*) ' the height (z) at which ht_0 = 0:rn_ht_0 = ', rn_ht_0 108 107 WRITE(numout,*) ' i-index for diagnostic point jn_wd_i = ', jn_wd_i … … 111 110 ENDIF 112 111 ! 113 ! CEOD .OR. ln_rwd added to prevent segmentation errors114 112 IF(ln_wd .OR. ln_rwd) THEN 115 113 ALLOCATE( wdmask(jpi,jpj), ht_wd(jpi,jpj), STAT=ierr ) … … 189 187 190 188 IF( tmask(ji, jj, 1) < 0.5_wp ) CYCLE ! we don't care about land cells 191 IF( ht_ wd(ji,jj)> zdepwd ) CYCLE ! and cells which are unlikely to dry189 IF( ht_0(ji,jj)-rn_ssh_ref > zdepwd ) CYCLE ! and cells which are unlikely to dry 192 190 193 191 zflxp(ji,jj) = max(zflxu(ji,jj), 0._wp) - min(zflxu(ji-1,jj), 0._wp) + & … … 196 194 & min(zflxv(ji,jj), 0._wp) - max(zflxv(ji, jj-1), 0._wp) 197 195 198 zdep2 = ht_ wd(ji,jj) + sshb1(ji,jj) - rn_wdmin1196 zdep2 = ht_0(ji,jj) + sshb1(ji,jj) - rn_wdmin1 199 197 IF(zdep2 .le. 0._wp) THEN !add more safty, but not necessary 200 sshb1(ji,jj) = rn_wdmin1 - ht_ wd(ji,jj)198 sshb1(ji,jj) = rn_wdmin1 - ht_0(ji,jj) 201 199 IF(zflxu(ji, jj) > 0._wp) zwdlmtu(ji ,jj) = 0._wp 202 200 IF(zflxu(ji-1,jj) < 0._wp) zwdlmtu(ji-1,jj) = 0._wp … … 211 209 ! slwa 212 210 ! HPG limiter from jholt 213 wdramp(:,:) = min((ht_ wd(:,:) + sshb1(:,:) - rn_wdmin1)/(rn_wdmin0 - rn_wdmin1),1.0_wp)211 wdramp(:,:) = min((ht_0(:,:) + sshb1(:,:) - rn_wdmin1)/(rn_wdmin0 - rn_wdmin1),1.0_wp) 214 212 ! write(6,*)'wdramp ',wdramp(10,10),wdramp(10,11) 215 213 !jth assume don't need a lbc_lnk here … … 238 236 239 237 IF( tmask(ji, jj, 1) < 0.5_wp ) CYCLE 240 IF( ht_ wd(ji,jj) > zdepwd ) CYCLE238 IF( ht_0(ji,jj) > zdepwd ) CYCLE 241 239 242 240 ztmp = e1e2t(ji,jj) … … 248 246 249 247 zdep1 = (zzflxp + zzflxn) * z2dt / ztmp 250 zdep2 = ht_ wd(ji,jj) + sshb1(ji,jj) - rn_wdmin1 - z2dt * sshemp(ji,jj)248 zdep2 = ht_0(ji,jj) + sshb1(ji,jj) - rn_wdmin1 - z2dt * sshemp(ji,jj) 251 249 252 250 IF( zdep1 > zdep2 ) THEN … … 362 360 363 361 IF( tmask(ji, jj, 1 ) < 0.5_wp) CYCLE ! we don't care about land cells 364 IF( ht_ wd(ji,jj) > zdepwd ) CYCLE ! and cells which are unlikely to dry362 IF( ht_0(ji,jj) > zdepwd ) CYCLE ! and cells which are unlikely to dry 365 363 366 364 zflxp(ji,jj) = max(zflxu(ji,jj), 0._wp) - min(zflxu(ji-1,jj), 0._wp) + & … … 369 367 & min(zflxv(ji,jj), 0._wp) - max(zflxv(ji, jj-1), 0._wp) 370 368 371 zdep2 = ht_ wd(ji,jj) + sshn_e(ji,jj) - rn_wdmin1369 zdep2 = ht_0(ji,jj) + sshn_e(ji,jj) - rn_wdmin1 372 370 IF(zdep2 .le. 0._wp) THEN !add more safety, but not necessary 373 sshn_e(ji,jj) = rn_wdmin1 - ht_ wd(ji,jj)371 sshn_e(ji,jj) = rn_wdmin1 - ht_0(ji,jj) 374 372 IF(zflxu(ji, jj) > 0._wp) zwdlmtu(ji ,jj) = 0._wp 375 373 IF(zflxu(ji-1,jj) < 0._wp) zwdlmtu(ji-1,jj) = 0._wp … … 393 391 394 392 IF( tmask(ji, jj, 1 ) < 0.5_wp) CYCLE 395 IF( ht_ wd(ji,jj) > zdepwd ) CYCLE393 IF( ht_0(ji,jj) > zdepwd ) CYCLE 396 394 397 395 ztmp = e1e2t(ji,jj) … … 403 401 404 402 zdep1 = (zzflxp + zzflxn) * z2dt / ztmp 405 zdep2 = ht_ wd(ji,jj) + sshn_e(ji,jj) - rn_wdmin1 - z2dt * zssh_frc(ji,jj)403 zdep2 = ht_0(ji,jj) + sshn_e(ji,jj) - rn_wdmin1 - z2dt * zssh_frc(ji,jj) 406 404 407 405 IF(zdep1 > zdep2) THEN
Note: See TracChangeset
for help on using the changeset viewer.