C ********************************************************************** C * * C * SOFTWARE LICENSING * C * * C * This program is free software; you can redistribute * C * it and/or modify it under the terms of the GNU * C * General Public License as published by the Free * C * Software Foundation, either Version 2 of the * C * license, or (at your option) any later version. * C * * C * This program is distributed in the hope that it * C * will be useful, but without any warranty; without * C * even the implied warranty of merchantability or * C * fitness for a particular purpose. See the GNU * C * General Public License for more details. * C * * C * A copy of the GNU General Public License is * C * available at http://www.gnu.org/copyleft/gpl.html * C * or by writing to the Free Software Foundation, Inc.,* C * 59 Temple Place - Suite 330, Boston, MA 02111, USA. * C * * C ********************************************************************** SUBROUTINE WANDD_KKY(ELEV,TD) C C INTRODUCE WET/DRY SCHEME BASED ON KKY's DIISERTATION (hli, 08/03/05). CNGMAR2009 SIMPLIFIED AND ADDED AN EXTRA CONDITION (NO FLOW OUT OF "DRY" CELL). C C INCLUDE 'comdeck' SAVE C DIMENSION ELEV(IM,JM),TD(IM,JM) C DO J = 1, JMM1 DO I = 1, IMM1 C IF(TD(I,J).LE.WETMIN.AND.FSM(I,J).NE.0) THEN DHMWAD(I,J)=0.0 !RMarsooli_June2015 IF((0.5*(TD(I,J)+TD(I+1,J)).LE.WETMIN).OR. c!!!!!!!!!!!!! & ((ELEV(I+1,J)-ELEV(I,J)).LE.WETEPS).OR. * (UA(I+1,J).GT.0).OR.DUMWAD(I+1,J).EQ.0.0) THEN UA(I+1,J)=0.0 UAF(I+1,J)=0.0 DUMWAD(I+1,J)=0.0 ET(I,J)=ETB(I,J) ! NG04012011 ETF(I,J)=ETB(I,J) ! NG04012011 ENDIF IF((0.5*(TD(I,J)+TD(I,J+1)).LE.WETMIN).OR. c!!!!!!!!!!!!! & ((ELEV(I,J+1)-ELEV(I,J)).LE.WETEPS).OR. * (VA(I,J+1).GT.0).OR.DVMWAD(I,J+1).EQ.0.0) THEN VA(I,J+1)=0.0 VAF(I,J+1)=0.0 DVMWAD(I,J+1)=0.0 ET(I,J)=ETB(I,J) ! NG04012011 ETF(I,J)=ETB(I,J) ! NG04012011 ENDIF c write(*,*)'W&D1 ',time,I,J,TD(I,J),UA(I+1,J),VA(I,J+1) ENDIF c IF(TD(I+1,J).LE.WETMIN.AND.DUM(I+1,J).NE.0) THEN IF((0.5*(TD(I,J)+TD(I+1,J)).LE.WETMIN).OR. c!!!!!!!!!!!! & ((ELEV(I,J)-ELEV(I+1,J)).LE.WETEPS).OR. * (UA(I+1,J).LT.0).OR.DUMWAD(I+1,J).EQ.0.0) THEN UA(I+1,J)=0.0 UAF(I+1,J)=0.0 DUMWAD(I+1,J)=0.0 ET(I+1,J)=ETB(I+1,J) ! NG04012011 ETF(I+1,J)=ETB(I+1,J) ! NG04012011 c write(*,*)'W&D2 ',time,I+1,J,TD(I+1,J),UA(I+1,J) ENDIF ENDIF c IF(TD(I,J+1).LE.WETMIN.AND.DVM(I,J+1).NE.0) THEN IF((0.5*(TD(I,J)+TD(I,J+1)).LE.WETMIN).OR. c!!!!!!!!!!!! & ((ELEV(I,J)-ELEV(I,J+1)).LE.WETEPS).OR. * (VA(I,J+1).LT.0).OR.DVMWAD(I,J+1).EQ.0.0) THEN VA(I,J+1)=0.0 VAF(I,J+1)=0.0 DVMWAD(I,J+1)=0.0 ET(I,J+1)=ETB(I,J+1) ! NG04012011 ETF(I,J+1)=ETB(I,J+1) ! NG04012011 c write(*,*)'W&D3 ',time,I,J+1,TD(I,J+1),VA(I,J+1) ENDIF ENDIF ENDDO ENDDO RETURN END