ACRUSalinity.Processes.SubsurfaceSaltMovement
Class PSaltUptake
java.lang.Object
ACRU.Components.CNode
ACRU.Processes.PProcess
ACRUSalinity.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
| 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 |
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
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
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