Opened 4 months ago

Last modified 3 months ago

#2778 accepted project-task

bug in JULES for using the Van Genuchten params

Reported by: pmcguire Owned by: pmcguire
Component: JULES Keywords: bug, Van Genuchten, ECOSSE, JULES, Brooks and Corey
Cc: imtiaz.dharssi@… Platform:
UM Version:

Description

Hi Imtiaz

I think I found a bug in JULES for using the Van Genuchten params.

in jules-vn5.2/src/science/soil/vmc_from_head_mod.F90
it has n_vg = ( 1.0 / b(i,iz) ) - 1.0
whereas in order to get the exponents to be the same at high Psi=head for the Brooks and Corey and for the Van Genuchten, this should be I think
n_vg = ( 1.0 / b(i,iz) ) + 1.0
Do you concur?
Patrick

Change History (5)

comment:1 Changed 4 months ago by pmcguire

Patrick:
I agree, that line is wrong, it would make n_vg negative since 1/b is always less than 1. The correct equation is n=1/b+1 which can be rearranged as b=1/(n-1). The Jules ancillaries store 1/(n-1).

Also in the same file there are these lines:
78

smvcst(land_pts,sm_levels)

79

! Volumetric soil moisture content at saturation (m3 water/m3 of soil).

214

! theta - theta_r = (theta_s - theta_r) / (1+(alpha*Psi)n)m

215

smvc(i,iz) = smvcst(i,iz) / &

216

( ( 1.0 + ( (alpha_vg * psi_metres) n_vg ) ) &

217

( 1.0 - 1.0 / n_vg ) )


Line 214 implies that smvcst=(theta_s-theta_r).

I will forward your bug find to Doug Clark.

Cheers

Imtiaz

comment:2 Changed 4 months ago by pmcguire

  • Status changed from new to accepted

comment:3 Changed 4 months ago by pmcguire

Imtiaz Dharssi
Tue, Feb 12, 10:50 PM (2 days ago)

to Doug, Toby, Patrick

Hi Doug

Patrick McGuire? has found a possible bug in https://code.metoffice.gov.uk/trac/jules/browser/main/trunk/src/science/soil/vmc_from_head_mod.F90


213

n_vg = ( 1.0 / b(i,iz) ) - 1.0

Line 213 implies that n_vg is always negative since 1/b is always less than 1. We think that the correct code should be n_vg = ( 1.0 / b(i,iz) ) + 1.0

This corrected equation is consistent with line 72 ! For the van Genuchten model: b=1/(n-1) (m).

Also the following lines need amending to add smvcst=(theta_s-theta_r) for the van Genuchten model.
78

smvcst(land_pts,sm_levels)

79

! Volumetric soil moisture content at saturation (m3 water/m3 of soil).


The Jules documentation doesn't make it clear that Jules ancillaries store (theta_s-theta_r), (theta_w-theta_r) and (theta_c-theta_r). Would it be possible to explcitly add a line or two to say that.

Thanks

comment:4 Changed 4 months ago by pmcguire

Hi Doug and Toby
It looks like that bit of Van Genuchten code is only being used when the ECOSSE model of soil biogeochemistry is chosen (soil_bgc_model = 3).
This new bit of code was added in JULES4.9, and is still under development.
Patrick

comment:5 Changed 3 months ago by pmcguire

  • Type changed from defect to project-task
Note: See TracTickets for help on using tickets.