hydroScalingAPI.modules.rainfallRunoffModel.objects
Class LinksInfo

java.lang.Object
  extended by hydroScalingAPI.modules.rainfallRunoffModel.objects.LinksInfo

public class LinksInfo
extends java.lang.Object

The purpose of this class is to be a centralized database for all the inforamtion related to the system of link that compose the river network. Note: In order to implement new routing schemes this class must be updated to provide the information for the links

Author:
Ricardo Mantilla

Constructor Summary
LinksInfo(LinksAnalysis linksCon)
          Creates new instnace of LinksInfo
 
Method Summary
 float basinArea()
          Returns the basin area
 double Chezi(int LinkNumber)
          Returns the Chezi coefficient for a given link
 float[][] getCheziArray()
          Returns the array of Chezi coefficients for links in the network
 float[][] getCkArray()
          Returns the array of coefficient in the parametrization FlowVelocity=coefficient*exp(NORM(sdResiduals))*Discharge^lambda1*UpstreamArea^lambda2
 float getLamda1()
          Returns the exponent for flow discharge in the parametrization FlowVelocity=coefficient*exp(NORM(sdResiduals))*Discharge^lambda1*UpstreamArea^lambda2
 float getLamda2()
          Returns the exponent for upstream area in the parametrization FlowVelocity=coefficient*exp(NORM(sdResiduals))*Discharge^lambda1*UpstreamArea^lambda2
 float[][] getLengthInKmArray()
          Returns the array of lengths for links in the network
 float[][] getLinkOrderArray()
          Returns the array of strahler orders for links in the network
 float[][] getManningArray()
          Returns the array of Manning coefficients for links in the network
 float[][] getSlopeArray()
          Returns the array of average slopes for links in the network
 float[][] getUpStreamAreaArray()
          Returns the array of upstream areas for links in the network
 float[][] getWidthArray()
          Returns the array of channel widhts for links in the network
 double Length(int LinkNumber)
          Returns the length for a given link
 double linkOrder(int LinkNumber)
          Returns the Strahler-order for a given link
 void setCheziHG(float coefficient, float exponent)
          Assigns the Chezy coefficient of the links using a power law.
 void setLength(int LinkNumber, float newLength)
           
 void setManningHG(float coefficient, float exponent)
          Assigns the Manning coefficient of the links using a power law.
 void setSlopesHG(float coefficient, float exponent, float sdResiduals)
          Assigns the slopes of the links using a power law.
 void setVqParams(float coefficient, float sdResiduals, float exponentQ, float exponentA)
          Assigns the parameters to the velocity function given by FlowVelocity=coefficient*exp(NORM(sdResiduals))*Discharge^exponentQ*UpstreamArea^exponentA where NORM() is a normally distributed random variable.
 void setWidthsHG(float coefficient, float exponent, float sdResiduals)
          Assigns the channel widhts of the links using a power law.
 double Slope(int LinkNumber)
          Returns the link average slope for a given link
 double upStreamArea(int LinkNumber)
          Returns the upstream area for a given link
 double upStreamTotalLength(int LinkNumber)
          Returns the upstream total channels lenght for a given link
 double Width(int LinkNumber)
          Returns the channel width for a given link
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LinksInfo

public LinksInfo(LinksAnalysis linksCon)
          throws java.io.IOException
Creates new instnace of LinksInfo

Parameters:
linksCon - The object describing the topologic connectivity of the river network
Throws:
java.io.IOException - Captures errors while retreiving information
Method Detail

setSlopesHG

public void setSlopesHG(float coefficient,
                        float exponent,
                        float sdResiduals)
Assigns the slopes of the links using a power law. Slope=coefficient*UpstreamArea^exponent+NORM(sdResiduals) where NORM() is a normally distributed random variable. This method is useful when artrificial networks are being used. For real networks the slopes are taken from the terrain.

Parameters:
coefficient - The coefficient in the power law
exponent - The exponent in the power law
sdResiduals - The statndard deviation of the residuals of the power law

setWidthsHG

public void setWidthsHG(float coefficient,
                        float exponent,
                        float sdResiduals)
Assigns the channel widhts of the links using a power law. Width=coefficient*UpstreamArea^exponent+NORM(sdResiduals) where NORM() is a normally distributed random variable.

Parameters:
coefficient - The coefficient in the power law
exponent - The exponent in the power law
sdResiduals - The statndard deviation of the residuals of the power law

setCheziHG

public void setCheziHG(float coefficient,
                       float exponent)
