ACRUSalinity.Processes.SubsurfaceSaltMovement
Class PSaltUptake

java.lang.Object
  extended byACRU.Components.CNode
      extended byACRU.Processes.PProcess
          extended byACRUSalinity.Processes.SubsurfaceSaltMovement.PSaltUptake

public class PSaltUptake
extends ACRU.Processes.PProcess

This process is responsible to determine the updated salinity level of a soil layer or ground water after salt uptake took place according to first order rate kinetics. NB. this process does not take into account the effect of evapotranspiration which is handled indirectly by other processes.

Author:
Aynom Teweldebrhan

Field Summary
(package private)  double layerSalinity
           
(package private)  double layerSaltLoad
           
(package private)  double layerWaterContent
           
protected  ACRU.Components.CLandSegment m_CLandSegment
           
(package private)  double saltSatValue
           
protected  java.util.Vector soilHorizons
           
(package private)  double thisCatchmentArea
           
protected  ACRU.Components.Soils.CSoil thisCSoil
           
(package private)  double uptakeRateConstant
           
 
Fields inherited from class ACRU.Processes.PProcess
CURRENT_DATE, END_SIMULATION_DATE, initialised, START_SIMULATION_DATE
 
Fields inherited from class ACRU.Components.CNode
 
Constructor Summary
PSaltUptake()
           
PSaltUptake(ACRU.Components.CComponent source)
          Constructor that requires a CLandSegment type of CComponent as an argument.
PSaltUptake(ACRU.Components.Soils.CSoil soil)
          constructor that takes CSoil object as an argument.
 
Method Summary
 double getDailySaltUptake(ACRU.Components.CComponent layer, double catchmentArea, double horizonSalinity)
           
 void runProcess()
          This is a general method used to "run" every process.
private  void setRequiredData()
           
 
Methods inherited from class ACRU.Processes.PProcess
initialise, isInitialised, setCurrentDate, setEndDate, setStartDate, toString
 
Methods inherited from class ACRU.Components.CNode
getNext, getNext, getNext, getNext, getNextCount, getNextCount, getNexts, getNexts, getTypeOfNexts, getTypeOfNexts, setNext, setNext, setNext, setNext, setNext, setNexts, setNexts, setNexts
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

soilHorizons

protected java.util.Vector soilHorizons

thisCSoil

protected ACRU.Components.Soils.CSoil thisCSoil

m_CLandSegment

protected ACRU.Components.CLandSegment m_CLandSegment

thisCatchmentArea

double thisCatchmentArea

uptakeRateConstant

double uptakeRateConstant

saltSatValue

double saltSatValue

layerWaterContent

double layerWaterContent

layerSaltLoad

double layerSaltLoad

layerSalinity

double layerSalinity
Constructor Detail

PSaltUptake

public PSaltUptake()

PSaltUptake

public PSaltUptake(ACRU.Components.Soils.CSoil soil)
            throws ACRU.Exceptions.EException
constructor that takes CSoil object as an argument.

Throws:
java.lang.Exception - Exceptions not dealt with internally.
ACRU.Exceptions.EException

PSaltUptake

public PSaltUptake(ACRU.Components.CComponent source)
            throws ACRU.Exceptions.EIllegalComponentTypeException,
                   ACRU.Exceptions.EException
Constructor that requires a CLandSegment type of CComponent as an argument.

Parameters:
source - The land segment for which the Salinity of its horizons and groundwater is being calculated.
Throws:
java.lang.Exception - Exceptions not dealt with internally.
ACRU.Exceptions.EIllegalComponentTypeException - If the argument CComponent is not an instance of CLandSegment.
ACRU.Exceptions.EException
Method Detail

setRequiredData

private void setRequiredData()

runProcess

public void runProcess()
                throws java.lang.Exception,
                       ACRU.Exceptions.EException
Description copied from class: ACRU.Processes.PProcess
This is a general method used to "run" every process.

This method acts as an adaptor and usually calls other methods.

This abstract method must be implemented by all non-abstract subclasses of PProcess.

Throws:
ACRU.Exceptions.EException - EExceptions not dealt with internally.
java.lang.Exception - Exceptions not dealt with internally.

getDailySaltUptake

public double getDailySaltUptake(ACRU.Components.CComponent layer,
                                 double catchmentArea,
                                 double horizonSalinity)
                          throws java.lang.Exception,
                                 ACRU.Exceptions.EException
Throws:
java.lang.Exception
ACRU.Exceptions.EException


Hosted by www.Geocities.ws

1