#-------------[Enter modeler specified parameters]------------------

# Define path to executable.  The executable is 64 bit, so if you need 32 bit, choose the second one.
# If the executable is in the folder with the python script, executable alone is fine.  If it is in 
# some other location, specify full path.
SUTRA_exe = r'sutra_4_0.exe'

# If the number of nodes in the SUTRA model is too large, the computer cannot run it.
# The following number is the allowable number of nodes, above which, the model will not be constructed and run.
# If desired to run a bigger model, make this number larger.
maxNumNodes = 1000000

# Minimum thickness (meters) of cells. This thickness is used at layer contacts and telescopes to thicker cells 
# away from the contact.
fine_grid_thk = 0.05

# Minimum width (meters) of cells in the radial direction.  Minimum width occurs near wells, and telescopes to
# greater distance away from wells.
fine_grid_width = 0.5

# Maximum grid width and thickness (meters) of cells in the in any direction. This allows setting an upper limit to the widest cells
# if desired.  If no upper limit is desired, make this arbitrarily large. 
max_width = 200.0
max_thick = 200.0
max_well_thick = 10.0

# Telescope factor: rate at which element thickness increases from fine_grid_thk
telescope_factor_vert = 1.3

# Telescope factor: rate at which element thickness increases from fine_grid_width
telescope_factor_horiz = 1.3

#       ------Well properties--------------

# SUTRA only allows prescribing a single density of solid material. So properties that depend on density may need
# to be adjusted here. The value used in prescribed as RHOS in the User_Specified_Parameters.txt file. For these
# simulations, compressibility of the solid should not be a factor, but only one value is allowed there too.

# Porosity (unitless) of the open well should be 1.0, though if convergence issues occur, this can be adjusted.
openWell_poros = 1.0
# Porosity (unitless) of construction material that will insulate well from surrounding geology. 
insulation_poros = 0.12

# When estimating permeability of cells for the open well, the maximum k of any layer is used, times this factor.
# e.g., a value of 10 gives permeability 10x higher. This ensures the well is the most permeable "unit".
open_kFactor = 1000000

# When estimating permeability of cells for the insulation material, the minimum k of any layer is used, times this factor.
# e.g., a value of 0.1 gives permeability of 1/10 the lowest permeability. This ensures the well annulus is not a conduit.
insulation_kFactor = 0.000001


#     -----Define distance to boundaries.--------------

# Minimum allowable distance from wells to horizontal boundaries in meters.  This distance will be checked below
# to ensure that this distance is at least far enough to avoid thermal conduction boundary interference.
# Making this small, will result in estimating boundaries based on simulation parameters.  Making this large will
# enforce a larger simulation area. 
min_boundary_distance_horiz = 100

# A second check of boundary distance will be used to ensure there's enough volume within the domain to store the 
# volume (cylinder) of heated/cooled water (assuming no heat exchange with aquifer).  This estimate assumes piston flow,
# so dispersion will cause a larger radius to be required.  Heat exhange with aquifer skeleton would make the radius 
# smaller during the simulation. This parameter is a multiplier of one volume of annual stored heat.
num_volumes = 7

# To compute a safe distance to ensure minimal interaction with the boundaries due to conduction, we need an 
# estimate of time.  We choose the following number times the total simulation duration (i.e., significantly
# longer than the simulation).
howManyTimeSteps = 15

#     ------------Time-stepping telescope parameters.----------

# Minimum time step in seconds. For every stress period in pumping_info_file, the time step reverts to this minimum
# to allow for short timesteps when pumping changes.
min_t_step = 1.0

# Maximum time step in seconds (make this smaller if we have convergence issues)
max_t_step = 864000.0

# Multiplier for telescope (make this smaller if we have convergence issues)
mult_t_step = 3.0

# Maximum number of observation outputs to put on a single line in the .obs file. This has no effect on .obc files. See SUTRA manual.
NOBLIN = 40

# Choose whether or not to use outer iterations to resolve non-linearities for the steady and transient simulations.
# True uses outer iterations, and False does not. (Make both "True" if there are stability issues)
useNonLin4steady = True
useNonLin4transient = False

# See SUTRA manual. Making GNUP too large may create convergence issues. 
# Both of these may need to be tuned based on grid spacing. Provost can help with tuning.
# Make GNUU bigger if the code kicks us out because of steady simulation heat budget errors. 
GNUP = 1.0
GNUU = 1.0

#-------------[End modeler specified parameters]------------------