## Root uptake in HP1

### Root uptake in HP1

Dear sir,

I try to simulate nitrogen transport and transformation with root uptake process in HP1, but i find i cann't use the "critical stress index for water uptake" and "active solute uptake". Can i use HP1 to simulate nitrogen transport and transformation with root uptake process?

Best regards and many thanks.

Daiwen

I try to simulate nitrogen transport and transformation with root uptake process in HP1, but i find i cann't use the "critical stress index for water uptake" and "active solute uptake". Can i use HP1 to simulate nitrogen transport and transformation with root uptake process?

Best regards and many thanks.

Daiwen

Reactions related to solute needs to be dealt with using the PHREEQC part of HP1. Thus solute uptake needs to be programmed using the BASIC code in the PHREEQC input (and not defined in the HYDRUS part).

Critical stress index for water uptake - this deals with the compensated root water uptake. I do not remember if we implemented that also in HP1 (I'm traveling this week and do not have the sources with me). If it is not yet part of HP1, it would be easy to add it there and I'm sure we will. Uncompensated root water uptake is certainly an option in HP1.

Jirka

Thank you very much for your kindly answer.

If i check "Solute transport/HP1(PHREEQC)", "Critical stress index for water uptake" will be lost in Hydrus windows of " root water and solute uptake model",so i cann't deal with the compensated or uncompensated root water uptake by changing that index.

I know how to deal with the reaction by using the PHREEQC part of HP1, but i don't know how to define the solute uptake in the PHREEQC input. Do you mean i need to define the part of r(c,h) (CDE) using BASIC code like as "rates--kinetics" in the PHREEQC.in? There are some examples?

Best regards

Daiwen

For the answer how to define active solute root water uptake, you will need to wait for Diederik's response. But basically, it should be defined as any other degradation reaction (i.e., removal of solute from the solution).

Jirka

Thank you very much for your response. I understand now.

It would be very perfect to me if the compensated root water uptake can be also available in HP1.

And i hope Diederik can give me some advices about how to define active solute root water uptake in HP1 (PHREEQC input), it would be very helpful for me.

Best regards.

Daiwen

I implemented a small example in HP1. I consider only active uptake (I think that in the current version of HP1 passive uptake is not really possible, unless you use the passive uptake from HYDRUS). I implemented equation 22 from Simunek and Hopmans (2009, Ecological Modelling, 220: 505-521). I have an example with a time variable potential active uptake and a variable (but uniform) rooting depth.

First you have to define the rate:

<font color="blue"><font face="Courier New">RATES

RootUptakeCa

#Active uptake of Ca

-start

#Implementation of Eq. 22 in Simunek and Hopmans (2009), Ecological Modelling, 220:505-521

#Note: No passive uptake considered so far i.e. cmax = 0 (Fig. 1 in Simunek and Hopmans)

10 REM Calculate Ap(t) - the potential uptake

20 if (cell_no = 1 ) then GOSUB 1000 # potential uptake is calculated for each time step, but also for the first node, the value is then saved

100 REM Calculate normalized root distribution

#There are 30 nodes with roots, each node is 1 cm, thus the normalized root distribution is 0.033333

#note that when kinetics are only attributed to the first 30 nodes, than this if then else statement is not needed and you can simple put b = 0.03333

#note: withe the procedure calculate normalized root distribution, you can also give in a variable root depth with time

110 GOSUB 2000

150 ap = get(1)*b

170 put(ap,2)

200 REM Calculate active nutrient uptake

#Kinetic parameters:

# parm(1) : cmin in mol/kgw

# parm(2) : K in mol/kgw

201 if (tot("Ca") > parm(1)) then goto 250

220 rate = 0

230 goto 900

250 conc = tot("Ca") - parm(1)

#rate is written here as a function of the total concentration of Ca

#It can also be written in terms of molality of e.g. Ca+2 or in terms of the activity of Ca+2

260 rate = (conc/(parm(2) + conc)) * ap

#the unit of the rate equation should be: mol / dm? soil

900 moles = - rate * time

910 moles = moles * tot("water")

980 save moles

990 END

1000 REM Calculate Ap(t) - the potential uptake - hypothetical variable Ap

1010 if (total_time > 90) then goto 1050

1020 Ap = 0

1030 goto 1900

1050 if (total_time > 150) then goto 1100

1060 rico = (0.001) / (60)

1070 Ap = rico * (total_time - 90)

1080 goto 1900

1100 if (total_time > 250) then goto 1150

1110 Ap = 0.001

1120 goto 1900

1150 if (total_time > 310) then goto 1200

1160 rico = - 0.001/60

1170 Ap = 0.001 + rico * (total_time - 250)

1180 goto 1900

1200 Ap = 0

1900 put(Ap,1) #for this time step, the potential uptake is the same for all nodes

1990 return

2000 REM calculate B(t,x) - normalized root distribution

#depth is in cm!!!

#note that it has to have the same units as in the HP1 project

2010 if(total_time > 90) then goto 2050

2020 b = 0

2030 goto 2900

2050 if(total_time > 150) then goto 2100

2060 rico = 74/60 #uniform root growth: between day 90 and 150 the root depht is goining uniformly up to 75 cm

2070 depth = -(1 + rico * (total_time - 90))

2080 if (dist > depth) then b = (- 1 / depth) else b=0

2090 goto 2900

2100 depth = -75

2110 if (dist > - 75.5) then b = 1 / 75 else b = 0

2900 put(depth,3)

2910 put(b,4)

2990 return

-end</font id="Courier New"></font id="blue">

Then you need to define a kinetic datablock (KINETICS) for each node (I have 101 nodes in a 1 m depht soil).

<font color="blue"><font face="Courier New">Kinetics 1-101

RootUptakeCa

-formula Ca 1 H -2

#Stoichiometric coefficients: The product of the stochiometric coefficients with the rate (mol/dm3 soil) gives the change of amount of the different components relative to the aqueous phase

#A negative product is thus removal from the aqueous phase, a positive product release in the aqueous phase

#For every mol Ca uptake, the root release two protons ; this is needed to keep the solution charged balanced. You can also release other cations.

-parameters 0 1E-3

#parameters used in the MM equation:

# first parameter: cmin

# second parameter: K

-m0 0

#initial amount of the kinetic reactant - if zero, the amount of the kinetic reactant will give you the cumulative uptake at a given node.</font id="Courier New"></font id="blue">

I have implemented this in a steady-state flow problem (no root water uptake) with the arbitrarely chosen parameters and values given above.

I made the example with Ca but you can do it for nitrate as wel.

Let me know if you have additional questions,

diederik

PS: in the next version of HP1, it will be easier to include the factors as rooting depth, Ap, etc. You will have also the possibility to include some state variables (water uptake, pressure head, ...) in the uptake equations.