diff --git a/components/elm/bld/namelist_files/namelist_definition.xml b/components/elm/bld/namelist_files/namelist_definition.xml
index 7063d7a11054..959279120147 100644
--- a/components/elm/bld/namelist_files/namelist_definition.xml
+++ b/components/elm/bld/namelist_files/namelist_definition.xml
@@ -139,6 +139,12 @@ If TRUE consider priority of plant to get a fraction of
symbiotic N fixation and P phosphatase
+
+BGC balance check tolerance
+Default 1.0e-7 hardwired
+
+
Set date for beginning of adding temperature to atmospheric forcing
diff --git a/components/elm/src/biogeochem/EcosystemBalanceCheckMod.F90 b/components/elm/src/biogeochem/EcosystemBalanceCheckMod.F90
index ffe1be5d909b..1a9b59f776ea 100644
--- a/components/elm/src/biogeochem/EcosystemBalanceCheckMod.F90
+++ b/components/elm/src/biogeochem/EcosystemBalanceCheckMod.F90
@@ -48,7 +48,10 @@ module EcosystemBalanceCheckMod
implicit none
save
private
- real(r8), parameter :: balance_check_tolerance = 1e-8_r8
+
+ ! This corersponds to namelist variable bgc_balance_check_tolerance
+ real(r8), public :: balance_check_tolerance = 1e-7_r8
+
!
! !PUBLIC MEMBER FUNCTIONS:
public :: BeginColCBalance
@@ -278,7 +281,7 @@ subroutine ColCBalanceCheck(bounds, &
end if
! check for significant errors
- if (abs(col_errcb(c)) > 1e-8_r8) then
+ if (abs(col_errcb(c)) > balance_check_tolerance) then
err_found = .true.
err_index = c
end if
@@ -498,7 +501,7 @@ subroutine ColNBalanceCheck(bounds, &
! here is '-' adjustment. It says that the adding to PF decomp n pools was less.
end if
- if (abs(col_errnb(c)) > 1e-8_r8) then
+ if (abs(col_errnb(c)) > balance_check_tolerance) then
err_found = .true.
err_index = c
end if
@@ -731,7 +734,7 @@ subroutine ColPBalanceCheck(bounds, &
col_errpb(c) = (col_pinputs(c) - col_poutputs(c))*dt - &
(col_endpb(c) - col_begpb(c))
- if (abs(col_errpb(c)) > 1e-8_r8) then
+ if (abs(col_errpb(c)) > balance_check_tolerance) then
err_found = .true.
err_index = c
end if
diff --git a/components/elm/src/main/controlMod.F90 b/components/elm/src/main/controlMod.F90
index 1d8f48d7cc7d..dc7fa975dbb4 100755
--- a/components/elm/src/main/controlMod.F90
+++ b/components/elm/src/main/controlMod.F90
@@ -55,6 +55,7 @@ module controlMod
use elm_varctl , only: const_climate_hist
use elm_varctl , only: use_top_solar_rad
use elm_varctl , only: snow_shape, snicar_atm_type, use_dust_snow_internal_mixing
+ use EcosystemBalanceCheckMod, only: bgc_balance_check_tolerance => balance_check_tolerance
!
! !PUBLIC TYPES:
@@ -181,6 +182,10 @@ subroutine control_init( )
namelist /elm_inparm/ &
NFIX_PTASE_plant
+ ! BGC balance check
+ namelist /elm_inparm/ &
+ bgc_balance_check_tolerance
+
! For experimental manipulations
namelist /elm_inparm/ &
startdate_add_temperature
@@ -325,7 +330,7 @@ subroutine control_init( )
namelist /elm_mosart/ &
lnd_rof_coupling_nstep
-
+
namelist /elm_inparm/ &
snow_shape, snicar_atm_type, use_dust_snow_internal_mixing
@@ -796,6 +801,7 @@ subroutine control_spmd()
call mpi_bcast (forest_fert_exp, 1, MPI_LOGICAL, 0, mpicom, ier)
call mpi_bcast (ECA_Pconst_RGspin, 1, MPI_LOGICAL, 0, mpicom, ier)
call mpi_bcast (NFIX_PTASE_plant, 1, MPI_LOGICAL, 0, mpicom, ier)
+ call mpi_bcast (bgc_balance_check_tolerance, 1, MPI_REAL8, 0, mpicom, ier)
call mpi_bcast (use_pheno_flux_limiter, 1, MPI_LOGICAL, 0, mpicom, ier)
call mpi_bcast (startdate_add_temperature, 1, MPI_CHARACTER, 0, mpicom, ier)
call mpi_bcast (startdate_add_co2, 1, MPI_CHARACTER, 0, mpicom, ier)