diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm
index 43dbda3a3a..72a14e1550 100755
--- a/bld/CLMBuildNamelist.pm
+++ b/bld/CLMBuildNamelist.pm
@@ -810,7 +810,7 @@ sub setup_cmdl_fates_mode {
"fates_parteh_mode","use_fates_tree_damage","fates_seeddisp_cadence","use_fates_luh","fluh_timeseries",
"flandusepftdat","use_fates_potentialveg","use_fates_lupft","fates_history_dimlevel",
"use_fates_daylength_factor", "use_fates_photosynth_acclimation","fates_stomatal_assimilation",
- "fates_cstarvation_model", "fates_regeneration_model"
+ "fates_cstarvation_model", "fates_regeneration_model", "fates_hydro_solver"
);
# dis-allow fates specific namelist items with non-fates runs
@@ -4707,7 +4707,7 @@ sub setup_logic_fates {
"use_fates_inventory_init","fates_seeddisp_cadence","fates_history_dimlevel",
"fates_harvest_mode","fates_parteh_mode", "use_fates_cohort_age_tracking","use_fates_tree_damage",
"use_fates_daylength_factor", "use_fates_photosynth_acclimation","fates_stomatal_assimilation",
- "fates_cstarvation_model", "fates_regeneration_model"
+ "fates_cstarvation_model", "fates_regeneration_model", "fates_hydro_solver"
);
foreach my $var ( @list ) {
diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml
index 1bd53e9a86..ede704b407 100644
--- a/bld/namelist_files/namelist_defaults_ctsm.xml
+++ b/bld/namelist_files/namelist_defaults_ctsm.xml
@@ -2392,6 +2392,7 @@ lnd/clm2/surfdata_esmf/NEON/ctsm5.3.0/surfdata_1x1_NEON_TOOL_hist_2000_78pfts_c2
net
linear
default
+1D_Taylor
.false.
.false.
.false.
diff --git a/bld/namelist_files/namelist_definition_ctsm.xml b/bld/namelist_files/namelist_definition_ctsm.xml
index 08ee5c18c8..ecf4886d60 100644
--- a/bld/namelist_files/namelist_definition_ctsm.xml
+++ b/bld/namelist_files/namelist_definition_ctsm.xml
@@ -775,6 +775,11 @@ Allowed values are:
This option is older than the luhdata options and may be depricated at some point in the future.
+
+Set the FATES hydro solver method
+
+
Set the FATES seed regeneration model
diff --git a/src/main/clm_varctl.F90 b/src/main/clm_varctl.F90
index d2efdd476d..5aac624c04 100644
--- a/src/main/clm_varctl.F90
+++ b/src/main/clm_varctl.F90
@@ -334,6 +334,7 @@ module clm_varctl
character(len=256), public :: fates_stomatal_assimilation = '' ! net or gross assimilation modes
character(len=256), public :: fates_cstarvation_model = '' ! linear or exponential function
character(len=256), public :: fates_regeneration_model = '' ! default, TRS, or TRS without seed dynamics
+ character(len=256), public :: fates_hydro_solver = '' ! 1D Taylor, 2D Picard, 2D Newton
logical, public :: use_fates_planthydro = .false. ! true => turn on fates hydro
logical, public :: use_fates_cohort_age_tracking = .false. ! true => turn on cohort age tracking
logical, public :: use_fates_ed_st3 = .false. ! true => static stand structure
diff --git a/src/main/controlMod.F90 b/src/main/controlMod.F90
index fca17abff3..6cc34d632b 100644
--- a/src/main/controlMod.F90
+++ b/src/main/controlMod.F90
@@ -245,6 +245,7 @@ subroutine control_init(dtime)
fates_stomatal_assimilation, &
fates_cstarvation_model, &
fates_regeneration_model, &
+ fates_hydro_solver, &
fates_parteh_mode, &
fates_seeddisp_cadence, &
use_fates_tree_damage, &
@@ -807,6 +808,7 @@ subroutine control_spmd()
call mpi_bcast (fates_stomatal_assimilation, len(fates_stomatal_assimilation) , MPI_CHARACTER, 0, mpicom, ier)
call mpi_bcast (fates_cstarvation_model, len(fates_cstarvation_model) , MPI_CHARACTER, 0, mpicom, ier)
call mpi_bcast (fates_regeneration_model, len(fates_regeneration_model) , MPI_CHARACTER, 0, mpicom, ier)
+ call mpi_bcast (fates_hydro_solver, len(fates_hydro_solver) , MPI_CHARACTER, 0, mpicom, ier)
call mpi_bcast (use_fates_planthydro, 1, MPI_LOGICAL, 0, mpicom, ier)
call mpi_bcast (use_fates_tree_damage, 1, MPI_LOGICAL, 0, mpicom, ier)
call mpi_bcast (use_fates_cohort_age_tracking, 1, MPI_LOGICAL, 0, mpicom, ier)
@@ -1213,6 +1215,7 @@ subroutine control_print ()
write(iulog, *) ' fates_stomatal_assimilation = ', fates_stomatal_assimilation
write(iulog, *) ' fates_cstarvation_model = ', fates_cstarvation_model
write(iulog, *) ' fates_regeneration_model = ', fates_regeneration_model
+ write(iulog, *) ' fates_hydro_solver = ', fates_hydro_solver
write(iulog, *) ' fates_paramfile = ', fates_paramfile
write(iulog, *) ' fates_parteh_mode = ', fates_parteh_mode
write(iulog, *) ' use_fates_planthydro = ', use_fates_planthydro
diff --git a/src/utils/clmfates_interfaceMod.F90 b/src/utils/clmfates_interfaceMod.F90
index d039f97214..03b9a6732d 100644
--- a/src/utils/clmfates_interfaceMod.F90
+++ b/src/utils/clmfates_interfaceMod.F90
@@ -60,6 +60,7 @@ module CLMFatesInterfaceMod
use clm_varctl , only : fates_stomatal_assimilation
use clm_varctl , only : fates_cstarvation_model
use clm_varctl , only : fates_regeneration_model
+ use clm_varctl , only : fates_hydro_solver
use clm_varctl , only : use_fates_inventory_init
use clm_varctl , only : use_fates_fixed_biogeog
use clm_varctl , only : use_fates_nocomp
@@ -570,6 +571,15 @@ subroutine CLMFatesGlobals2()
end if
call set_fates_ctrlparms('regeneration_model',ival=pass_regeneration_model)
+ if (trim(fates_hydro_solver) == '1D_Taylor') then
+ pass_hydro_solver = 1
+ else if (trim(fates_hydro_solver) == '2D_Picard') then
+ pass_hydro_solver = 2
+ else if (trim(fates_hydro_solver) == '2D_Taylor') then
+ pass_hydro_solver = 3
+ end if
+ call set_fates_ctrlparms('hydr_solver',ival=pass_hydro_solver)
+
! FATES logging and harvest modes
pass_logging = 0
pass_lu_harvest = 0