Personal tools

Module PorousMediaProperties

From MohidWiki

Revision as of 10:52, 12 April 2012 by Davidbrito (talk | contribs) (Property Transport)
Jump to: navigation, search

Overview

This is the module in Mohid Land that handles porous media properties, meaning that controls transport (dependent on fluxes computed in porous media) and transformation processes (sediment quality and PREEQC modules that concern to biological and chemical processes in soil respectively). Standard units for Module PorousMediaProperties are mg/L in dissolved properties and mg/kgsoil for adsorbed properties.

Main Processes

Property Transport

Time discretization of property transport in Module PorousMediaProperties can be explicit or implicit. If user chooses to use implicit formulation, fluxes between porous media cells are implicit computed and also Runoff or Drainage Network interactions where sinks in soil occur. Runoff and Drainage network interactions acting as source to soil and sources or sinks from vegetation (uptake or organic matter generation) are always computed explicitly. Vegetation uptakes can not be simulated implicitly because this uptake may be disconnected from evapotranspiration flux (SWAT formulation).


Spatial discretization (horizontally and vertically) of property transport in Module PorousMediaProperties can be chosen from several options as in ModuleWaterProperties for each property (e.g. Upwind order 1 to 3, CentralDifferences, LeapFrog..) In order to boost the computation, PorousMediaProperties has the option of choosing the same discretization for all the properties (see keywords).


The property transport equation:

EqnPropertyTransport.png
where:
V is cell volume (m3)
C is cell property concentration (g/m3)
theta is cell water content (m3H2O/m3cell)
Deltat is time step (s)
Q is flow in cell face (m3/s)
Gamma is diffusivity in cell face (m2/s)
Deltaxi is cell spatial step in direction i (m)
* is t in case of explicit model and t+deltat in case of implicit


Diffusivity in soil is defined by tortuosity and dispersion (associated to erratic motion in pores)

\gamma _{face}=\left (Diff_{face}\times \zeta (\theta _{face})^{*}  \right )+\left (\frac{v_{face}}{\theta _{face}}\times \lambda _{face}  \right )

where:

Gammaface is diffusivity in cell face (m2/s)
Diffface is molecular diffusivity in cell face (m2/s)
zeta is Tortuosity (-)
tethaface is water content at cell face (m3H20/m3cell)
vface is velocity at the cell face (m/s)
lambdaface is dispersivity (m)

Water content at face can be obtained by several methods chosen by user: average of adjacent cells, minimum, maximum.

Tortuosity is defined as:

\zeta (\theta _{face}^{*})=\frac{\theta _{face}^{*}^{\frac{7}{3}}}{\phi _{face^{2}}}

where:

