MVLib - Short Writeup - Version 4.0
Example Number 15 - Building infiltration function for ChyM model
This example contains a test for the development of a infiltration/percolation scheme for CHyM model. The new scheme is based on sigmoid function.
The source code to produce these plots is available here and the complete script running the code is available here.
Previous Example List of Examples Next Example
MVLib Home Page
	parameter(ndat=1300)
	real x(ndat),y1(ndat),y2(ndat),y3(ndat)
	call mvsetflags('size delle linee',3.0)
	call mvsetflags('palette di colori',7.0)
	h2o=0 ; gh2o=0 
	do i=1,ndat
	   if (i.lt.180) h2o=h2o+2.00 	! piove 2 millimetri all'ora
	   xinfl=30.0           	! Il massimo che si può infiltrare
	   perc=xinfl*0.01		! la rate di percolazione
	   gh2o=gh2o-perc
	   if (gh2o.lt.0.0) gh2o=0.0
	   if (h2o+gh2o.lt.xinfl) then
	      gh2o=gh2o+h2o
	      h2o=0.0
	   else
	      h2o=h2o-(xinfl-gh2o)
	      gh2o=xinfl
	   endif
	   x(i)=float(i)
	   y1(i)=h2o
	   y2(i)=gh2o
	   y3(i)=100*gh2o/xinfl
	enddo
	call plottavw(x,y1,ndat,'Runoff water')
	call plottavw(x,y2,ndat,'Ground water')
	call plottavw(x,y3,ndat,'Relative humdity')
	call displayexample('example15','CHyM Model - Old infiltration scheme',' ')

	h2o=0 ; gh2o=0 
	do i=1,ndat
	   if (i.lt.180) h2o=h2o+2.00 	! piove 2 millimetri all'ora
	   xinfl=30.0           	! Il massimo che si può infiltrare
	   perc=0.3			! la rate di percolazione
	   gh2o=gh2o-perc
	   if (gh2o.lt.0.0) gh2o=0.0
	   relh=gh2o/xinfl		! Relative Humidity
	   actinf=h2o*(1-sigmoide(relh,0.5,0.165))	! Actual inf.
	   if (relh.lt.0.999) then
	      actinf=h2o*sigmoide(1-relh,0.5,0.165)
	   else
	      actinf=0.0
	   endif
	   h2o=h2o-actinf
	   gh2o=gh2o+actinf
	   x(i)=float(i)
	   y1(i)=h2o
	   y2(i)=gh2o
	   y3(i)=100*gh2o/xinfl
	enddo
	call plottavw(x,y1,ndat,'Runoff water')
	call plottavw(x,y2,ndat,'Ground water')
	call plottavw(x,y3,ndat,'Relative humdity')
	call displayexample('example15','CHyM Model - New infiltration scheme',' ')

	h2o=0 ; gh2o=0 
	do i=1,ndat
	   if (i.lt.180) h2o=h2o+2.00 	! piove 2 millimetri all'ora
	   xinfl=30.0           	! Il massimo che si può infiltrare
	   perc=0.0			! la rate di percolazione
	   gh2o=gh2o-perc
	   if (gh2o.lt.0.0) gh2o=0.0
	   relh=gh2o/xinfl		! Relative Humidity
	   actinf=h2o*(1-sigmoide(relh,0.5,0.165))	! Actual inf.
	   if (relh.lt.0.999) then
	      actinf=h2o*sigmoide(1-relh,0.5,0.165)
	   else
	      actinf=0.0
	   endif
	   h2o=h2o-actinf
	   gh2o=gh2o+actinf
	   x(i)=float(i)
	   y1(i)=h2o
	   y2(i)=gh2o
	   y3(i)=100*gh2o/xinfl
	enddo
	call plottavw(x,y1,ndat,'Runoff water')
	call plottavw(x,y2,ndat,'Ground water')
	call plottavw(x,y3,ndat,'Relative humdity')
	call displayexample('example15','CHyM Model - New infiltration scheme','perc=0')
	end