output variables from FUN model

Status
Not open for further replies.

jinmuluo

Jinmu Luo
Member
Hi,

I outputted three variables to check plant absorption of inorganic N, "SMINN_TO_PLANT_FUN_NH4", "SMINN_TO_PLANT_FUN_NO3" and "SMINN_TO_PLANT_FUN". I guess the "SMINN_TO_PLANT_FUN" is the summary of the former two variables, right? But when I calculate the summation of "SMINN_TO_PLANT_FUN_NH4", "SMINN_TO_PLANT_FUN_NO3" above the "levdcmp" level, it looks like the result is much bigger than the "SMINN_TO_PLANT_FUN". Any hints on this problem, or which variable I should use? Or does the soil layer matters?

Thank you

Jinmu
 

wwieder

Will Wieder
Member
I don't know if I completely understand your question @jinmuluo? considering the soil layers matter when calculating vertically resolved fluxes, which I think is what you're doing with these variables ending in _vr

I also think that N fixation isn't included in the NH4 and NO3 fluxes to plant, but they are included in SMINN_TO_PLANT_FUN

See this line of code

And also this one
 

jinmuluo

Jinmu Luo
Member
I don't know if I completely understand your question @jinmuluo? considering the soil layers matter when calculating vertically resolved fluxes, which I think is what you're doing with these variables ending in _vr

I also think that N fixation isn't included in the NH4 and NO3 fluxes to plant, but they are included in SMINN_TO_PLANT_FUN

See this line of code

And also this one
Thank you so much for your replies!

Do you mean SMINN_TO_PLANT_FUN should always be larger than the summation of SMINN_TO_PLANT_FUN_NH4 and SMINN_TO_PLANT_FUN_NO3 considering fixation is included in SMINN_TO_PLANT_FUN?

I thought SMINN_TO_PLANT_FUN = SMINN_TO_PLANT_FUN_NH4.sum(level='levdcmp') + SMINN_TO_PLANT_FUN_NO3.sum(level='levdcmp')
hold in all output levels.

In my case, I saw the SMINN_TO_PLANT_FUN was much smaller than the SMINN_TO_PLANT_FUN_NH4.sum(level='levdcmp') + SMINN_TO_PLANT_FUN_NO3.sum(level='levdcmp') .
 

wwieder

Will Wieder
Member
Yes, looking at the equations I linked in my reply the SMINN_TO_PLANT_FUN will be larger than the NO3 and NH4 components.

Pay careful attention to the units in SMINN_TO_PLANT_FUN_NO3, I'm assuming they are gN/m3? If so, you have to multipy this by soil layer thickness, (which changes with depth) before summing the fluxes to get gN/m2 (which I'm assuming are units for SMINN_TO_PLANT_FUN)
 

jinmuluo

Jinmu Luo
Member
Yes, looking at the equations I linked in my reply the SMINN_TO_PLANT_FUN will be larger than the NO3 and NH4 components.

Pay careful attention to the units in SMINN_TO_PLANT_FUN_NO3, I'm assuming they are gN/m3? If so, you have to multipy this by soil layer thickness, (which changes with depth) before summing the fluxes to get gN/m2 (which I'm assuming are units for SMINN_TO_PLANT_FUN)

I had checked the units before I did the calculation, from the output and the CNVegNitrogenFluxType.F90, SMINN_TO_PLANT_FUN_NO3 has the unit of gN/m2/s.

float SMINN_TO_PLANT_FUN_NO3(time, levdcmp, lndgrid) ;


SMINN_TO_PLANT_FUN_NO3:long_name = "plant uptake of NO3, FUN" ;


SMINN_TO_PLANT_FUN_NO3:units = "gN/m^2/s" ;


SMINN_TO_PLANT_FUN_NO3:cell_methods = "time: mean" ;


SMINN_TO_PLANT_FUN_NO3:_FillValue = 1.e+36f ;


SMINN_TO_PLANT_FUN_NO3:missing_value = 1.e+36f ;


SMINN_TO_PLANT_FUN_NO3:landunit_mask = "unknown" ;


but look at this line of code

it looks like SMINN_TO_PLANT_FUN_NO3 should have the unit of gN/m3/s
 
Status
Not open for further replies.
Back
Top