Assigns the Chezy coefficient of the links using a power law. Chezi=coefficient*LinkSlope^exponent+NORM(sdResiduals) where NORM() is a normally distributed random variable.

Parameters:
coefficient - The coefficient in the power law
exponent - The exponent in the power law

setManningHG

public void setManningHG(float coefficient,
                         float exponent)
Assigns the Manning coefficient of the links using a power law. Chezi=coefficient*LinkSlope^exponent+NORM(sdResiduals) where NORM() is a normally distributed random variable.

Parameters:
coefficient - The coefficient in the power law
exponent - The exponent in the power law

setVqParams

public void setVqParams(float coefficient,
                        float sdResiduals,
                        float exponentQ,
                        float exponentA)
Assigns the parameters to the velocity function given by FlowVelocity=coefficient*exp(NORM(sdResiduals))*Discharge^exponentQ*UpstreamArea^exponentA where NORM() is a normally distributed random variable.

Parameters:
coefficient - The coefficient in multiple power law
exponentQ - The exponent in the power law with respect to dischage
exponentA - The exponent in the power law with respect to drainage area
sdResiduals - The statndard deviation of the residuals of the power law

getLamda1

public float getLamda1()
Returns the exponent for flow discharge in the parametrization FlowVelocity=coefficient*exp(NORM(sdResiduals))*Discharge^lambda1*UpstreamArea^lambda2

Returns:
The exponent lambda1

getLamda2

public float getLamda2()
Returns the exponent for upstream area in the parametrization FlowVelocity=coefficient*exp(NORM(sdResiduals))*Discharge^lambda1*UpstreamArea^lambda2

Returns:
The exponent lambda2

upStreamArea

public double upStreamArea(int LinkNumber)
Returns the upstream area for a given link

Parameters:
LinkNumber - The index of the desired link
Returns:
The upstream area in km^2

linkOrder

public double linkOrder(int LinkNumber)
Returns the Strahler-order for a given link

Parameters:
LinkNumber - The index of the desired link
Returns:
The strahler order

Chezi

public double Chezi(int LinkNumber)
Returns the Chezi coefficient for a given link

Parameters:
LinkNumber - The index of the desired link
Returns:
The Chezi coefficient in meters^(1/2)/second

Width

public double Width(int LinkNumber)
Returns the channel width for a given link

Parameters:
LinkNumber - The index of the desired link
Returns:
The channel width in meters

Length

public double Length(int LinkNumber)
Returns the length for a given link

Parameters:
LinkNumber - The index of the desired link
Returns:
The link length in meters

setLength

public void setLength(int LinkNumber,
                      float newLength)

Slope

public double Slope(int LinkNumber)
Returns the link average slope for a given link

Parameters:
LinkNumber - The index of the desired link
Returns:
The link slope

upStreamTotalLength

public double upStreamTotalLength(int LinkNumber)
Returns the upstream total channels lenght for a given link

Parameters:
LinkNumber - The index of the desired link
Returns:
The link slope

getCkArray

public float[][] getCkArray()
Returns the array of coefficient in the parametrization FlowVelocity=coefficient*exp(NORM(sdResiduals))*Discharge^lambda1*UpstreamArea^lambda2

Returns:
The array of coefficients

getUpStreamAreaArray

public float[][] getUpStreamAreaArray()
Returns the array of upstream areas for links in the network

Returns:
The array of areas in km^2

getLinkOrderArray

public float[][] getLinkOrderArray()
Returns the array of strahler orders for links in the network

Returns:
The array of strahler orders

getCheziArray

public float[][] getCheziArray()
Returns the array of Chezi coefficients for links in the network

Returns:
The array of Chezi coefficients in m^(1/2)/s

getManningArray

public float[][] getManningArray()
Returns the array of Manning coefficients for links in the network

Returns:
The array of Manning coefficients in s/m^(1/3)

getWidthArray

public float[][] getWidthArray()
Returns the array of channel widhts for links in the network

Returns:
The array of channel widhts in meters

getLengthInKmArray

public float[][] getLengthInKmArray()
Returns the array of lengths for links in the network

Returns:
The array of lengths in km

getSlopeArray

public float[][] getSlopeArray()
Returns the array of average slopes for links in the network

Returns:
The array of average slopes

basinArea

public float basinArea()
Returns the basin area

Returns:
The basin area in km^2


CUENCAS was initially developed by Ricardo Mantilla at the University of Colorado under the supervision of Dr. Vijay K. Gupta. We wish to recognize the support from the National Science Fundation.