Skip to content

Commit

Permalink
fix divide by zero issue in canopyhydrologymod
Browse files Browse the repository at this point in the history
  • Loading branch information
rfiorella committed Jul 25, 2024
1 parent d9d4817 commit 1550a06
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion components/elm/src/biogeophys/CanopyHydrologyMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -844,13 +844,16 @@ subroutine FracH2OSfc(bounds, num_h2osfc, filter_h2osfc, &
if (swc > iwp_microrel(c) - iwp_exclvol(c)) then
d = swc + iwp_exclvol(c)
else
d = 0.0
d = swc + iwp_exclvol(c)
do k=1,10
fd = (2_r8*iwp_exclvol(c) - iwp_microrel(c)) * (d/iwp_microrel(c))**3_r8 &
+ (2_r8*iwp_microrel(c) - 3_r8*iwp_exclvol(c)) * (d/iwp_microrel(c))**2_r8 &
- swc
dfdd = (3_r8/iwp_microrel(c)) * (2_r8*iwp_exclvol(c) - iwp_microrel(c)) * (d/iwp_microrel(c))**2_r8 &
+ (2_r8/iwp_microrel(c)) * (2_r8*iwp_microrel(c) - 3_r8*iwp_exclvol(c)) * (d/iwp_microrel(c))
if (dfdd < 1.0e-12_r8) then
write(iulog,*) "careful! getting close to dividing by 0..."
end if
d = d - fd/dfdd
enddo
endif
Expand Down

0 comments on commit 1550a06

Please sign in to comment.