thetaface is water content at cell face (m3H20/m3cell)
phiface is porosity at cell face (m3pores/m3cell

Property Transformation

Biological activity - Sediment Quality Module

Sediment Quality module simulates biological processes by bacteria. Heterotrophic bacteria perform mineralization of organic matter (organic matter to inorganic material), Autotrophic bacteria perform nitrification (ammonia to nitrate) and Anaerobic bacteria denitrification (nitrate to nitrogen gas). Also immobilization of inorganic species is done if bacteria have nutrient needs to mantain ratios.

Chemical reactions - PREEQC Module

PREEQC module handles chemical equilibrium between species in soil, giving the new equilibrium at each computation.

Partition

Partition between particulated and dissolved species is done using a user ratio.

Other Features

Outputs

Output is done in terms of timeseries, HDF, and boxes following the MOHID standards.

References

Data File

Keywords

Units in porous media properties
  Transported properties (soluble)  : g/m3 (or mg/L)                     (needs to convert concentrations to SedimentQuality and 
                                                                          PREEQC at entrance and exit)
  Adsorbed properties (non soluble) : mg/kgsoil                          (needs to convert concentrations to PREEQC )
  Solid Phases (non soluble)        : mg/kgsoil                          (used in PhreeqC to make equilibrium with soil solution)
  Gas Phases (non soluble)          : mol (mass); atm (partial pressure) (used in PhreeqC to make equilibrium with soil solution)
  Gas Phases (assumed soluble)      : mg/L                               (used in SedimentQuality - N2, CH4 and CO2)

  Soil Dry Density                  : kg/m3                              
  H+ and Ionic Strenght             : mol/L                              (used in SedimentQuality)
  Microorganisms Population         : #org/kgsoil                        (used in SedimentQuality)

Keywords:

ADVDIFF_EXPLICIT              : 0/1                [1]        !REMARK: Horizontal diffusion is always explicit
                                                              !(1 - adv and diff are explicit in all directions; 0 - adv and diff 
                                                              !are implicit in vertical, horizontal adv may be explicit or impl) 
  ADVDIFF_ADVECTION_H_IMP_EXP : 0/1                [1]        !(read if ADVDIFF_EXPLICIT : 0; 0 - horiz adv implicit; 
                                                                1 - horiz adv explicit)
NEW_FORMULATION               : 0/1                [0]        !if 1 then spatial methods will be the same for all properties
                                                             
    ADVDIFF_METHOD_H          : integer      [UpwindOrder1]   !Spatial methods for horizontal advection
                                                              !UpwindOrder1 = 1, UpwindOrder2 = 2, UpwindOrder3 = 3, P2_TVD = 4,
                                                               CentralDif = 5, LeapFrog = 6    
    ADVDIFF_METHOD_V          : integer      [UpwindOrder1]   !Spatial methods for vertical advection
                                                              !UpwindOrder1 = 1, UpwindOrder2 = 2, UpwindOrder3 = 3, P2_TVD = 4,
                                                               CentralDif = 5, LeapFrog = 6!
<beginproperty>
  ADVECTION_DIFFUSION         : 0/1               [0]         !Property advection - diffusion
      ADVDIFF_METHOD_H        : integer      [UpwindOrder1]   !Spatial methods for horizontal advection
                                                              !UpwindOrder1 = 1, UpwindOrder2 = 2, UpwindOrder3 = 3, P2_TVD = 4,
                                                               CentralDif = 5, LeapFrog = 6    
      ADVDIFF_METHOD_V        : integer      [UpwindOrder1]   !Spatial methods for vertical advection
                                                              !UpwindOrder1 = 1, UpwindOrder2 = 2, UpwindOrder3 = 3, P2_TVD = 4,
                                                               CentralDif = 5, LeapFrog = 6
      ADVDIFF_TVD_LIMIT_H     : integer        [Superbee]     !Horizontal advection non-linear stability conditions
                                                               MinMod = 1, VanLeer = 2, Muscl = 3, Superbee = 4, PDM = 5
      ADVDIFF_TVD_LIMIT_V     : integer        [Superbee]     !Vertical advection non-linear stability conditions
                                                              !MinMod = 1, VanLeer = 2, Muscl = 3, Superbee = 4, PDM = 5
      ADVDIFF_VOLUME_RELATION_MAX : real          5.          !The relation between adjacent volumes above which 
                                                              !the advection is upwind

  SOIL_CHEMISTRY              : 0/1               [0]         !Use PREEQC model to change property (source/sink model)
  SOIL_QUALITY                : 0/1               [0]         !Use SedimentQuality model to change property (source/sink model)
  PARTITION                   : 0/1               [0]         !Compute partition between dissolved-particulate phases
      PARTITION_COUPLE        : char               +          !Name of the property (oposite phase) to compute partition
      PARTITION_FRACTION      : real               -          !Percentage of mass of a property in a determined phase 
      PARTITION_RATE          : real            [1 s-1]       !Kinetic rate of partition to reach equilibrium
<endproperty>

Sample

OUTPUT_TIME               : 0 3600
TIME_SERIE_LOCATION       : ..\General Data\TimeSeries\TimeSeriesLocation3D_2m.dat

!Advectin diffusion options
ADVDIFF_EXPLICIT          : 1
!Horizontal diffusion is always explicit
!(1 - adv and diff are explicit in all directions; 0 - adv and diff
!are implicit in vertical. horizontal adv may be explicit or impl)

ADVDIFF_ADVECTION_H_IMP_EXP :  1
!(read if ADVDIFF_EXPLICIT : 0; 0 - horiz adv implicit;
! 1 - horiz adv explicit)


NEW_FORMULATION           : 1   !1 - do not use moduleadvectiondiffusion (removed advection computation); 0 - old formulation
ADVDIFF_METHOD_H          : 1   !UpwindOrder1 = 1. UpwindOrder2 = 2. UpwindOrder3 = 3. P2_TVD = 4.
!CentralDif = 5. LeapFrog = 6
ADVDIFF_METHOD_V          : 1   !UpwindOrder1 = 1. UpwindOrder2 = 2. UpwindOrder3 = 3. P2_TVD = 4.
!CentralDif = 5. LeapFrog = 6

!dispersion
<begin_dispersion_long>
NAME                      : dispersion long
INITIALIZATION_METHOD     : CONSTANT
DEFAULTVALUE              : 0.0
REMAIN_CONSTANT           : 1
<end_dispersion_long>

<begin_dispersion_trans>
NAME                      : dispersion trans
INITIALIZATION_METHOD     : CONSTANT
DEFAULTVALUE              : 0.0
REMAIN_CONSTANT           : 1
<end_dispersion_trans>


!example of rates for use with sediment quality
BOXFLUXES                 : ..\General Data\Boxes\Boxes.dat

<beginSQrate>
NAME                      : ammonia ammonia
DESCRIPTION               : nitrification (-); ammonia imombilization (+)
FIRSTPROP                 : ammonia
SECONDPROP                : ammonia
MODEL                     : SedimentQuality
<endSQrate>


properties needed to run with sediment quality: 
properties simulated: ammonia, nitrate, particulated refractory organic nitrogen, particulate organic nitrogen, nitrogen gas, heterotrophic    microorganism nitrogen, autotrophic microorganism nitrogen, 
anaerobic microorganism nitrogen, urea, particulate labile organic carbon, particulated refractory organic carbon, heterotrophic microorganism carbon,  anaerobic microorganism carbon, carbon dioxide, 
inorganic phosphorus, particulated inorganic phosphorus, particulated refractory organic phosphorus, particulate organic phosphorus, heterotrophic  microorganism phosphorus, autotrophic microorganism phosphorus, 
anaerobic microorganism phosphorus, heterotrophic microorganism population, autotrophic microorganism population, anaerobic microorganism population
properties defined by user (sediment quality does not change them): temperature, salinity, pH, ionic strength, phosphorus adsortion index, soil dry density
properties that can be defined by user or computed: oxygen. oxygen is computed based on temperature and salinity.

ATTENTION : When using soil quality modules DTINTERVAL here in each property should be the same as 0D model DT.


<beginproperty>
NAME                      : ammonia
UNITS                     : mgN/L
DESCRIPTION               : ammonia
PARTICULATE               : 0
OLD                       : 0
MIN_VALUE                 : 1E-15
FILE_IN_TIME              : NONE
INITIALIZATION_METHOD     : CONSTANT
DEFAULTVALUE              : 10.           
ADVECTION_DIFFUSION       : 1
ADVDIFF_MOLECULAR_DIFF_COEF :  0.0
DTINTERVAL                : 86400.
SOIL_QUALITY              : 1
SOIL_CHEMISTRY            : 0
TIME_SERIE                : 1
OUTPUT_HDF                : 1
BOX_TIME_SERIE            : 1
<endproperty>

<beginproperty>
NAME                       : nitrate
UNITS                      : mgN/l
DESCRIPTION                : nitrate
ADVECTION_DIFFUSION        : 1
DEFAULTVALUE               : 10.0
ADVDIFF_MOLECULAR_DIFF_COEF : 0.0
ADVDIFF_METHOD_H           : 1   !UpwindOrder1 = 1, UpwindOrder2 = 2, UpwindOrder3 = 3, P2_TVD = 4,
                                !CentralDif = 5, LeapFrog = 6    
ADVDIFF_METHOD_V           : 1   !UpwindOrder1 = 1, UpwindOrder2 = 2, UpwindOrder3 = 3, P2_TVD = 4,
                                !CentralDif = 5, LeapFrog = 6   
OUTPUT_HDF                 : 1
TIME_SERIE                 : 1
<endproperty>

<beginproperty>
NAME                       : inorganic phosphorus
UNITS                      : mgP/l
DESCRIPTION                : inorganic phosphorus
ADVECTION_DIFFUSION        : 1
DEFAULTVALUE               : 1.0
ADVDIFF_MOLECULAR_DIFF_COEF : 0.0
ADVDIFF_METHOD_H           : 1   !UpwindOrder1 = 1, UpwindOrder2 = 2, UpwindOrder3 = 3, P2_TVD = 4,
                                !CentralDif = 5, LeapFrog = 6    
ADVDIFF_METHOD_V           : 1   !UpwindOrder1 = 1, UpwindOrder2 = 2, UpwindOrder3 = 3, P2_TVD = 4,
                                !CentralDif = 5, LeapFrog = 6   
OUTPUT_HDF                 : 1
TIME_SERIE                 : 1
<endproperty>


<beginproperty>
NAME	    		: soil dry density
UNITS	    		: kg/m3cell
DESCRIPTION 		: soil dry density
PARTICULATE 		: 0
OLD	    		: 0
MIN_VALUE   		: 0
FILE_IN_TIME 		: NONE
INITIALIZATION_METHOD 	: CONSTANT
DEFAULTVALUE     	: 1490.
ADVECTION_DIFFUSION 	: 0
SOIL_QUALITY            : 0
SOIL_CHEMISTRY          : 0
TIME_SERIE              : 1
OUTPUT_HDF              : 1
<endproperty>