Opened 2 years ago
Closed 6 months ago
#2778 closed project-task (wontfix)
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 (6)
comment:1 Changed 2 years ago by pmcguire
comment:2 Changed 2 years ago by pmcguire
- Status changed from new to accepted
comment:3 Changed 2 years 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 2 years 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 2 years ago by pmcguire
- Type changed from defect to project-task
comment:6 Changed 6 months ago by pmcguire
- Resolution set to wontfix
- Status changed from accepted to closed
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
79
214
215
216
217
Line 214 implies that smvcst=(theta_s-theta_r).
I will forward your bug find to Doug Clark.
Cheers
Imtiaz