/* CUENCAS is a River Network Oriented GIS Copyright (C) 2005 Ricardo Mantilla This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* * hillSlopesInfo.java * * Created on November 11, 2001, 10:34 AM */ package org.jgrasstools.hortonmachine.modules.hydrogeomorphology.adige.duffy; import org.jgrasstools.hortonmachine.modules.hydrogeomorphology.adige.core.IHillSlope; /** * The purpose of this class is to be a centralized database for all the * information related to the system of hillslopes that compose the basin. In * the current implementation this class produces aggregated output for the two * hillslopes draining into a stream link. Future implementations will consider * the variability of the two hillslopes. Information such as precipitation, * evaporation, soil parameters can be requested to this class. Note: In order * to implement new hillslope models this class must be updated to provide the * information for the hillslopes * * @author Ricardo Mantilla */ public class HillSlopesInfo { public double So( IHillSlope hillSlope ) { return 1.0; // So is max storage in the hillslope and i is the i-th link } public double Ts( IHillSlope hillSlope ) { return 10.0; } public double Te( IHillSlope hillSlope ) { return 1e20; } /* PF ADDITION - START ... */ /* Working units are m, hr, .... */ public double depthMnSat( IHillSlope hillSlope ) { double depth_m = 2.5; // meters return depth_m; } public double ks( IHillSlope hillSlope ) { // double ks_mpd = 1.023 * 10000.0; // double ks_mphr = ks_mpd * (1. / 24.); double ks_mphr = 0.01; return ks_mphr; } public double mstExp( IHillSlope hillSlope ) { return 11.0; // 11.0 this value dimensionless } public double recParam( IHillSlope hillSlope ) { double area_m2 = hillSlope.getHillslopeArea(); double spec_yield = 0.01; // dimensionless double d3_phr = (3.0 * ks(hillSlope) * depthMnSat(hillSlope)) / (spec_yield * area_m2); return d3_phr; // [1/T] } public double s2Param( IHillSlope hillSlope ) { double area_m2 = hillSlope.getHillslopeArea(); double porosity = 0.46; // 0.41; dimensionless double d4_pm3 = 0.905 * (1. / (porosity * depthMnSat(hillSlope) * area_m2)); return d4_pm3; // [1/L^3] } public double s2max( IHillSlope hillSlope ) { double s2max_m3 = (1.0 / s2Param(hillSlope)); return s2max_m3; } public double eTrate( IHillSlope hillSlope ) { double etrate_mpd = 0.34; // 0.0034; double etrate_mphr = etrate_mpd * (1. / 24.); return etrate_mphr; } /* PF ADDITION - ... END */ }