# Define some meta-data about the simulation
MetaData:
  run_name:   Name of the sim in less than 256 characters.  # The name of the simulation. This is written into the snapshot headers.

# Define the system of units to use internally.
InternalUnitSystem:
  UnitMass_in_cgs:     1   # Grams
  UnitLength_in_cgs:   1   # Centimeters
  UnitVelocity_in_cgs: 1   # Centimeters per second
  UnitCurrent_in_cgs:  1   # Amperes
  UnitTemp_in_cgs:     1   # Kelvin

# Values of some physical constants
PhysicalConstants:
  G:            6.67408e-8  # (Optional) Overwrite the value of Newton's constant used internally by the code.
  mu_0:         1.2566370e1 # (Optional) Overwrite the value of the vacuum permeability used internally by the code.
  
# Cosmological parameters
Cosmology:
  h:              0.6777        # Reduced Hubble constant
  a_begin:        0.0078125     # Initial scale-factor of the simulation
  a_end:          1.0           # Final scale factor of the simulation
  Omega_m:        0.307         # Matter density parameter
  Omega_lambda:   0.693         # Dark-energy density parameter
  Omega_b:        0.0482519     # Baryon density parameter
  Omega_r:        0.            # (Optional) Radiation density parameter
  w_0:            -1.0          # (Optional) Dark-energy equation-of-state parameter at z=0.
  w_a:            0.            # (Optional) Dark-energy equation-of-state time evolution parameter.
  T_nu_0:         1.9514        # (Optional) Present-day neutrino temperature in internal units, used for massive neutrinos
  N_ur:           1.0196        # (Optional) Number of ultra-relativistic species (e.g. massless neutrinos). Assumes instantaneous decoupling T_ur/T_g=(4/11)^(1/3). Cannot be used together with Omega_r.
  N_nu:           2             # (Optional) Integer number of massive neutrinos. Note that neutrinos do NOT contribute to Omega_m = Omega_cdm + Omega_b in our conventions.
  M_nu_eV:        0.05, 0.01    # (Optional) Comma-separated list of N_nu nonzero neutrino masses in electron-volts
  deg_nu:         1.0, 1.0      # (Optional) Comma-separated list of N_nu neutrino degeneracies (default values of 1.0)

# Parameters for the hydrodynamics scheme
SPH:
  resolution_eta:                      1.2348   # Target smoothing length in units of the mean inter-particle separation (1.2348 == 48Ngbs with the cubic spline kernel).
  CFL_condition:                       0.1      # Courant-Friedrich-Levy condition for time integration.
  use_mass_weighted_num_ngb:           0        # (Optional) Are we using the mass-weighted definition of the number of neighbours?
  h_tolerance:                         1e-4     # (Optional) Relative accuracy of the Netwon-Raphson scheme for the smoothing lengths.
  h_max:                               10.      # (Optional) Maximal allowed smoothing length in internal units. Defaults to FLT_MAX if unspecified.
  h_min_ratio:                         0.       # (Optional) Minimal allowed smoothing length in units of the softening. Defaults to 0 if unspecified.
  max_volume_change:                   1.4      # (Optional) Maximal allowed change of kernel volume over one time-step.
  max_ghost_iterations:                30       # (Optional) Maximal number of iterations allowed to converge towards the smoothing length.
  particle_splitting:                  1        # (Optional) Are we splitting particles that are too massive (default: 0)
  particle_splitting_mass_threshold:   7e-4     # (Optional) Mass threshold for particle splitting (in internal units)
  particle_splitting_log_extra_splits: 0        # (Optional) Are we logging the splits beyond the maximal allowed into files? (default: 0)
  generate_random_ids:                 0        # (Optional) When creating new particles via splitting, generate ids at random (1) or use new IDs beyond the current range (0) (default: 0)
  initial_temperature:                 0        # (Optional) Initial temperature (in internal units) to set the gas particles at start-up. Value is ignored if set to 0.
  minimal_temperature:                 0        # (Optional) Minimal temperature (in internal units) allowed for the gas particles. Value is ignored if set to 0.
  H_mass_fraction:                     0.755    # (Optional) Hydrogen mass fraction used for initial conversion from temp to internal energy. Default value is derived from the physical constants.
  H_ionization_temperature:            1e4      # (Optional) Temperature of the transition from neutral to ionized Hydrogen for primoridal gas.
  viscosity_alpha:                     0.8      # (Optional) Override for the initial value of the artificial viscosity. In schemes that have a fixed AV, this remains as alpha throughout the run.
  viscosity_alpha_max:                 2.0      # (Optional) Maximal value for the artificial viscosity in schemes that allow alpha to vary.
  viscosity_alpha_min:                 0.1      # (Optional) Minimal value for the artificial viscosity in schemes that allow alpha to vary.
  viscosity_length:                    0.1      # (Optional) Decay length for the artificial viscosity in schemes that allow alpha to vary.
  diffusion_alpha:                     0.0      # (Optional) Override the initial value for the thermal diffusion coefficient in schemes with thermal diffusion.
  diffusion_beta:                      0.01     # (Optional) Override the decay/rise rate tuning parameter for the thermal diffusion.
  diffusion_alpha_max:                 1.0      # (Optional) Override the maximal thermal diffusion coefficient that is allowed for a given particle.
  diffusion_alpha_min:                 0.0      # (Optional) Override the minimal thermal diffusion coefficient that is allowed for a given particle.

# Parameters of the stars
Stars:
  resolution_eta:                      1.2348          # (Optional) Target smoothing length in units of the mean inter-particle separation (1.2348 == 48Ngbs with the cubic spline kernel). Defaults to the SPH value.
  h_tolerance:                          1e-4           # (Optional) Relative accuracy of the Netwon-Raphson scheme for the smoothing lengths. Defaults to the SPH value.
  max_ghost_iterations:                 30             # (Optional) Maximal number of iterations allowed to converge towards the smoothing length. Defaults to the SPH value.
  max_volume_change:                     1.4           # (Optional) Maximal allowed change of kernel volume over one time-step. Defaults to the SPH value.
  overwrite_birth_time:                  0             # (Optional) Do we want to overwrite the birth time of the stars read from the ICs? (default: 0).
  birth_time:                           -1             # (Optional) Initial birth times of *all* the stars to be used if we are overwriting them. (-1 means the stars remain inactive feedback-wise througout the run).
  overwrite_birth_density:               0             # (Optional) Do we want to overwrite the birth density of the stars read from the ICs? (default: 0).
  birth_density:                        -1             # (Optional) Initial birth densities of *all* the stars to be used if we are overwriting them.
  overwrite_birth_temperature:           0             # (Optional) Do we want to overwrite the birth temperature of the stars read from the ICs? (default: 0).
  birth_temperature:                    -1             # (Optional) Initial birth temperatures of *all* the stars to be used if we are overwriting them.
  timestep_age_threshold_unlimited_Myr: 1000.          # (Optional) Age above which stars have no time-step restriction any more (in Mega-years). Defaults to 0.
  timestep_age_threshold_Myr:           10.            # (Optional) Age at which stars switch from young to old for time-stepping purposes (in Mega-years). Defaults to FLT_MAX.
  max_timestep_young_Myr:               0.1            # (Optional) Maximal time-step length of young stars (in Mega-years). Defaults to FLT_MAX.
  max_timestep_old_Myr:                 1.0            # (Optional) Maximal time-step length of old stars (in Mega-years). Defaults to FLT_MAX.
  luminosity_filename:                  ./photometry   # In the EAGLE & COLIBRE models, directory where the photometry tables are stored.
  # MOSAICS GC model parameters. Number of models set   in configuration (--with-mosaics-multiphys)
  fixed_CFE:                            [-1.]          # Value of fixed cluster formation efficiency,         otherwise locally varying (when fixed_CFE <= 0). One value for each MOSAICS_MULTIPHYS model.
  power_law_clMF:                       [0]            # Use a power-law or Schechter mass function? One      value for each MOSAICS_MULTIPHYS model.
  fixed_Mcstar:                         [0.]           # Value of fixed Schechter mass function  truncation.  One value for each MOSAICS_MULTIPHYS model.
  clMF_slope:                           [2.]           # Cluster mass function power-law index M^(-alpha).    One value for each MOSAICS_MULTIPHYS model.
  clusters_King_W0:                     5.0            # Fixed King 1966 density profile parameter
  clusters_rh:                          4.0            # Fixed cluster half-mass radii, in pc
  clusters_tidal_shocks:                1              # Turn on tidal shock mass loss?
  clusters_evaporation:                 1              # Turn on evaporation mass loss?
  Spitzer_evap_term:                    1              # Add the Spitzer isolated term to evaporation?
  met_dep_evaporation:                  1              # Add metallicity (BH fraction) dependence to evaporation?
  Omega_is_lambda2:                     0              # For calculating circular frequency from tidal tensor eigenvalues. Use Omega^2 = -lambda_2, otherwise sum(-lambda/3)
  min_fgas_cell_width:                  0.1            # Minimum cell width for gas fraction calculation, in kpc
  use_subgrid_velocity_dispersion:      0              # Use only the subgrid turbulent component for velocity dispersion
  clMF_min:                             100.0          # Cluster mass function minimum, in Msun
  clMF_min_evolve:                      500.0          # Initial lowest cluster mass to evolve, in Msun.
  clMF_max:                             1e9            # Cluster mass function maximum, in Msun
  GMC_SFE:                              0.1            # Integrated star formation efficiency in collapse of GMC to determine Mcstar
  Mgmc_Larson_relation:                 1              # Calculate GMC mass from Larson-type M-sigma relation M = c * sigma^m
  GMC_m_sigma_index:                    4.0            # Power law index for Larson-type M-sigma relation
  GMC_m_sigma_const:                    3000.0         # Constant for Larson-type M-sigma relation, in Msun
  fixed_sound_speed:                    -1             # Sound speed of cold ISM in m/s. Only necessary with subgrid velocity dispersion
  CFE_sflaw:                            0              # Star formation law for CFE. 0: Elmegreen 02; 1: Krumholz & McKee 05
  CFE_sfrff:                            0.01           # Value of constant specific star formation rate per free-fall time for CFE_sflaw=0
  CFE_qvir:                             1.3            # GMC virial parameter for CFE
  CFE_tsn:                              3.0            # Time of first SN for CFE, in Myr
  CFE_tview:                            10.0           # Time of determining the CFE, in Myr
  CFE_surfGMC_minimum:                  0.0            # Minimum GMC surface density for CFE, in Msun/pc^2
  CFE_ecore:                            0.5            # Maximum (protostellar core) SFE for CFE
  CFE_beta0:                            1e10           # Turbulent/magnetic pressure ratio for CFE
  CFE_radfb:                            0              # SN/radiative feedback mode for CFE. 0=supernova, 1=radiative, 2=both
  CFE_cruel_cradle:                     0              # Include "cruel cradle" effect for cluster disruption in CFE?
  CFE_xsurv:                            0.             # Critical overdensity for cruel cradle effect
  CFE_met_dep_fbound:                   1              # Use metallicity-dependent local bound fraction for CFE
  fbound_sat:                           0.95           # Saturation value for metallicity-dependent fbound
  fbound_scale:                         0.09           # Scale SFE value for metallicity-dependent fbound
  fbound_beta:                          1.5            # Shape parameter for metallicity-dependent fbound
  fbound_alpha:                         [1.5, 2.2]     # Low SFE power law indices for metallicity-dependent fbound
  fbound_Z:                             [0.0002, 0.02] # Total metal mass fraction corresponding to alpha values for metallicity-dependent fbound
  gamma_W5:                             0.65           # Evaporation law exponent for W0=5 King profile
  gamma_W7:                             0.80           # Evaporation law exponent for W0=7 King profile
  gamma_max_Zdep:                       1.33           # Maximum value of metallicity-dependent evaporation exponent gamma
  Z_gamma_max:                          0.0006         # Total metal mass fraction at maximum gamma value for metallicity-dependent evaporation
  Z_gamma_min:                          0.017          # Total metal mass fraction at minimum gamma value for metallicity-dependent evaporation
  fixed_evap_t0:                        -1             # Use a fixed evaporation disruption time, in Myr
  const_t0evap_W0_5:                    20.9           # Dissolution timescales for King profile W0=5, in Myr
  const_t0evap_W0_7:                    6.1            # Dissolution timescales for King profile W0=7, in Myr
  const_tidesun:                        7.005e-4       # Tidal field strength at Solar radius, in Myr^-2
  
# Parameters for the self-gravity scheme
Gravity:
  mesh_side_length:              128       # Number of cells along each axis for the periodic gravity mesh (must be even).
  distributed_mesh:              0         # (Optional) Are we using a distributed mesh when running over MPI (necessary for meshes > 1290^3)
  mesh_uses_local_patches:       1         # (Optional) Are we using thread-local patches (1) or direct atomic writes to the global mesh (0) in the non-MPI case?
  eta:                           0.025     # Constant dimensionless multiplier for time integration.
  MAC:                           adaptive  # Choice of mulitpole acceptance criterion: 'adaptive' OR 'geometric'.
  epsilon_fmm:                   0.001     # Tolerance parameter for the adaptive multipole acceptance criterion.
  theta_cr:                      0.7       # Opening angle for the purely gemoetric criterion.
  use_tree_below_softening:      0         # (Optional) Can the gravity code use the multipole interactions below the softening scale?
  allow_truncation_in_MAC:       0         # (Optional) Can the Multipole acceptance criterion use the truncated force estimator?
  comoving_DM_softening:         0.0026994 # Comoving Plummer-equivalent softening length for DM particles (in internal units).
  max_physical_DM_softening:     0.0007    # Maximal Plummer-equivalent softening length in physical coordinates for DM particles (in internal units).
  comoving_baryon_softening:     0.0026994 # Comoving Plummer-equivalent softening length for baryon particles (in internal units).
  max_physical_baryon_softening: 0.0007    # Maximal Plummer-equivalent softening length in physical coordinates for baryon particles (in internal units).
  comoving_nu_softening:         0.0026994 # Comoving Plummer-equivalent softening length for neutrino particles (in internal units).
  max_physical_nu_softening:     0.0007    # Maximal Plummer-equivalent softening length in physical coordinates for neutrino particles (in internal units).
  softening_ratio_background:    0.04      # Fraction of the mean inter-particle separation to use as Plummer-equivalent softening for the background DM particles.
  max_adaptive_softening:        FLT_MAX   # (Optional) Maximal Plummer-equivalent co-moving adaptive softening (in internal units).
  min_adaptive_softening:        0.        # (Optional) Minimal Plummer-equivalent co-moving adaptive softening (in internal units).
  rebuild_frequency:             0.01      # (Optional) Frequency of the gravity-tree rebuild in units of the number of g-particles (this is the default value).
  rebuild_active_fraction:       1.01      # (Optional) Fraction of active gravity particles needed to trigger a gravity-tree rebuild (not triggered by this if > 1, which is the default value).
  a_smooth:                      1.25      # (Optional) Smoothing scale in top-level cell sizes to smooth the long-range forces over (this is the default value).
  r_cut_max:                     4.5       # (Optional) Cut-off in number of top-level cells beyond which no FMM forces are computed (this is the default value).
  r_cut_min:                     0.1       # (Optional) Cut-off in number of top-level cells below which no truncation of FMM forces are performed (this is the default value).

# Parameters when running with SWIFT_GRAVITY_FORCE_CHECKS 
ForceChecks:
  only_when_all_active: 1  # (Optional) Only compute exact forces during timesteps when all gparts are active (default: 0).
  only_at_snapshots:    1  # (Optional) Only compute exact forces during timesteps when a snapshot is being dumped (default: 0).
  exact_gravity_check_types:     [0, 1, 0, 0, 0, 0, 0] # (Optional) What particle types to check for in the exact gravity N^2 algorithm. (defaults to all types)

# Parameters related to the Friends-Of-Friends halo finding
FOF:
  basename:                        fof_output  # Filename for the FOF outputs (Unused when FoF is only run to seed BHs).
  scale_factor_first:              0.91        # Scale-factor of first FoF black hole seeding calls (needed for cosmological runs).
  time_first:                      0.2         # Time of first FoF black hole seeding calls (needed for non-cosmological runs).	
  delta_time:                      1.005       # Time between consecutive FoF black hole seeding calls.
  min_group_size:                  256         # The minimum no. of particles required for a group.
  linking_length_ratio:            0.2         # Linking length in units of the main inter-particle separation.
  seed_black_holes_enabled:        1           # Enable (1) or disable (0) seeding of black holes in FoF groups
  dump_catalogue_when_seeding:     1           # Enable (1) or disable (0) dumping a group catalogue when runnning FOF for seeding purposes.
  black_hole_seed_halo_mass_Msun:  1.5e10      # Minimal halo mass in which to seed a black hole (in solar masses).
  absolute_linking_length:         -1.         # (Optional) Absolute linking length (in internal units). When not set to -1, this will overwrite the linking length computed from 'linking_length_ratio'.
  group_id_default:                2147483647  # (Optional) Sets the group ID of particles in groups below the minimum size. Defaults to 2^31 - 1 if unspecified. Has to be positive.
  group_id_offset:                 1           # (Optional) Sets the offset of group ID labeling. Defaults to 1 if unspecified.
  output_list_on:                  0           # (Optional) Enable the output list
  output_list:       ./output_list_fof.txt     # (Optional) File containing the output times (see documentation in "Parameter File" section)
  linking_types:   [0, 1, 0, 0, 0, 0, 0]       # Use DM as the primary FOF linking type
  attaching_types: [1, 0, 0, 0, 1, 1, 0]       # Use gas, stars and black holes as FOF attachable types

# Parameters for the task scheduling
Scheduler:
  nr_queues:                 0         # (Optional) The number of task queues to use. Use 0  to let the system decide.
  cell_max_size:             8000000   # (Optional) Maximal number of interactions per task if we force the split (this is the default value).
  cell_sub_size_pair_hydro:  256000000 # (Optional) Maximal number of hydro-hydro interactions per sub-pair hydro/star task (this is the default value).
  cell_sub_size_self_hydro:  32000     # (Optional) Maximal number of hydro-hydro interactions per sub-self hydro/star task (this is the default value).
  cell_sub_size_pair_stars:  256000000 # (Optional) Maximal number of hydro-star interactions per sub-pair hydro/star task (this is the default value).
  cell_sub_size_self_stars:  32000     # (Optional) Maximal number of hydro-star interactions per sub-self hydro/star task (this is the default value).
  cell_sub_size_pair_grav:   256000000 # (Optional) Maximal number of interactions per sub-pair gravity task  (this is the default value).
  cell_sub_size_self_grav:   32000     # (Optional) Maximal number of interactions per sub-self gravity task  (this is the default value).
  cell_split_size:           400       # (Optional) Maximal number of particles per cell (this is the default value).
  grid_split_threshold:      400       # (Optional) Maximal number of particles per cell at construction level of Voronoi grid (this is the default value).
  cell_subdepth_diff_grav:   4         # (Optional) Maximal depth difference between leaves and a cell that gravity tasks can be pushed down to (this is the default value).
  cell_extra_parts:          0         # (Optional) Number of spare parts per top-level allocated at rebuild time for on-the-fly creation.
  cell_extra_gparts:         0         # (Optional) Number of spare gparts per top-level allocated at rebuild time for on-the-fly creation.
  cell_extra_sparts:         100       # (Optional) Number of spare sparts per top-level allocated at rebuild time for on-the-fly creation.
  max_top_level_cells:       12        # (Optional) Maximal number of top-level cells in any dimension. The number of top-level cells will be the cube of this (this is the default value).
  tasks_per_cell:            0.0       # (Optional) The average number of tasks per cell. If not large enough the simulation will fail (means guess...).
  links_per_tasks:           25        # (Optional) The average number of links per tasks (before adding the communication tasks). If not large enough the simulation will fail (means guess...). Defaults to 10.
  mpi_message_limit:         4096      # (Optional) Maximum MPI task message size to send non-buffered, KB.
  engine_max_parts_per_ghost:    1000  # (Optional) Maximum number of parts per ghost.
  engine_max_sparts_per_ghost:   1000  # (Optional) Maximum number of sparts per ghost.
  engine_max_parts_per_cooling: 10000  # (Optional) Maximum number of parts per cooling task.
  engine_redist_alloc_margin:     1.2  # (Optional) Multiplier factor for the number of local particles to allocate on a given rank.
  engine_foreign_alloc_margin:    1.05 # (Optional) Multiplier factor for the number of foreign particles to allocate on a given rank.
  dependency_graph_frequency:       0  # (Optional) Dumping frequency of the dependency graph. By default, writes only at the first step.
  dependency_graph_cell:            0  # (Optional) Write the dependency graph for a single cell with the same frequency as the full dependency graph. Select which cell to write using its cellID specified with this parameter.
  task_level_output_frequency:      0  # (Optional) Dumping frequency of the task level data. By default, writes only at the first step.
  free_foreign_during_restart:      0  # (Optional) Should the code free the foreign data when dumping restart files in order to get breathing space?
  free_foreign_during_rebuild:      0  # (Optional) Should the code free the foreign data when calling a rebuld in order to get breathing space?
  deadlock_waiting_time_s:          0. # (Optional) If runners didn't fetch a new task from a queue after this many seconds, assume swift deadlocked and abort. Non-positive values turn the detector off. Needs --enable-debugging-checks and MPI to take effect.

# Parameters governing the time integration (Set dt_min and dt_max to the same value for a fixed time-step run.)
TimeIntegration:
  time_begin:          0.    # The starting time of the simulation (in internal units).
  time_end:            1.    # The end time of the simulation (in internal units).
  dt_min:              1e-6  # The minimal time-step size of the simulation (in internal units).
  dt_max:              1e-2  # The maximal time-step size of the simulation (in internal units).
  max_dt_RMS_factor:   0.25  # (Optional) Dimensionless factor for the maximal displacement allowed based on the RMS velocities.
  dt_RMS_use_gas_only: 0     # (Optional) When computing the max RMS dt, should only the gas particles be considered in the baryon component calculation?
  max_nr_rt_subcycles: 0     # (Optional) Maximal number of radiative transfer sub-cycles per hydro step for any particle. Set = 0 to disable subcycling. Needs to be a power of 2.
  
# Parameters governing the snapshots
Snapshots:
  basename:   output      # Common part of the name of output files.
  subdir:     dir         # (Optional) Sub-directory in which to write the snapshots. Defaults to "" (i.e. the directory where SWIFT is run).
  scale_factor_first: 0.1 # (Optional) Scale-factor of the first snapshot if cosmological time-integration.
  time_first: 0.          # (Optional) Time of the first output if non-cosmological time-integration (in internal units)
  delta_time: 0.01        # Time difference between consecutive outputs (in internal units)
  invoke_stf: 0           # (Optional) Call VELOCIraptor every time a snapshot is written irrespective of the VELOCIraptor output strategy.
  invoke_fof: 0           # (Optional) Call FOF every time a snapshot is written
  invoke_ps:  0           # (Optional) Call a power-spectrum calculation every time a snapshot is written
  compression: 0          # (Optional) Set the level of GZIP compression of the HDF5 datasets [0-9]. 0 does no compression. The lossless compression is applied to *all* the fields.
  distributed: 0          # (Optional) When running over MPI, should each rank write a partial snapshot or do we want a single file? 1 implies one file per MPI rank.
  lustre_OST_checks: 0    # (Optional) Perform OST selection checks
  lustre_OST_free: 0      # (Optional) OST free space requirement, -1 for guess.
  lustre_OST_test: 0      # (Optional) Check that OSTs are writable.
  use_delta_from_edge: 0  # (Optional) Should particles close to the box edge be moved back towards 0 by a vector perpendicular to the box edge? This is useful in cases where lossy compression moves particle beyond the edge.
  delta_from_edge:     0. # (Optional) Norm of the vector to use when moving particles away from the edge
  UnitMass_in_cgs:     1  # (Optional) Unit system for the outputs (Grams)
  UnitLength_in_cgs:   1  # (Optional) Unit system for the outputs (Centimeters)
  UnitVelocity_in_cgs: 1  # (Optional) Unit system for the outputs (Centimeters per second)
  UnitCurrent_in_cgs:  1  # (Optional) Unit system for the outputs (Amperes)
  UnitTemp_in_cgs:     1  # (Optional) Unit system for the outputs (Kelvin)
  output_list_on:      0  # (Optional) Enable the output list
  output_list:         snaplist.txt # (Optional) File containing the output times (see documentation in "Parameter File" section)
  select_output_on:    0  # (Optional) Enable the output selection behaviour
  select_output:       selectoutput.yml # (Optional) File containing information to select outputs with (see documentation in the "Output Selection" section)
  run_on_dump:         0 # (Optional) Run the dump_command each time that a snapshot is dumped?
  dump_command:        ./submit_velociraptor.sh # (Optional) Command to run each time that a snapshot is dumped.
  recording_triggers_part:   [1e-3, 1e-2] # (Optional) Time before the snapshots where the trigger for gas particle tracers start (in internal units).
  recording_triggers_spart:  [1e-3, 1e-2] # (Optional) Time before the snapshots where the trigger for star particle tracers start (in internal units).
  recording_triggers_bpart:  [1e-3, 1e-2] # (Optional) Time before the snapshots where the trigger for BH particle tracers start (in internal units).

# Parameters governing the CSDS snapshot system
CSDS:
  delta_step:           10     # Update the particle log every this many updates
  basename:             index  # Common part of the filenames
  initial_buffer_size:  1      # (Optional) Buffer size in GB
  buffer_scale:	        10     # (Optional) When buffer size is too small, update it with required memory times buffer_scale

# Parameters governing the conserved quantities statistics
Statistics:
  delta_time:           1e-2           # Time between statistics output
  scale_factor_first:     0.1          # (Optional) Scale-factor of the first statistics dump if cosmological time-integration.
  time_first:             0.           # (Optional) Time of the first stats output if non-cosmological time-integration (in internal units)
  energy_file_name:    statistics      # (Optional) File name for statistics output
  timestep_file_name:  timesteps       # (Optional) File name for timing information output. Note: No underscores "_" allowed in file name
  rt_subcycles_file_name: rtsubcycles  # (Optional) File name for RT subcycles information output. Note: No underscores "_" allowed in file name. Has no effect if not compiled with RT enabled.
  output_list_on:      0   	       # (Optional) Enable the output list
  output_list:         statlist.txt    # (Optional) File containing the output times (see documentation in "Parameter File" section)

# Parameters related to the initial conditions
InitialConditions:
  file_name:  SedovBlast/sedov.hdf5 # The file to read
  periodic:                    1    # Are we running with periodic ICs?
  generate_gas_in_ics:         0    # (Optional) Generate gas particles from the DM-only ICs (e.g. from panphasia).
  cleanup_h_factors:           0    # (Optional) Clean up the h-factors used in the ICs (e.g. in Gadget files).
  cleanup_velocity_factors:    0    # (Optional) Clean up the scale-factors used in the definition of the velocity variable in the ICs (e.g. in Gadget files).
  cleanup_smoothing_lengths:   0    # (Optional) Clean the values of the smoothing lengths that are read in to remove stupid values. Set to 1 to activate.
  smoothing_length_scaling:    1.   # (Optional) A scaling factor to apply to all smoothing lengths in the ICs.
  stars_smoothing_length:       -1. # (Optional) Set the smoothing length of all the stars to this value (disabled by default).
  black_holes_smoothing_length: -1. # (Optional) Set the smoothing length of all the black hole to this value (disabled by default).
  shift:      [0.0,0.0,0.0]         # (Optional) A shift to apply to all particles read from the ICs (in internal units).
  replicate:  2                     # (Optional) Replicate all particles along each axis a given integer number of times. Default 1.
  remap_ids:  0                     # (Optional) Remap all the particle IDs to the range [1, NumPart].
  metadata_group_name: ICs_parameters # (Optional) Copy this HDF5 group from the initial conditions file to all snapshots, if found

# Parameters controlling restarts
Restarts:
  enable:             1          # (Optional) whether to enable dumping restarts at fixed intervals.
  save:               1          # (Optional) whether to save copies of the previous set of restart files (named .prev)
  onexit:             0          # (Optional) whether to dump restarts on exit (*needs enable*)
  subdir:             restart    # (Optional) name of subdirectory for restart files.
  basename:           swift      # (Optional) prefix used in naming restart files.
  delta_hours:        5.0        # (Optional) decimal hours between dumps of restart files.
  stop_steps:         100        # (Optional) how many steps to process before checking if the <subdir>/stop file exists. When present the application will attempt to exit early, dumping restart files first.
  max_run_time:       24.0       # (optional) Maximal wall-clock time in hours. The application will exit when this limit is reached.
  resubmit_on_exit:   0          # (Optional) whether to run a command when exiting after the time limit has been reached.
  resubmit_command:   ./resub.sh # (Optional) Command to run when time limit is reached. Compulsory if resubmit_on_exit is switched on. Note potentially unsafe.
  lustre_OST_checks: 0           # (Optional) Perform OST selection checks
  lustre_OST_free: 0             # (Optional) OST free space requirement, -1 for guess.
  lustre_OST_test: 0             # (Optional) Check that OSTs are writable.

# Parameters governing domain decomposition
DomainDecomposition:
  initial_type:     memory    # (Optional) The initial decomposition strategy: "grid",
                              #            "region", "memory", or "vectorized".
  initial_grid: [10,10,10]    # (Optional) Grid sizes if the "grid" strategy is chosen.

  synchronous:      0         # (Optional) Use synchronous MPI requests to redistribute, uses less system memory, but slower.
  repartition_type: fullcosts # (Optional) The re-decomposition strategy, one of:
                              # "none", "fullcosts", "edgecosts", "memory" or
                              # "timecosts".
  trigger:          0.05      # (Optional) Fractional (<1) CPU time difference between MPI ranks required to trigger a
                              # new decomposition, or number of steps (>1) between decompositions
  minfrac:          0.9       # (Optional) Fractional of all particles that should be updated in previous step when
                              # using CPU time trigger
  usemetis:         0         # Use serial METIS when ParMETIS is also available.
  adaptive:         1         # Use adaptive repartition when ParMETIS is available, otherwise simple refinement.
  itr:              100       # When adaptive defines the ratio of inter node communication time to data redistribution time, in the range 0.00001 to 10000000.0.
                              # Lower values give less data movement during redistributions, at the cost of global balance which may require more communication.
  use_fixed_costs:  0         # If 1 then use any compiled in fixed costs for
                              # task weights in first repartition, if 0 only use task timings, if > 1 only use
                              # fixed costs, unless none are available.

# Structure finding options (requires velociraptor)
StructureFinding:
  config_file_name:     stf_input.cfg # Name of the STF config file.
  basename:             haloes        # Common part of the name of output files.
  subdir_per_output:    stf           # (Optional) Sub-directory (within Snapshots:subdir) to use for each invocation of STF. Defaults to "" (i.e. no sub-directory)
  scale_factor_first:   0.92          # (Optional) Scale-factor of the first structure finding (cosmological run)
  time_first:           0.01          # (Optional) Time of the first structure finding output (in internal units).
  delta_time:           1.10          # (Optional) Time difference between consecutive structure finding outputs (in internal units) in simulation time intervals.
  output_list_on:       0   	      # (Optional) Enable the use of an output list
  output_list:          stflist.txt   # (Optional) File containing the output times (see documentation in "Parameter File" section)

# Parameters related to the Line-Of-Sight (SpecWizard) outputs
LineOfSight:
  basename:            los     # Basename of the files
  scale_factor_first:  0.02    # (Optional) Scale-factor of the first line-of-sight (cosmological run)
  time_first:          0.01    # (Optional) Time of the first line-of-sight output (in internal units).
  delta_time:          1.02    # (Optional) Time difference between consecutive line-of-sight outputs (in internal units) in simulation time intervals.
  output_list_on:       0      # (Optional) Enable the use of an output list
  output_list:         ./output_list_los.txt   # (Optional) File containing the output times (see documentation in "Parameter File" section)
  num_along_x:         0       # Number of sight-lines along the x-axis
  num_along_y:         0       # Number of sight-lines along the y-axis
  num_along_z:         100     # Number of sight-lines along the z-axis
  allowed_los_range_x: [0, 100.]   # (Optional) Range along the x-axis where LoS along Y or Z are allowed (Defaults to the box size).
  allowed_los_range_y: [0, 100.]   # (Optional) Range along the y-axis where LoS along X or Z are allowed (Defaults to the box size).
  allowed_los_range_z: [0, 100.]   # (Optional) Range along the z-axis where LoS along X or Y are allowed (Defaults to the box size).
  range_when_shooting_down_x: 100. # (Optional) Range along the x-axis of LoS along x (Defaults to the box size).
  range_when_shooting_down_y: 100. # (Optional) Range along the y-axis of LoS along y (Defaults to the box size).
  range_when_shooting_down_z: 100. # (Optional) Range along the z-axis of LoS along z (Defaults to the box size).

# Parameters related to the equation of state ------------------------------------------

EoS:
  isothermal_internal_energy: 20.26784      # Thermal energy per unit mass for the case of isothermal equation of state (in internal units).
  barotropic_vacuum_sound_speed: 2e4        # Vacuum sound speed (in internal units)
  barotropic_core_density:       1e-13      # Core density (in internal units)
  # Select which planetary EoS material(s) to enable for use.
  planetary_use_idg_def:    0               # Default ideal gas, material ID 0
  planetary_use_Til_iron:       1           # Tillotson iron, material ID 100
  planetary_use_Til_granite:    1           # Tillotson granite, material ID 101
  planetary_use_Til_water:      0           # Tillotson water, material ID 102
  planetary_use_Til_basalt:     0           # Tillotson basalt, material ID 103
  planetary_use_Til_ice:        0           # Tillotson ice, material ID 104
  planetary_use_Til_custom_0:   0           # Tillotson generic user-provided parameters, material IDs 19[0-9]
  planetary_use_Til_custom_1:   0
  planetary_use_Til_custom_2:   0
  planetary_use_Til_custom_3:   0
  planetary_use_Til_custom_4:   0
  planetary_use_Til_custom_5:   0
  planetary_use_Til_custom_6:   0
  planetary_use_Til_custom_7:   0
  planetary_use_Til_custom_8:   0
  planetary_use_Til_custom_9:   0
  planetary_use_HM80_HHe:   0               # Hubbard & MacFarlane (1980) hydrogen-helium atmosphere, material ID 200
  planetary_use_HM80_ice:   0               # Hubbard & MacFarlane (1980) H20-CH4-NH3 ice mix, material ID 201
  planetary_use_HM80_rock:  0               # Hubbard & MacFarlane (1980) SiO2-MgO-FeS-FeO rock mix, material ID 202
  planetary_use_SESAME_iron:    0           # SESAME iron 2140, material ID 300
  planetary_use_SESAME_basalt:  0           # SESAME basalt 7530, material ID 301
  planetary_use_SESAME_water:   0           # SESAME water 7154, material ID 302
  planetary_use_SS08_water:     0           # Senft & Stewart (2008) SESAME-like water, material ID 303
  planetary_use_AQUA:           0           # Haldemann, J. et al. (2020) water, material ID 304
  planetary_use_CMS19_H:        0           # Chabrier, G. et al. (2019) Hydrogen, material ID 305
  planetary_use_CMS19_He:       0           # Chabrier, G. et al. (2019) Hydrogen, material ID 306
  planetary_use_CD21_HHe:       0           # Chabrier & Debras (2021) H/He mixture Y=0.245 (Jupiter), material ID 307
  planetary_use_ANEOS_forsterite:   0       # ANEOS forsterite (Stewart et al. 2019), material ID 400
  planetary_use_ANEOS_iron:         0       # ANEOS iron (Stewart 2020), material ID 401
  planetary_use_ANEOS_Fe85Si15:     0       # ANEOS Fe85Si15 (Stewart 2020), material ID 402
  planetary_use_custom_0:   0               # Generic user-provided custom tables, material IDs 90[0-9]
  planetary_use_custom_1:   0
  planetary_use_custom_2:   0
  planetary_use_custom_3:   0
  planetary_use_custom_4:   0
  planetary_use_custom_5:   0
  planetary_use_custom_6:   0
  planetary_use_custom_7:   0
  planetary_use_custom_8:   0
  planetary_use_custom_9:   0
  # Tablulated EoS file paths.
  planetary_Til_custom_0_param_file:    ./EoSTables/Til_custom_0.txt
  planetary_Til_custom_1_param_file:    ./EoSTables/Til_custom_1.txt
  planetary_Til_custom_2_param_file:    ./EoSTables/Til_custom_2.txt
  planetary_Til_custom_3_param_file:    ./EoSTables/Til_custom_3.txt
  planetary_Til_custom_4_param_file:    ./EoSTables/Til_custom_4.txt
  planetary_Til_custom_5_param_file:    ./EoSTables/Til_custom_5.txt
  planetary_Til_custom_6_param_file:    ./EoSTables/Til_custom_6.txt
  planetary_Til_custom_7_param_file:    ./EoSTables/Til_custom_7.txt
  planetary_Til_custom_8_param_file:    ./EoSTables/Til_custom_8.txt
  planetary_Til_custom_9_param_file:    ./EoSTables/Til_custom_9.txt
  planetary_HM80_HHe_table_file:    ./EoSTables/HM80_HHe.txt
  planetary_HM80_ice_table_file:    ./EoSTables/HM80_ice.txt
  planetary_HM80_rock_table_file:   ./EoSTables/HM80_rock.txt
  planetary_SESAME_iron_table_file:     ./EoSTables/SESAME_iron_2140.txt
  planetary_SESAME_basalt_table_file:   ./EoSTables/SESAME_basalt_7530.txt
  planetary_SESAME_water_table_file:    ./EoSTables/SESAME_water_7154.txt
  planetary_SS08_water_table_file:      ./EoSTables/SS08_water.txt
  planetary_ANEOS_forsterite_table_file:    ./EoSTables/ANEOS_forsterite_S19.txt
  planetary_ANEOS_iron_table_file:          ./EoSTables/ANEOS_iron_S20.txt
  planetary_ANEOS_Fe85Si15_table_file:      ./EoSTables/ANEOS_Fe85Si15_S20.txt
  planetary_custom_0_table_file:    ./EoSTables/custom_0.txt
  planetary_custom_1_table_file:    ./EoSTables/custom_1.txt
  planetary_custom_2_table_file:    ./EoSTables/custom_2.txt
  planetary_custom_3_table_file:    ./EoSTables/custom_3.txt
  planetary_custom_4_table_file:    ./EoSTables/custom_4.txt
  planetary_custom_5_table_file:    ./EoSTables/custom_5.txt
  planetary_custom_6_table_file:    ./EoSTables/custom_6.txt
  planetary_custom_7_table_file:    ./EoSTables/custom_7.txt
  planetary_custom_8_table_file:    ./EoSTables/custom_8.txt
  planetary_custom_9_table_file:    ./EoSTables/custom_9.txt

# Parameters related to external potentials --------------------------------------------

# Point mass external potentials
PointMassPotential:
  useabspos:       0                   # 0 -> positions based on centre, 1 -> absolute positions
  position:        [50.,50.,50.]       # location of external point mass (internal units)
  mass:            1e10                # mass of external point mass (internal units)
  timestep_mult:   0.03                # Dimensionless pre-factor for the time-step condition
  softening:       0.05                # For point-mass-softened option

# Isothermal potential parameters
IsothermalPotential:
  useabspos:       0                   # 0 -> positions based on centre, 1 -> absolute positions
  position:        [100.,100.,100.]    # Location of centre of isothermal potential with respect to centre of the box (internal units)
  vrot:            200.                # Rotation speed of isothermal potential (internal units)
  timestep_mult:   0.03                # Dimensionless pre-factor for the time-step condition
  epsilon:         0.1                 # Softening size (internal units)

# Hernquist potential parameters
HernquistPotential:
  useabspos:       0        # 0 -> positions based on centre, 1 -> absolute positions
  position:        [100.,100.,100.]    # Location of centre of Henrquist potential with respect to centre of the box (if 0) otherwise absolute (if 1) (internal units)
  idealizeddisk:   0        # (Optional) Whether to run with idealizeddisk or without, 0 used the mass and scalelength as mandatory parameters, while 1 uses more advanced disk dependent paramters
  mass:            1e10     # (Optional 0) default parameter, Mass of the Hernquist potential
  scalelength:     10.0     # (Optional 0) default parameter, Scale length of the potential
                            # If multiple X200 values are given, only one is used, in the order M200 > V200 > R200.
  M200:            3e11     # (Optional 1a) M200 of the galaxy+halo (when used V200 and R200 are not used)
  V200:            100.     # (Optional 1b) V200 of the galaxy+halo (when used M200 and R200 are not used, if M200 is given M200 is used)
  R200:            10.      # (Optional 1c) R200 of the galaxy+halo (when used M200 and V200 are not used, if M200 or V200 are given they are used)
  h:               0.704    # (Optional 1) reduced Hubble constant
  concentration:   7.1      # (Optional 1) concentration of the Halo
  diskfraction:              0.0434370991372   # (Optional 1) Disk mass fraction (equal to MD in MakeNewDisk and GalIC)
  bulgefraction:              0.00705852860979  # (Optional 1) Bulge mass fraction (equal to MB in MakeNewDisk and GalIC)
  timestep_mult:   0.01     # Dimensionless pre-factor for the time-step condition, basically determines the fraction of the orbital time we use to do the time integration
  epsilon:         0.1      # Softening size (internal units)

# NFW potential parameters
NFWPotential:
  useabspos:          0             # 0 -> positions based on centre, 1 -> absolute positions
  position:           [0.0,0.0,0.0] # Location of centre of the NFW potential with respect to centre of the box (internal units) if useabspos=0 otherwise with respect to the 0,0,0, coordinates.
  concentration:      8.            # Concentration of the halo
  M_200:              2.0e+12       # Mass of the halo (M_200 in internal units)
  bulgefraction:      0.04          # (optional) The fraction of the halo mass in the bulge, defaults to 0.0.
  diskfraction:      0.04           # (optional) The fraction of the halo mass in the galaxy disk, defaults to 0.0.
  epsilon:            0.8           # The softening used in the NFW potential
  h:                  0.7           # The reduced Hubble constant
  timestep_mult:      0.01          # Dimensionless pre-factor for the time-step condition, basically determines fraction of orbital time we need to do an integration step

# NFW + Miyamoto-Nagai disk potential
NFW_MNPotential:
  useabspos:         0         # 0 -> positions based on centre, 1 -> absolute positions
  position:         [0.,0.,0.] # Location of centre of isothermal potential with respect to centre of the box (if 0) otherwise absolute (if 1) (internal units)
  timestep_mult:    0.01       # Dimensionless pre-factor for the time-step condition, basically determines the fraction of the orbital time we use to do the time integration
  epsilon:          0.01       # Softening size (internal units)
  concentration:    10.0       # concentration of the Halo
  M_200:            150.0      # M200 of the galaxy disk (internal units)
  critical_density: 1.37E-8    # Critical density of the Universe (internal units)
  Mdisk:            3.0        # Mass of the disk (internal units)
  Rdisk:            4.0        # Effective radius of the disk (internal units)
  Zdisk:            0.4704911  # Scale-height of the disk (internal units)

# Disk-patch potential parameters. The potential is along the x-axis.
DiscPatchPotential:
  surface_density: 10.      # Surface density of the disc (internal units)
  scale_height:    100.     # Scale height of the disc (internal units)
  x_disc:          400.     # Position of the disc along the z-axis (internal units)
  x_trunc:         300.     # (Optional) Distance from the disc along z-axis above which the potential gets truncated.
  x_max:           380.     # (Optional) Distance from the disc along z-axis above which the potential is set to 0.
  timestep_mult:   0.03     # Dimensionless pre-factor for the time-step condition
  growth_time:     5.       # (Optional) Time for the disc to grow to its final size (multiple of the dynamical time)

# Sine Wave potential
SineWavePotential:
  amplitude:        10.     # Amplitude of the sine wave (internal units)
  timestep_limit:   1.      # Time-step dimensionless pre-factor.
  growth_time:      0.      # (Optional) Time for the potential to grow to its final size.

# MWPotential2014 potential
MWPotential2014Potential:
  useabspos:        0          # 0 -> positions based on centre, 1 -> absolute positions
  position:         [0.,0.,0.] # Location of centre of potential with respect to centre of the box (if 0) otherwise absolute (if 1) (internal units)
  timestep_mult:    0.005      # Dimensionless pre-factor for the time-step condition, basically determines the fraction of the orbital time we use to do the time integration
  epsilon:          0.001      # Softening size (internal units)
  concentration:    9.823403437774843      # concentration of the Halo
  M_200_Msun:       147.41031542774076e10  # M200 of the galaxy disk (in M_sun)
  H:                1.2778254614201471     # Hubble constant in units of km/s/Mpc
  Mdisk_Msun:       6.8e10                 # Mass of the disk (in M_sun)
  Rdisk_kpc:        3.0                    # Effective radius of the disk (in kpc)
  Zdisk_kpc:        0.280                  # Scale-height of the disk (in kpc)
  amplitude_Msun_per_kpc3: 1.0e10          # Amplitude of the bulge (in M_sun/kpc^3)
  r_1_kpc:          1.0                    # Reference radius for amplitude of the bulge (in kpc)
  alpha:            1.8                    # Exponent of the power law of the bulge
  r_c_kpc:          1.9                    # Cut-off radius of the bulge (in kpc)
  potential_factors: [0.4367419745056084, 1.002641971008805, 0.022264787598364262] # Coefficients that adjust the strength of the halo (1st component), the disk (2nd component) and the bulge (3rd component)
  with_dynamical_friction: 0               # Are we running with dynamical friction ? 0 -> no, 1 -> yes
  df_lnLambda: 5.0                         # Coulomb logarithm
  df_sigma_floor_km_p_s : 10.0             # Minimum velocity dispersion for the velocity dispersion model
  df_satellite_mass_in_Msun : 1.0e10       # Satellite mass in solar mass
  df_core_radius_in_kpc: 10                # Radius below which the dynamical friction vanishes.
  df_polyfit_coeffs00: -2.96536595e-31     # Polynomial fit coefficient for the velocity dispersion model (order 16)
  df_polyfit_coeffs01:  8.88944631e-28     # Polynomial fit coefficient for the velocity dispersion model (order 15)
  df_polyfit_coeffs02: -1.18280578e-24     # Polynomial fit coefficient for the velocity dispersion model (order 14)
  df_polyfit_coeffs03:  9.29479457e-22     # Polynomial fit coefficient for the velocity dispersion model (order 13)
  df_polyfit_coeffs04: -4.82805265e-19     # Polynomial fit coefficient for the velocity dispersion model (order 12)
  df_polyfit_coeffs05:  1.75460211e-16     # Polynomial fit coefficient for the velocity dispersion model (order 11)
  df_polyfit_coeffs06: -4.59976540e-14     # Polynomial fit coefficient for the velocity dispersion model (order 10)
  df_polyfit_coeffs07:  8.83166045e-12     # Polynomial fit coefficient for the velocity dispersion model (order 9)
  df_polyfit_coeffs08: -1.24747700e-09     # Polynomial fit coefficient for the velocity dispersion model (order 8)
  df_polyfit_coeffs09:  1.29060404e-07     # Polynomial fit coefficient for the velocity dispersion model (order 7)
  df_polyfit_coeffs10: -9.65315026e-06     # Polynomial fit coefficient for the velocity dispersion model (order 6)
  df_polyfit_coeffs11:  5.10187806e-04     # Polynomial fit coefficient for the velocity dispersion model (order 5)
  df_polyfit_coeffs12: -1.83800281e-02     # Polynomial fit coefficient for the velocity dispersion model (order 4)
  df_polyfit_coeffs13:  4.26501444e-01     # Polynomial fit coefficient for the velocity dispersion model (order 3)
  df_polyfit_coeffs14: -5.78038064e+00     # Polynomial fit coefficient for the velocity dispersion model (order 2)
  df_polyfit_coeffs15:  3.57956721e+01     # Polynomial fit coefficient for the velocity dispersion model (order 1)
  df_polyfit_coeffs16:  1.85478908e+02     # Polynomial fit coefficient for the velocity dispersion model (order 0)
  df_timestep_mult : 0.1                   # Dimensionless pre-factor for the time-step condition for the dynamical friction force

# Parameters related to forcing terms     ----------------------------------------------

# Roberts' flow (Tilgner & Brandenburg, 2008, MNRAS, 391, 1477) where the velocity is imposed
RobertsFlowForcing:
  u0:              1.5      # Forcing velocity (internal units)
  Vz_factor:       1.0      # (optional) Scaling of the velocity along the z axis

# Roberts' flow (Tilgner & Brandenburg, 2008, MNRAS, 391, 1477) where the forcing is an acceleration
RobertsFlowAccelerationForcing:
  u0:              1.5      # Forcing velocity (internal units)
  nu:              1.0      # Viscosity (internal units) to convert velocities to accelerations.
  Vz_factor:       1.0      # (optional) Scaling of the velocity along the z axis
  
# Parameters related to entropy floors    ----------------------------------------------

EAGLEEntropyFloor:
  Jeans_density_threshold_H_p_cm3: 0.1       # Physical density above which the EAGLE Jeans limiter entropy floor kicks in expressed in Hydrogen atoms per cm^3.
  Jeans_over_density_threshold:    10.       # Overdensity above which the EAGLE Jeans limiter entropy floor can kick in.
  Jeans_temperature_norm_K:        8000      # Temperature of the EAGLE Jeans limiter entropy floor at the density threshold expressed in Kelvin.
  Jeans_gamma_effective:           1.3333333 # Slope the of the EAGLE Jeans limiter entropy floor
  Cool_density_threshold_H_p_cm3:  1e-5      # Physical density above which the EAGLE Cool limiter entropy floor kicks in expressed in Hydrogen atoms per cm^3.
  Cool_over_density_threshold:     10.       # Overdensity above which the EAGLE Cool limiter entropy floor can kick in.
  Cool_temperature_norm_K:         8000      # Temperature of the EAGLE Cool limiter entropy floor at the density threshold expressed in Kelvin.
  Cool_gamma_effective:            1.        # Slope the of the EAGLE Cool limiter entropy floor

# Parameters for the COLIBRE "equation of state"
COLIBREEntropyFloor:
  Jeans_density_norm_H_p_cm3: 0.1        # Physical density above which the COLIBRE Jeans limiter entropy floor kicks in expressed in Hydrogen atoms per cm^3.
  Jeans_temperature_norm_K:   10.        # Temperature of the COLIBRE Jeans limiter entropy floor at the density normalisation expressed in Kelvin.
  Jeans_gamma_effective:      1.3333333  # Slope the of the COLIBRE Jeans limiter entropy floor
  Cool_density_norm_H_p_cm3:  1e-5       # Physical density above which the COLIBRE Cool limiter entropy floor kicks in expressed in Hydrogen atoms per cm^3.
  Cool_temperature_norm_K:    -1.        # Temperature of the COLIBRE Cool limiter entropy floor at the density normalisation expressed in Kelvin.
  Cool_gamma_effective:       1.         # Slope the of the COLIBRE Cool limiter entropy floor

# Parameters for the Quick Lyman-alpha floor
QLAEntropyFloor:
  density_threshold_H_p_cm3: 0.1       # Physical density above which the entropy floor kicks in expressed in Hydrogen atoms per cm^3.
  over_density_threshold:    10.       # Overdensity above which the entropy floor can kick in.
  temperature_norm_K:        8000      # Temperature of the entropy floor at the density threshold expressed in Kelvin.


# Parameters related to pressure floors    ----------------------------------------------

GEARPressureFloor:
  jeans_factor: 10.       # Number of particles required to suppose a resolved clump and avoid the pressure floor.


# Parameters related to cooling function  ----------------------------------------------

# Constant du/dt cooling function
ConstCooling:
  cooling_rate: 1.          # Cooling rate (du/dt) (internal units)
  min_energy:   1.          # Minimal internal energy per unit mass (internal units)
  cooling_tstep_mult: 1.    # Dimensionless pre-factor for the time-step condition

# Constant lambda cooling function
LambdaCooling:
  lambda_nH2_cgs:              1e-22 # Cooling rate divided by square Hydrogen number density (in cgs units [erg * s^-1 * cm^3])
  cooling_tstep_mult:          1.0   # (Optional) Dimensionless pre-factor for the time-step condition.

# Parameters of the EAGLE cooling model (Wiersma+08 cooling tables).
EAGLECooling:
  dir_name:                  ./coolingtables/  # Location of the Wiersma+08 cooling tables
  H_reion_z:                 8.5               # Redshift of Hydrogen re-ionization
  H_reion_eV_p_H:            2.0               # Energy inject by Hydrogen re-ionization in electron-volt per Hydrogen atom
  He_reion_z_centre:         3.5               # Redshift of the centre of the Helium re-ionization Gaussian
  He_reion_z_sigma:          0.5               # Spread in redshift of the  Helium re-ionization Gaussian
  He_reion_eV_p_H:           2.0               # Energy inject by Helium re-ionization in electron-volt per Hydrogen atom
  Ca_over_Si_in_solar:       1.                # (Optional) Ratio of Ca/Si to use in units of solar. If set to 1, the code uses [Ca/Si] = 0, i.e. Ca/Si = 0.0941736.
  S_over_Si_in_solar:        1.                # (Optional) Ratio of S/Si to use in units of solar. If set to 1, the code uses [S/Si] = 0, i.e. S/Si = 0.6054160.

# Quick Lyman-alpha cooling (EAGLE-XL with fixed primoridal Z)
QLACooling:
  dir_name:                ./UV_dust1_CR1_G1_shield1.hdf5 # Location of the Ploeckinger+20 cooling tables
  H_reion_z:               7.5               # Redshift of Hydrogen re-ionization (Planck 2018)
  H_reion_eV_p_H:          2.0               # Energy inject by Hydrogen re-ionization in electron-volt per Hydrogen atom
  He_reion_z_centre:       3.5               # Redshift of the centre of the Helium re-ionization Gaussian
  He_reion_z_sigma:        0.5               # Spread in redshift of the  Helium re-ionization Gaussian
  He_reion_eV_p_H:         2.0               # Energy inject by Helium re-ionization in electron-volt per Hydrogen atom
  rapid_cooling_threshold: 0.333333          # Switch to rapid cooling regime for dt / t_cool above this threshold.

# PS2020 cooling parameters (EAGLE-XL)
PS2020Cooling:
  dir_name:  UV_dust1_CR1_G1_shield1.hdf5      # Location of Ploeckinger+?? cooling tables
  filebase_cool:   UVB_dust1_CR1_G1_shield1    # filebase of Ploeckinger and Schaye (2020) split cooling tables
  H_reion_z:                 8.5               # Redshift of Hydrogen re-ionization 
  H_reion_eV_p_H:            2.0               # Energy inject by Hydrogen re-ionization in electron-volt per Hydrogen atom
  He_reion_z_centre:         3.5               # Redshift of the centre of the Helium re-ionization Gaussian
  He_reion_z_sigma:          0.5               # Spread in redshift of the  Helium re-ionization Gaussian
  He_reion_eV_p_H:           2.0               # Energy inject by Helium re-ionization in electron-volt per Hydrogen atom
  Ca_over_Si_in_solar:       1.                # (Optional) Ratio of Ca/Si to use in units of solar. If set to 1, the code uses [Ca/Si] = 0 (Grevesse, Asplund, Sauval, and Scott, 2010)
  S_over_Si_in_solar:        1.                # (Optional) Ratio of Ca/Si to use in units of solar. If set to 1, the code uses [Ca/Si] = 0 (Grevesse, Asplund, Sauval, and Scott, 2010)
  delta_logTEOS_subgrid_properties: 0.2        # delta log T above the EOS below which the subgrid properties use Teq assumption
  rapid_cooling_threshold:          0.333333   # Threshold in dt / t_cool to switch between rapid- and slow-cooling modes. Negative value prevents the use of rapid cooling. Value of 1/3 is used to allow for the possiblity of the time-step size doubling.

# Cooling with CHIMES (Richings et al. 2014a, b) 
CHIMESCooling: 
  data_path:                  chimes-data      # Path to chimes-data repository 
  EqmAbundanceTable:          colibre_HHe      # Path to equilibrium abundance tables
  PhotoIonTable:              cross_sections_B87.hdf5   # Path to cross-sections table (UV_field == 'user-defined' only)
  PhotoIonTable_UVB:          SP20_cross_sections       # Path to cross-sections tables; UVB (UV_field == COLIBRE only)
  PhotoIonTable_ISRF:         cross_sections_B87.hdf5   # Path to cross-sections tables; ISRF (UV_field == COLIBRE  only) 
  UV_field:             COLIBRE                # Flag specifying radiation field model ('none', 'user-defined', 'COLIBRE')
  Shielding_model:      COLIBRE                # Flag specifying local shielding model ('none', 'Jeans length', 'COLIBRE')
  UVB_z_dependence:     COLIBRE                    # Flag to switch on redshift-dependent UVB ('constant', 'cross sections', 'COLIBRE')
  shielding_length_factor:    0.5              # Multiplicative factor to scale shielding length (Shielding_model != none only)
  max_shielding_length_kpc:   100.0            # Max shielding length in kpc (Shield_flag = 1 only)
  rad_field_norm_factor:      0.01             # Multiplicative factor to scale UV field (UV_field == user-defined only)
  init_abundance_mode:     read                # Flag to specify how to set initial CHIMES abundances ('single', 'read', 'compute')
  InitIonState:               0                # Initial ionisation state (init_abundance_mode == single only)
  colibre_metal_depletion:    1                # Flag to specify metal depletion model
  turbulent_velocity_dispersion_km_p_s:  6.0   # 1D velocity dispersion, in km/s.
  colibre_use_turbulent_jeans_length:  1       # Integer flag, 0 - use only thermal Jeans length, 1 - use maximum of thermal or turbulent Jeans length.
  colibre_saturate_radiation_field:    1       # Integer flag, 0 - no max rad field, 1 - impose max rad field.
  colibre_col_dens_saturate_rad:  1.3e22       # Column density at which the Colibre rad field saturates, in cm^-2. 
  set_FB_particles_to_eqm:    1                # Flag to set particles to eqm if they have been heated by feedback 
  destroy_FB_heated_dust:     1                # Destroy dust in the cooling step if particle directly heated, representing supernova destruction 
  relativeTolerance:          1e-3             # Relative tolerance for CHIMES intergration
  absoluteTolerance:          1e-10            # Absolute tolerance for CHIMES chemistry integration
  explicitTolerance:          0.1              # Tolerance below which we use the explicit solution in CHIMES
  scale_metal_tolerances:     1                # Flag to scale absolute tolerances by element abundance
  Tmol_K:                     1.0e5            # Maximum temperature for the molecular network
  ChemistryEqmMode:           0                # Flag to use pre-computed equilibrium abundances throughout
  ThermEvolOn:                1                # Flag to switch on thermal evolution in CHIMES
  chimes_debug:               0                # Flag to include extra debug outputs in CHIMES
  cosmic_ray_rate_cgs:        1.8e-16          # HI ionisation rate from cosmic rays in units of HI per second. (UV_field != COLIBRE only)
  max_dust_boost_factor:      100.0            # Max boost factor applied to all reactions on dust grains
  dust_boost_nH_min_cgs:      1.0              # Density below which the dust boost factor is equal to unity, in units of cm^-3
  dust_boost_nH_max_cgs:      100.0            # Density below which the dust boost factor is equal to unity, in units of cm^-3
  delta_logTEOS_subgrid_properties:  0.2       # delta logT above the EOS below which set CHIMES to eqm and use subgrid properties
  use_colibre_subgrid_EOS:    1                # Flag to set subgrid rho and T to thermal and pressure eqm on the EOS
  use_hybrid_cooling:         1                # Use hybrid cooling, to read in eqm cooling rates from metals not included in CHIMES
  rapid_cooling_threshold:    0.333333         # Threshold in dt / t_cool to switch between rapid- and slow-cooling modes. Negative value prevents the use of rapid cooling. Value of 1/3 is used to allow for the possiblity of the time-step size doubling.
  colibre_table_path:         ../UV_dust1_CR1_G1_shield1.hdf5   # Path to COLIBRE cooling tables (Ploeckinger & Schaye 2020)
  colibre_table_filebase:     UVB_dust1_CR1_G1_shield1   # Filebase of COLIBRE cooling tables split in redshift (Ploeckinger & Schaye 2020)
  UVB_cutoff_z:               127.0            # Redshift above which the UVB is switched off 
  S_over_Si_in_solar:         1.0              # S / Si relative to Solar
  Ca_over_Si_in_solar:        1.0              # Ca / Si relative to Solar
  IncludeCarbon:              0                # Include Carbon in the CHIMES network
  IncludeNitrogen:            0                # Include Nitrogen in the CHIMES network
  IncludeOxygen:              0                # Include Oxygen in the CHIMES network
  IncludeNeon:                0                # Include Neon in the CHIMES network
  IncludeMagnesium:           0                # Include Magnesium in the CHIMES network
  IncludeSilicon:             0                # Include Silicon in the CHIMES network
  IncludeSulphur:             0                # Include Sulphur in the CHIMES network
  IncludeCalcium:             0                # Include Calcium in the CHIMES network
  IncludeIron:                0                # Include Iron in the CHIMES network
  NREF_XH_const:              0.75             # (optional) Constant hydrogen mass fraction for the calculation of Nref
  NREF_mu_const:              1.24             # (optional) Constant mean particle mass for the calculation of Nref
  NREF_column_density_min_cgs: 3.086e15        # (optional) Minimum value for Nref in units of cm-2
  NREF_column_density_max_cgs: 1.e24           # (optional) Maximum value for Nref in units of cm-2
  NREF_column_length_max_kpc:  100.            # (optional) Maximum length of the column for Nref
  NREF_trans_temperature_min_K: 1.e4           # (optional) Minimum temperature of the transition to optically thin gas with Nref = NREF_column_density_min_cgs
  NREF_trans_temperature_max_K: 1.e5           # (optional) Maximum temperature of the transition to optically thin gas with Nref = NREF_column_density_min_cgs
  NREF_trans_steepness_k:     2.17             # (optional) Steepness of the transition to optically thin gas with Nref = NREF_column_density_min_cgs
  CR_rate_at_transition_cgs: 2e-16             # (optional) cosmic ray rate in s-1 at the transition column density (UV_field == COLIBRE only)
  CR_transition_column_density_cgs: 1e21       # (optional) cosmic ray transition column density from power law 1 to 2 in cm-2 (UV_field == COLIBRE only)
  CR_powerlaw_slope_1:        1.4              # (optional) cosmic rays: slope of power law 1 (UV_field == COLIBRE only)
  CR_powerlaw_slope_2:        0.0              # (optional) cosmic rays: slope of power law 2 (UV_field == COLIBRE only)
  CR_cutoff_over_density:     100.             # (optional) cosmic rays: overdensity (rel to rho_crit) cutoff (UV_field == COLIBRE only)
  CR_cutoff_phys_density_cgs: 1e-2             # (optional) cosmic rays: physical density cutoff in cm-3 (UV_field == COLIBRE only)
  CR_cutoff_width_dex:        1.0              # (optional) cosmic rays: width of cutoff in dex (gas density) (UV_field == COLIBRE only)
  CR_cutoff_steepness_k:      5.0              # (optional) cosmic rays: steepness of the cutoff (UV_field == COLIBRE only)
  ISRF_norm_at_transition_cgs: 19.0            # (optional) ISRF relative to value from cross sections file at the transition column density (UV_field == COLIBRE only)
  ISRF_transition_column_density_cgs: 1e22     # (optional) ISRF transition column density from power law 1 to 2 in cm-2 (UV_field == COLIBRE only)
  ISRF_powerlaw_slope_1:        1.4            # (optional) ISRF: slope of power law 1 (UV_field == COLIBRE only)
  ISRF_powerlaw_slope_2:        0.0            # (optional) ISRF: slope of power law 2 (UV_field == COLIBRE only)
  ISRF_cutoff_over_density:     100.           # (optional) ISRF: overdensity (rel to rho_crit) cutoff (UV_field == COLIBRE only)
  ISRF_cutoff_phys_density_cgs: 1e-2           # (optional) ISRF: physical density cutoff in cm-3 (UV_field == COLIBRE only)
  ISRF_cutoff_width_dex:        1.0            # (optional) ISRF: width of cutoff in dex (gas density) (UV_field == COLIBRE only)
  ISRF_cutoff_steepness_k:      5.0            # (optional) ISRF: steepness of the cutoff (UV_field == COLIBRE only)
  LSHmax_lowz_kpc: 50                          # (optional) LSHmax: maximum shielding length for low redshifts (z<<LSHmax_transition_redshift) in kpc
  LSHmax_highz_kpc: 10                         # (optional) LSHmax: maximum shielding length for high redshifts (z>>LSHmax_transition_redshift) in kpc
  LSHmax_transition_redshift: 7                # (optional) LSHmax: transition redshift between LSHmax_lowz_kpc and LSHmax_highz_kpc
  LSHmax_transition_width_dz: 0.2              # (optional) LSHmax: width of the transition in redshift 
  LSHmax_transition_steepness_k: 100           # (optional) LSHmax: steepness of the transition
  dust_grain_temperature_K:    10.0            # (optional) Temperature of the dust grains (defaults to 10K)

# Cooling with Grackle 3.0
GrackleCooling:
  cloudy_table: CloudyData_UVB=HM2012.h5       # Name of the Cloudy Table (available on the grackle bitbucket repository)
  with_UV_background: 1                        # Enable or not the UV background
  redshift: 0                                  # Redshift to use (-1 means time based redshift)
  with_metal_cooling: 1                        # Enable or not the metal cooling
  provide_volumetric_heating_rates: 0          # (optional) User provide volumetric heating rates
  provide_specific_heating_rates: 0            # (optional) User provide specific heating rates
  max_steps: 10000                             # (optional) Max number of step when computing the initial composition
  convergence_limit: 1e-2                      # (optional) Convergence threshold (relative) for initial composition
  thermal_time_myr: 5                          # (optional) Time (in Myr) for adiabatic cooling after a feedback event.
  self_shielding_method: -1                    # (optional) Grackle (1->3 for Grackle's ones, 0 for none and -1 for GEAR)
  self_shielding_threshold_atom_per_cm3: 0.007 # Required only with GEAR's self shielding. Density threshold of the self shielding
  maximal_density_Hpcm3:   1e4                 # Maximal density (in hydrogen atoms/cm^3) for cooling. Higher densities are floored to this value to ensure grackle works properly when interpolating beyond the cloudy_table maximal density. A value < 0 deactivates this parameter.
  HydrogenFractionByMass : 1.                  # Hydrogen fraction by mass (default is 0.76)
  use_radiative_transfer : 1                   # Arrays of ionization and heating rates are provided
  RT_heating_rate_cgs    : 0                   # heating         rate in units of / nHI_cgs 
  RT_HI_ionization_rate_cgs  : 0               # HI ionization   rate in cgs [1/s]
  RT_HeI_ionization_rate_cgs : 0               # HeI ionization  rate in cgs [1/s]
  RT_HeII_ionization_rate_cgs: 0               # HeII ionization rate in cgs [1/s]
  RT_H2_dissociation_rate_cgs: 0               # H2 dissociation rate in cgs [1/s]
  volumetric_heating_rates_cgs: 0              # Volumetric heating rate in cgs  [erg/s/cm3]
  specific_heating_rates_cgs: 0                # Specific heating rate in cgs    [erg/s/g]
  H2_three_body_rate : 1                       # Specific the H2 formation three body rate (0->5,see Grackle documentation)
  H2_cie_cooling : 0                           # Enable/disable H2 collision-induced emission cooling from Ripamonti & Abel (2004)
  H2_on_dust: 0                                # Flag to enable H2 formation on dust grains
  local_dust_to_gas_ratio : -1                 # The ratio of total dust mass to gas mass in the local Universe (-1 to use the Grackle default value). 
  cmb_temperature_floor : 1                    # Enable/disable an effective CMB temperature floor
  initial_nHII_to_nH_ratio:    -1              # initial nHII   to nH ratio (number density ratio). Value is ignored if set to -1.
  initial_nHeI_to_nH_ratio:    -1              # initial nHeI   to nH ratio (number density ratio). Value is ignored if set to -1.  
  initial_nHeII_to_nH_ratio:   -1              # initial nHeII  to nH ratio (number density ratio). Value is ignored if set to -1.
  initial_nHeIII_to_nH_ratio:  -1              # initial nHeIII to nH ratio (number density ratio). Value is ignored if set to -1.
  initial_nDI_to_nH_ratio:     -1              # initial nDI    to nH ratio (number density ratio). Value is ignored if set to -1.
  initial_nDII_to_nH_ratio:    -1              # initial nDII   to nH ratio (number density ratio). Value is ignored if set to -1.
  initial_nHM_to_nH_ratio:     -1              # initial nHM    to nH ratio (number density ratio). Value is ignored if set to -1.
  initial_nH2I_to_nH_ratio:    -1              # initial nH2I   to nH ratio (number density ratio). Value is ignored if set to -1.
  initial_nH2II_to_nH_ratio:   -1              # initial nH2II  to nH ratio (number density ratio). Value is ignored if set to -1.
  initial_nHDI_to_nH_ratio:    -1              # initial nHDI   to nH ratio (number density ratio). Value is ignored if set to -1.


  


# Parameters related to chemistry models  -----------------------------------------------

# EAGLE model
EAGLEChemistry:
  init_abundance_metal:     0.           # Initial fraction of particle mass in *all* metals
  init_abundance_Hydrogen:  0.752        # Initial fraction of particle mass in Hydrogen
  init_abundance_Helium:    0.248        # Initial fraction of particle mass in Helium
  init_abundance_Carbon:    0.000        # Initial fraction of particle mass in Carbon
  init_abundance_Nitrogen:  0.000        # Initial fraction of particle mass in Nitrogen
  init_abundance_Oxygen:    0.000        # Initial fraction of particle mass in Oxygen
  init_abundance_Neon:      0.000        # Initial fraction of particle mass in Neon
  init_abundance_Magnesium: 0.000        # Initial fraction of particle mass in Magnesium
  init_abundance_Silicon:   0.000        # Initial fraction of particle mass in Silicon
  init_abundance_Iron:      0.000        # Initial fraction of particle mass in Iron

# COLIBRE model
COLIBREChemistry:
  init_abundance_metal:             0.0133714      # Initial fraction of particle mass in *all* metals
  init_abundance_Hydrogen:          0.73738788833  # Initial fraction of particle mass in Hydrogen
  init_abundance_Helium:            0.24924186942  # Initial fraction of particle mass in Helium
  init_abundance_Carbon:            0.0023647215   # Initial fraction of particle mass in Carbon
  init_abundance_Nitrogen:          0.0006928991   # Initial fraction of particle mass in Nitrogen
  init_abundance_Oxygen:            0.00573271036  # Initial fraction of particle mass in Oxygen
  init_abundance_Neon:              0.00125649278  # Initial fraction of particle mass in Neon
  init_abundance_Magnesium:         0.00070797838  # Initial fraction of particle mass in Magnesium
  init_abundance_Silicon:           0.00066495154  # Initial fraction of particle mass in Silicon
  init_abundance_Iron:              0.00129199252  # Initial fraction of particle mass in Iron
  init_abundance_Europium:          0.0            # Initial fraction of particle mass in Europium
  metal_diffusion_constant:         0.01           # Metal diffusion constant (Smagorinsky constant)
  metal_diffusion_timestep_mult:    0.2            # Run-time parameter to control the time-step condition based on the diffusion rate.

# GEAR chemistry model (Revaz and Jablonka 2018)
GEARChemistry:
  initial_metallicity: 1         # Initial metallicity of the gas (mass fraction). If < 0, then read the metallicities from the initial conditions. This applies to all particles.
  scale_initial_metallicity: 1   # Should we scale the initial metallicity with the solar one?
  diffusion_coefficient: 1e-3    # Coefficient for the diffusion (see Shen et al. 2010; differs by gamma^2 due to h^2).

# AGORA chemistry model (Kim et al. 2014)
AGORAChemistry:
 initial_metallicity: 1
 scale_initial_metallicity: 1
 solar_abundance_Fe: 0.001771
 solar_abundance_Metals: 0.02

# Parameters related to dust evolution modelling  ------------------------------------

# All dust parameters are optional, with defaults as set below
DustEvolution:
  pair_to_cooling: 		    0	            # (Optional) Whether to override implicit dust depletion in cooling with the modelled dust depletion (default 0)
  clumping_factor_mode              chimes_synced   # clumping factor mode: 'constant' (single clumping factor), 'variable' (density dependent clumping) or 'chimes_synced (follow CHIMES dust boost)' 
  use_subgrid_props:                1               # Whether to use subgrid density/temperature or hydro (default 1)
  use_sputtering:                   1               # Include destructive effects of sputtering on dust grains (default 1)
  use_SNII_destruction:             0               # Include destructive effects of SNII on dust grains (default 0)
  use_accretion:                    1               # Include grain growth by accretion of metals (default 1)
  clumping_factor:                  100.            # Boost factor applied to accretion rate (default 1.)
  diffusion_boost_factor:	    1.         		# (Optional) Boost factor applied to diffusion rate for dust (default 1.)
  dust_yields_path:		    ./dust_yields	# (Optional) T20 dust only: Path to where AGB dust yield tables are located (default ./dust_yields)
  silicate_molecule_subscript_oxygen:		    6 # subscript for oxygen in the effective silicate molecule e.g. FeMgSi2O6 (default 6)
  silicate_molecule_subscript_magnesium:	    1 # subscript for magnesium in the effective silicate molecule e.g. FeMgSi2O6 (default 1)
  silicate_molecule_subscript_silicon:		    2 # subscript for silicon in the effective silicate molecule e.g. FeMgSi2O6 (default 2)
  silicate_molecule_subscript_iron:		    1 # subscript for iron in the effective silicate molecule e.g. FeMgSi2O6 (default 1)
  limit_depletion:		    1		   # whether to limit the depleted fraction of metals into dust grains to prevent complete depletion of elements
  undepleted_min_reduction_factor:  0.423345	   # The diffuse element limit, represented by a reduction factor to the default saturated diffuse fractions, and chosen to maintain a realistic resevoir of diffuse CO (Fuente et al 2019)
  initial_abundance_silicate:	    0.         		# (Optional) T20 dust only: Initial abundance of silicate dust (default 0.)
  initial_abundance_graphite:	    0.         		# (Optional) T20 dust only: Initial abundance of graphite dust (default 0.)
  initial_abundance_depletedC:	    0.         		# (Optional) M16 dust only: Initial abundance of dust-phase carbon (default 0.)
  initial_abundance_depletedO:	    0.         		# (Optional) M16 dust only: Initial abundance of dust-phase oxygen (default 0.)
  initial_abundance_depletedMg:	    0.         		# (Optional) M16 dust only: Initial abundance of dust-phase magnesiun (default 0.)
  initial_abundance_depletedSi:	    0.         		# (Optional) M16 dust only: Initial abundance of dust-phase silicon (default 0.)
  initial_abundance_depletedFe:	    0.         		# (Optional) M16 dust only: Initial abundance of dust-phase iron (default 0.)
  
# Parameters related to star formation models  -----------------------------------------------

# EAGLE star formation model (Schaye and Dalla Vecchia 2008)
EAGLEStarFormation:
  SF_threshold:                   Subgrid      # Zdep (Schaye 2004) or Subgrid
  SF_model:                       PressureLaw  # PressureLaw (Schaye et al. 2008) or SchmidtLaw
  star_formation_efficiency:         0.01      # In the SchmidtLaw model this regulates the star formation efficiency per free-fall time.
  KS_normalisation:                  1.515e-4  # In the PressureLaw model, normalization of the Kennicutt-Schmidt law in Msun / kpc^2 / yr.
  KS_exponent:                       1.4       # In the PressureLaw model, exponent of the Kennicutt-Schmidt law.
  KS_high_density_threshold_H_p_cm3: 1e3       # In the PressureLaw model, Hydrogen number density above which the Kennicut-Schmidt law changes slope in Hydrogen atoms per cm^3.
  KS_high_density_exponent:          2.0       # In the PressureLaw model, Slope of the Kennicut-Schmidt law above the high-density threshold.
  gas_fraction:                      0.25      # (Optional) In the PressureLaw model, The gas fraction used internally by the model (Defaults to 1).
  density_direct_H_p_cm3:            1e5       # (Optional) Density above which a gas particle gets automatically turned into a star in Hydrogen atoms per cm^3 (Defaults to FLT_MAX).
  min_over_density:                  100.0     # The over-density above which star-formation is allowed.
  EOS_entropy_margin_dex:            0.3       # When using Z-based SF threshold, logarithm base 10 of the maximal entropy above the EOS at which stars can form.
  threshold_norm_H_p_cm3:            0.1       # When using Z-based SF threshold, normalisation of the metal-dependant density threshold for star formation in Hydrogen atoms per cm^3.
  threshold_Z0:                      0.002     # When using Z-based SF threshold, reference metallicity (metal mass fraction) for the metal-dependant threshold for star formation.
  threshold_slope:                   -0.64     # When using Z-based SF threshold, slope of the metal-dependant star formation threshold
  threshold_max_density_H_p_cm3:     10.0      # When using Z-based SF threshold, maximal density of the metal-dependant density threshold for star formation in Hydrogen atoms per cm^3.
  threshold_temperature1_K:          1000      # When using subgrid-based SF threshold, subgrid temperature below which gas is star-forming.
  threshold_temperature2_K:          31622     # When using subgrid-based SF threshold, subgrid temperature below which gas is star-forming if also above the density limit.
  threshold_number_density_H_p_cm3:  10        # When using subgrid-based SF threshold, subgrid number density above which gas is star-forming if also below the second temperature limit.
  num_of_stars_per_gas_particle:     1         # (Optional) The number star particles to form per gas particle converted to stars. (Defaults to 1. Must be > 0)
  
# Quick Lyman-alpha star formation parameters
QLAStarFormation:
  over_density:              1000      # The over-density above which gas particles turn into stars.

# COLIBRE star formation model
COLIBREStarFormation:
  min_over_density:                  57.7        # Minimum over density above which star formation is allowed.
  alpha_virial:                      1.          # set the alpha virial for star forming gas, setting this variable to 0 corresponds to running without virial criterion.
  temperature_threshold_K:           1000        # (Optional) Subgrid temperature threshold below which stars are allowed to form. (Defaults to 0, i.e. no threshold).
  density_direct_H_p_cm3:            1e5         # (Optional) Density above which a gas particle gets automatically turned into a star in Hydrogen atoms per cm^3 (Defaults to infinity, i.e no threshold).
  subgrid_density_threshold_H_p_CM3: 1e2         # (Optional) Subgrid density threshold, a particle above this density is always star forming (Defaults to infinity, i.e. no threshold).
  SF_model:                          SchmidtLaw  # star formation model to use ('SchmidtLaw' or 'PressureLaw')
  star_formation_efficiency:         0.01        # Star formation efficiency (SFE) of the Schmidt law, \rho_\star = SFE * \rho / t_ff/
  KS_exponent:                       1.4         # Kennicutt-Schmidt slope for the pressure law.
  KS_normalisation_Msun_p_yr_p_kpc2: 1.515e-4    # Normalization of the Kennicutt-Schmidt slope for the pressure law.
  gas_fraction:                      1.0         # (Optional) gas fraction for pressure law, default to 1.0

# GEAR star formation model (Revaz and Jablonka 2018)
GEARStarFormation:
  star_formation_mode: default      # default (use the pressure floor limit) or agora (do not use the pressure floor limit)
  star_formation_efficiency: 0.01   # star formation efficiency (c_*)
  maximal_temperature_K:     3e4    # Upper limit to the temperature of a star forming particle
  density_threshold_Hpcm3:   10     # Density threshold (Hydrogen atoms/cm^3) for star formation
  n_stars_per_particle: 4           # Number of stars that an hydro particle can generate
  min_mass_frac: 0.5                # Minimal mass for a stellar particle as a fraction of the average mass for the stellar particles.

# Parameters related to feedback models  -----------------------------------------------

# EAGLE feedback model
EAGLEFeedback:
  use_SNII_feedback:                   1               # Global switch for SNII thermal (stochastic) feedback.
  use_SNIa_feedback:                   1               # Global switch for SNIa thermal (continuous) feedback.
  use_AGB_enrichment:                  1               # Global switch for enrichement from AGB stars.
  use_SNII_enrichment:                 1               # Global switch for enrichement from SNII stars.
  use_SNIa_enrichment:                 1               # Global switch for enrichement from SNIa stars.
  filename:                            ./yieldtables/  # Path to the directory containing the EAGLE yield tables.
  IMF_min_mass_Msun:                   0.1             # Minimal stellar mass considered for the Chabrier IMF in solar masses.
  IMF_max_mass_Msun:                 100.0             # Maximal stellar mass considered for the Chabrier IMF in solar masses.
  SNII_min_mass_Msun:                  6.0             # Minimal mass considered for SNII stars in solar masses.
  SNII_max_mass_Msun:                100.0             # Maximal mass considered for SNII stars in solar masses.
  SNII_feedback_model:                 Random          # Feedback modes: Random, Isotropic, MinimumDistance, MinimumDensity
  SNII_sampled_delay:                  1               # Sample the SNII lifetimes to do feedback.
  SNII_wind_delay_Gyr:                 0.03            # Time in Gyr between a star's birth and the SNII thermal feedback event when not sampling.
  SNII_delta_T_K:                      3.16228e7       # Change in temperature to apply to the gas particle in a SNII thermal feedback event in Kelvin.
  SNII_delta_v_km_p_s:                 200             # Velocity kick applied by the stars when doing SNII feedback (in km/s).
  SNII_energy_erg:                     1.0e51          # Energy of one SNII explosion in ergs.
  SNII_energy_fraction_function:       Independent     # Type of functional form to use for scaling the energy fraction with density and metallicity ('EAGLE', 'Separable', or 'Independent')
  SNII_energy_fraction_min:            0.3             # Minimal fraction of energy applied in a SNII feedback event.
  SNII_energy_fraction_max:            3.0             # Maximal fraction of energy applied in a SNII feedback event.
  SNII_energy_fraction_delta_E_n:      6.0             # Maximal energy increase due to high density (only used if SNII_energy_fraction_function is 'Independent').
  SNII_energy_fraction_Z_0:            0.0012663729    # Pivot point for the metallicity dependance of the SNII energy fraction (metal mass fraction).
  SNII_energy_fraction_n_0_H_p_cm3:    0.67            # Pivot point for the birth density dependance of the SNII energy fraction in cm^-3.
  SNII_energy_fraction_n_Z:            0.8686          # Power-law for the metallicity dependance of the SNII energy fraction.
  SNII_energy_fraction_n_n:            0.8686          # Power-law for the (birth) density dependance of the SNII energy fraction.
  SNII_energy_fraction_sigma_Z:        0.5             # Transition width for the metallicity dependence of the SNII energy fraction. Specify this or n_Z, both are not simultaneously accepted.
  SNII_energy_fraction_sigma_n:        0.5             # Transition width for the (birth) density dependence of the SNII energy fraction. Specify this or n_n, both are not simultaneously accepted.
  SNII_energy_fraction_use_birth_density: 0            # Are we using the density at birth to compute f_E or at feedback time?
  SNII_energy_fraction_use_birth_metallicity: 0        # Are we using the metallicity at birth to compute f_E or at feedback time?
  SNIa_DTD:                            PowerLaw        # Functional form of the SNIa delay time distribution Two choices: 'PowerLaw' or 'Exponential'.
  SNIa_DTD_delay_Gyr:                  0.04            # Stellar age after which SNIa start in Gyr (40 Myr corresponds to stars ~ 8 Msun).
  SNIa_DTD_power_law_norm_p_Msun:      0.0012          # Normalization of the SNIa delay time distribution in the power-law DTD case (in Msun^-1).
  SNIa_DTD_exp_norm_p_Msun:            0.002           # Normalization of the SNIa delay time distribution in the exponential DTD case (in Msun^-1).
  SNIa_DTD_exp_timescale_Gyr:          2.0             # Time-scale of the SNIa delay time distribution in the exponential DTD case (in Gyr).
  SNIa_energy_erg:                    1.0e51           # Energy of one SNIa explosion in ergs.
  AGB_ejecta_velocity_km_p_s:         10.0             # Velocity of the AGB ejectas in km/s.
  stellar_evolution_age_cut_Gyr:       0.1             # Stellar age in Gyr above which the enrichment is down-sampled.
  stellar_evolution_sampling_rate:      10             # Number of time-steps in-between two enrichment events for a star above the age threshold.
  SNII_yield_factor_Hydrogen:          1.0             # (Optional) Correction factor to apply to the Hydrogen yield from the SNII channel.
  SNII_yield_factor_Helium:            1.0             # (Optional) Correction factor to apply to the Helium yield from the SNII channel.
  SNII_yield_factor_Carbon:            0.5             # (Optional) Correction factor to apply to the Carbon yield from the SNII channel.
  SNII_yield_factor_Nitrogen:          1.0             # (Optional) Correction factor to apply to the Nitrogen yield from the SNII channel.
  SNII_yield_factor_Oxygen:            1.0             # (Optional) Correction factor to apply to the Oxygen yield from the SNII channel.
  SNII_yield_factor_Neon:              1.0             # (Optional) Correction factor to apply to the Neon yield from the SNII channel.
  SNII_yield_factor_Magnesium:         2.0             # (Optional) Correction factor to apply to the Magnesium yield from the SNII channel.
  SNII_yield_factor_Silicon:           1.0             # (Optional) Correction factor to apply to the Silicon yield from the SNII channel.
  SNII_yield_factor_Iron:              0.5             # (Optional) Correction factor to apply to the Iron yield from the SNII channel.

# COLIBRE feedback model
COLIBREFeedback:
  use_SNII_feedback:                1               # Global switch for SNII thermal (stochastic) feedback.
  use_SNIa_feedback:                1               # Global switch for SNIa thermal (continuous) feedback.
  use_AGB_enrichment:               1               # Global switch for enrichement from AGB stars.
  use_SNII_enrichment:              1               # Global switch for enrichement from SNII stars.
  use_SNIa_enrichment:              1               # Global switch for enrichement from SNIa stars.
  with_r_process_enrichment:        1               # Global switch for r process enrichment from neutron star mergers and rare core-collapse SN (collapsars and common envelop jets SN).
  filename:                         ./yieldtables/  # Path to the directory containing the EAGLE yield tables.
  IMF_min_mass_Msun:                0.1             # Minimal stellar mass considered for the Chabrier IMF in solar masses.
  IMF_max_mass_Msun:              100.0             # Maximal stellar mass considered for the Chabrier IMF in solar masses.
  SNII_min_mass_Msun:               8.0             # Minimal mass considered for SNII feedback (not SNII enrichment!) in solar masses.
  SNII_max_mass_Msun:             100.0             # Maximal mass considered for SNII feedback (not SNII enrichment!) in solar masses.
  SNII_wind_delay_Gyr:              -1.             # Time in Gyr between a star's birth and the moment when all SNII energy budget is released at once (< 0. for continuous SNe)
  SNII_delay_thermal_feedback_Gyr:  0.02            # Time in Gyr between a star's birth and the earliest possible SNII thermal feedback event. If SNe occur at earlier times, these events are postponed.
  SNII_delta_T_n_0_H_p_cm3:         0.3             # Pivot (physical) density in SNII variable-dT thermal feedback in H/cm3.
  SNII_delta_T_K_pivot:             3.16228e6       # Pivot temperature in SNII variable-dT thermal feedback in Kelvin. 
  SNII_delta_T_slope:               0.666666666     # Slope in SNII variable-dT thermal feedback.
  SNII_delta_T_K_min:               3.16228e6       # Minimal change in temperature to apply to the gas particle in an SNII thermal feedback event in Kelvin.
  SNII_delta_T_K_max:               1e8             # Maximal change in temperature to apply to the gas particle in na SNII thermal feedback event in Kelvin.
  SNII_energy_erg:                  3.0e51          # Energy of one SNII explosion in ergs.
  SNII_delta_v_km_p_s:              50.0            # Change in the gas-particle velocity that is kicked in a SNII kinetic feedback event
  SNII_f_kinetic:                   0.33333333      # Fraction of SNII energy injected into the gas in kinetic form (the remaining fraction is injected in thermal form)
  SNII_energy_fraction_min: 0.1             # Minimal fraction of energy applied in a SNII feedback event.
  SNII_energy_fraction_max: 3.5             # Maximal fraction of energy applied in a SNII feedback event.
  SNII_energy_fraction_Z_0:         0.0012663729    # Pivot point for the metallicity dependance of the SNII energy fraction (metal mass fraction).
  SNII_energy_fraction_n_0_H_p_cm3: 0.67            # Pivot point for the birth density dependance of the SNII energy fraction in cm^-3.
  SNII_energy_fraction_P_0_K_p_cm3: 3.16228e3            # Pivot point for the birth pressure dependance of the SNII energy fraction in cm^-3.
  SNII_energy_fraction_n_Z:         0.8686          # Power-law for the metallicity dependance of the SNII energy fraction.
  SNII_energy_fraction_n_n:         0.8686          # Power-law for the birth density dependance of the SNII energy fraction.
  SNII_energy_fraction_sigma_P: 0.3          # Width of the birth pressure dependance of the SNII energy fraction (relates to the power-law as n_P = -1/(sigma_P * ln(10))).
  SNIa_energy_erg:                 1.0e51           # Energy of one SNIa explosion in ergs.
  SNIa_delta_T_K:                   3.16228e7       # Change in temperature to apply to the gas particle in a SNIa thermal feedback event in Kelvin.
  SNIa_energy_fraction:             1.0             # Fraction of energy applied in a SNIa feedback event.
  AGB_ejecta_velocity_km_p_s:      10.0             # Velocity of the AGB ejectas in km/s.
  SNII_yield_factor_Hydrogen:       1.0             # (Optional) Correction factor to apply to the Hydrogen yield from the SNII channel.
  SNII_yield_factor_Helium:         1.0             # (Optional) Correction factor to apply to the Helium yield from the SNII channel.
  SNII_yield_factor_Carbon:         0.5             # (Optional) Correction factor to apply to the Carbon yield from the SNII channel.
  SNII_yield_factor_Nitrogen:       1.0             # (Optional) Correction factor to apply to the Nitrogen yield from the SNII channel.
  SNII_yield_factor_Oxygen:         1.0             # (Optional) Correction factor to apply to the Oxygen yield from the SNII channel.
  SNII_yield_factor_Neon:           1.0             # (Optional) Correction factor to apply to the Neon yield from the SNII channel.
  SNII_yield_factor_Magnesium:      4.0             # (Optional) Correction factor to apply to the Magnesium yield from the SNII channel.
  SNII_yield_factor_Silicon:        1.0             # (Optional) Correction factor to apply to the Silicon yield from the SNII channel.
  SNII_yield_factor_Iron:           0.5             # (Optional) Correction factor to apply to the Iron yield from the SNII channel.
  with_HIIRegions:                  1               # Switch for early feedback (HII regions).
  with_StellarWinds:                1               # Switch for early feedback (Stellar winds).
  with_RadiationPressure:           1               # Switch for early feedback (Radiation pressure).
  Momentum_desired_delta_v:         25.0            # Desired kick in km/s (Done stochastically given the amount of momentum available - v<0 for the code to decide the kick - )
  HIIregion_ionization_fraction:    1.0             # Ionization fraction for gas particles tagged as HII regions (between 0.5 and 1.)
  HIIregion_temperature_K:          1.e4            # Temperature of gas particles tagged as HII regions
  HIIregion_rebuild_dt_Myr:         2.0             # Time between rebuilding the HII region in Myr
  earlyfb_filename:                 ./Early_stellar_feedback.hdf5 # Location of file for early feedback, no needed if stellarwind_maxage_Myr = HIIregion_maxage_Myr = 0.
  stellar_evolution_age_cut_Gyr:    1.0             # Stellar age in Gyr above which the enrichment is down-sampled.
  stellar_evolution_sampling_rate:   10             # Number of time-steps in-between two enrichment events for a star above the age threshold.
  num_of_NSM_per_Msun:              1.54e-5         # Number of neutron star mergers per Msolar.
  yield_Eu_from_NSM_event_Msun:     1.5e-5          # Amount of europium (in units of Msolar) released by NSM.
  num_of_CEJSN_per_Msun:            1.22e-5         # Number of rare core-collapse SN (CEJSN) per Msolar.
  yield_Eu_from_CEJSN_event_Msun:   1e-5            # Amount of europium (in units of Msolar) released by CEJSN(=Common envelop jet SN).
  num_of_collapsar_per_Msun:        4.53e-7          # Number of rare core-collapse SN (collapsars) per Msolar.
  yield_Eu_from_collapsar_event_Msun: 1e-4          # Amount of europium (in units of Msolar) released by collapsars.
  collapsar_min_mass_Msun:          10.0            # Minimal mass considered for r-process enrichment from collapsars in solar masses.
  collapsar_max_mass_Msun:          100.0           # Maximal mass considered for r-process enrichment from collapsars in solar masses.

# GEAR feedback model
GEARFeedback:
  supernovae_energy_erg: 0.1e51                            # Energy released by a single supernovae.
  supernovae_efficiency: 0.1                               # Supernovae energy efficiency, used for both SNIa and SNII. The energy released effectively is E_sn = supernovae_efficiency*E_sn
  yields_table: chemistry-AGB+OMgSFeZnSrYBaEu-16072013.h5  # Table containing the yields.
  yields_table_first_stars: chemistry-PopIII.hdf5          # Table containing the yields of the first stars.
  metallicity_max_first_stars: -1                          # Maximal metallicity (in mass fraction) for a first star (-1 to deactivate).
  imf_transition_metallicity: -5                           # Maximal metallicity ([Fe/H]) for a first star (0 to deactivate).
  discrete_yields: 0                                       # Should we use discrete yields or the IMF integrated one?
  elements: [Fe, Mg, O, S, Zn, Sr, Y, Ba, Eu]              # Elements to read in the yields table. The number of element should be one less than the number of elements (N) requested during the configuration (--with-chemistry=GEAR_N).
  discrete_star_minimal_gravity_mass_Msun: 0.1             # Minimal gravity mass after a discrete star completely explodes. In M_sun. (Default: 0.1)

# AGORA feedback model
AGORAFeedback:
  energy_in_erg_per_CCSN: 1e51
  supernovae_efficiency: 1
  supernovae_explosion_time_myr: 5
  ccsne_per_solar_mass : 0.010989
  ejected_mass_in_solar_mass_per_CCSN : 14.8
  ejected_Fe_mass_in_solar_mass_per_CCSN : 2.63
  ejected_metal_mass_in_solar_mass_per_CCSN : 2.63
 

# Parameters related to AGN models  -----------------------------------------------
  
# COLIBRE AGN model
COLIBREAGN:
  subgrid_seed_mass_Msun:             1e5        # Black hole subgrid mass at creation time in solar masses.
  use_subgrid_mass_from_ics:          1          # (Optional) Use subgrid masses specified in ICs [1, default], or initialise them to particle masses [0]?
  with_subgrid_mass_check:            1          # (Optional) Verify that initial black hole subgrid masses are positive [1, default]. Only used if use_subgrid_mass_from_ics is 1.
  use_multi_phase_bondi:              0          # Compute Bondi rates per neighbour particle [1] or for the smoothed ambient gas around the black hole [0]?
  use_subgrid_gas_properties:         1          # Use subgrid density [1] or dynamical density [0] to calculate BH accretion rates?
  use_krumholz:                       1          # Use Krumholz et al. (2006) [1] or standard Bondi-Hoyle-Lyttleton formula [0] for black hole accretion rates? Only used if multi_phase_bondi is 0.
  with_krumholz_vorticity:            0          # Include the vorticity term in Krumholz et al. formula? Only used if use_multi_phase_bondi is 0.
  with_angmom_limiter:                1          # Are we applying the Rosas-Guevara (2015) viscous time-scale reduction term?
  viscous_alpha:                      1e6        # Normalisation constant of the viscous time-scale in the accretion reduction term. Only used if with_angmom_limiter is 1.
  with_boost_factor:                  0          # Are we using the model from Booth, Schaye (2009)?
  boost_alpha:                        1.         # Lowest value for the accretion effeciency for the Booth, Schaye 2009 accretion model.
  boost_beta:                         2.         # Slope of the power law for the Booth, Schaye 2009 model, set beta to zero for constant alpha models.
  boost_n_h_star_cm3:                 0.1        # Normalization of the power law for the Booth Schaye 2009 model in cgs (cm^-3).
  radiative_efficiency:               0.1        # Fraction of the accreted mass that gets radiated.
  max_eddington_fraction:             1.         # Maximal allowed accretion rate in units of the Eddington rate.
  eddington_fraction_for_recording:   0.1        # Record the last time BHs reached an Eddington ratio above this threshold.
  use_nibbling:                       1          # Continuously transfer small amounts of mass from all gas neighbours to a black hole [1] or stochastically swallow whole gas particles [0]? 
  min_gas_mass_for_nibbling_Msun:     9e5        # Minimum mass for a gas particle to be nibbled from [M_Sun]. Only used if use_nibbling is 1.
  coupling_efficiency:                0.15       # Fraction of the radiated energy that couples to the gas in feedback events.
  AGN_delta_T_K:                      3.16228e8  # Change in temperature to apply to the gas particle in an AGN feedback event in Kelvin.
  AGN_num_ngb_to_heat:                1.         # Target number of gas neighbours to heat in an AGN feedback event.
  with_potential_correction:          1          # Subtract BH's own contribution to the potential of neighbours when determining repositioning targets.
  max_reposition_mass_Msun:           2e8        # Maximal BH mass considered for BH repositioning in solar masses.
  max_reposition_distance_ratio:      3.0        # Maximal distance a BH can be repositioned, in units of the softening length.
  with_reposition_velocity_threshold: 0          # Should we only reposition to particles that move slowly w.r.t. the black hole?
  max_reposition_velocity_ratio:      0.25       # Maximal velocity offset of a particle to reposition a BH to, in units of the ambient sound speed of the BH. Only meaningful if with_reposition_velocity_ratio is 1.
  min_reposition_velocity_threshold_km_p_s: -1.0        # Minimal value of the velocity threshold for repositioning [km/s], set to < 0 for no effect. Only meaningful if with_reposition_velocity_ratio is 1.
  set_reposition_speed:               0          # Should we reposition black holes with (at most) a prescribed speed towards the potential minimum?
  reposition_coefficient_upsilon:     0.001      # Repositioning speed normalisation [km/s/M_sun]. Only meaningful if set_reposition_speed is 1.
  reposition_exponent_xi:             1.0        # (Optional) Scaling of repositioning velocity with BH subgrid mass (default: 1.0, linear). Only meaningful if set_reposition_speed is 1.
  threshold_major_merger:             0.333      # Mass ratio threshold to consider a BH merger as 'major'
  threshold_minor_merger:             0.1        # Mass ratio threshold to consider a BH merger as 'minor'
  merger_threshold_type:              DynamicalEscapeVelocity   # Type of velocity threshold for BH mergers (CircularVelocity as in EAGLE, EscapeVelocity, or DynamicalEscapeVelocity)
  merger_max_distance_ratio:          3.0        # Maximal distance over which two BHs can merge, in units of the softening length.
  AGN_use_deterministic_feedback:     1          # Deterministic (1) or stochastic (0) AGN feedback model
  AGN_feedback_model:                 Isotropic  # AGN feedback model (Isotropic or MinimumDistance)
  minimum_timestep_yr:                1000.0     # Minimum time-step of black-hole particles

# EAGLE AGN model
EAGLEAGN:
  subgrid_seed_mass_Msun:             1.5e5      # Black hole subgrid mass at creation time in solar masses.
  use_subgrid_mass_from_ics:          1          # (Optional) Use subgrid masses specified in ICs [1, default], or initialise them to particle masses [0]?
  with_subgrid_mass_check:            1          # (Optional) Verify that initial black hole subgrid masses are positive [1, default]. Only used if use_subgrid_mass_from_ics is 1.
  use_multi_phase_bondi:              0          # Compute Bondi rates per neighbour particle?
  use_subgrid_bondi:                  0          # Compute Bondi rates using the subgrid extrapolation of the gas properties around the BH?
  with_angmom_limiter:                1          # Are we applying the Rosas-Guevara et al. (2015) viscous time-scale reduction term?
  viscous_alpha:                      1e6        # Normalisation constant of the viscous time-scale in the accretion reduction term
  with_boost_factor:                  0          # Are we using the model from Booth & Schaye (2009)?
  boost_alpha_only:                   0          # If using the boost factor, are we using a constant boost only?
  boost_alpha:                        1.         # Lowest value for the accretion effeciency for the Booth & Schaye 2009 accretion model.
  boost_beta:                         2.         # Slope of the power law for the Booth & Schaye 2009 model, set beta to zero for constant alpha models.
  boost_n_h_star_H_p_cm3:             0.1        # Normalization of the power law for the Booth & Schaye 2009 model in cgs (cm^-3).
  with_fixed_T_near_EoS:              0          # Are we using a fixed temperature to compute the sound-speed of gas on the entropy floor in the Bondy-Hoyle accretion term?
  fixed_T_above_EoS_dex:              0.3        # Distance above the entropy floor for which we use a fixed sound-speed
  fixed_T_near_EoS_K:                 8000       # Fixed temperature assumed to compute the sound-speed of gas on the entropy floor in the Bondy-Hoyle accretion term
  radiative_efficiency:               0.1        # Fraction of the accreted mass that gets radiated.
  max_eddington_fraction:             1.         # Maximal allowed accretion rate in units of the Eddington rate.
  eddington_fraction_for_recording:   0.1        # Record the last time BHs reached an Eddington ratio above this threshold.
  use_nibbling:                       0          # Continuously transfer small amounts of mass from all gas neighbours to a black hole [1] or stochastically swallow whole gas particles [0]?
  min_gas_mass_for_nibbling_Msun:     9e5        # Minimum mass for a gas particle to be nibbled from [M_Sun]. Only used if use_nibbling is 1.
  coupling_efficiency:                0.15       # Fraction of the radiated energy that couples to the gas in feedback events.
  AGN_feedback_model:                 Random     # Feedback modes: Random, Isotropic, MinimumDistance, MinimumDensity
  AGN_use_deterministic_feedback:     0          # Deterministic (reservoir) [1] or stochastic [0] AGN feedback?
  AGN_delta_T_K:                      3.16228e8  # Change in temperature to apply to the gas particle in an AGN feedback event in Kelvin, this is used for the constant AGN model, for the mass dependend heating model we use this as an initialization value for the IC and birth properties of the BHs
  use_variable_delta_T:               1             # Switch to enable adaptive calculation of AGN dT [1], rather than using a constant value [0].
  AGN_with_locally_adaptive_delta_T:  1             # Switch to enable additional dependence of AGN dT on local gas density and temperature (only used if use_variable_delta_T is 1).
  AGN_delta_T_mass_norm:              3e8           # Normalisation temperature of AGN dT scaling with BH subgrid mass [K] (only used if use_variable_delta_T is 1).
  AGN_delta_T_mass_reference:         1e8           # BH subgrid mass at which the normalisation temperature set above applies [M_Sun] (only used if use_variable_delta_T is 1).
  AGN_delta_T_mass_exponent:          0.666667      # Power-law index of AGN dT scaling with BH subgrid mass (only used if use_variable_delta_T is 1).
  AGN_delta_T_crit_factor:            1.0           # Multiple of critical dT for numerical efficiency (Dalla Vecchia & Schaye 2012) to use as dT floor (only used if use_variable_delta_T and AGN_with_locally_adaptive_delta_T are both 1).
  AGN_delta_T_background_factor:      0.0           # Multiple of local gas temperature to use as dT floor (only used if use_variable_delta_T and AGN_with_locally_adaptive_delta_T are both 1).
  AGN_delta_T_min:                    1e7           # Minimum allowed value of AGN dT [K] (only used if use_variable_delta_T is 1).
  AGN_delta_T_max:                    3e9           # Maximum allowed value of AGN dT [K] (only used if use_variable_delta_T is 1).
  AGN_use_nheat_with_fixed_dT:        0          # Switch to use the constant AGN dT, rather than the adaptive one, for calculating the energy reservoir threshold (only used if use_variable_delta_T is 1).
  AGN_use_adaptive_energy_reservoir_threshold: 0 # Switch to calculate an adaptive AGN energy reservoir threshold.
  AGN_nheat_alpha:                   -1.0        # Number of particles to be heatable in a feedback event, at the reference accretion rate (only used if AGN_use_adaptive_energy_reservoir_threshold is 1).
  AGN_nheat_maccr_normalisation:     -1.0        # Reference accretion rate for energy reservoir threshold [M_sun / yr] (only used if AGN_use_adaptive_energy_reservoir_threshold is 1).
  AGN_nheat_limit:                   -1.0        # Hard limit for the energy reservoir threshold; above the reference accretion rate, it exponentially tapers off towards this (only used if AGN_use_adaptive_energy_reservoir_threshold is 1).
  AGN_num_ngb_to_heat:                1.         # Target number of gas neighbours to heat in an AGN feedback event.
  max_reposition_mass:                2e8        # Maximal BH mass considered for BH repositioning in solar masses.
  max_reposition_distance_ratio:      3.0        # Maximal distance a BH can be repositioned, in units of the softening length.
  with_reposition_velocity_threshold: 1          # Should we only reposition to particles that move slowly w.r.t. the black hole?
  max_reposition_velocity_ratio:      0.5        # Maximal velocity offset of a particle to reposition a BH to, in units of the ambient sound speed of the BH. Only meaningful if with_reposition_velocity_ratio is 1.
  min_reposition_velocity_threshold_km_p_s: -1.0        # Minimal value of the velocity threshold for repositioning [km/s], set to < 0 for no effect. Only meaningful if with_reposition_velocity_ratio is 1.
  set_reposition_speed:               0          # Should we reposition black holes with (at most) a prescribed speed towards the potential minimum?
  reposition_coefficient_upsilon:     50.0       # Repositioning speed normalisation [km/s/M_sun]. Only meaningful if set_reposition_speed is 1.
  reposition_reference_mass:          1e5        # Reference mass for scaling of reposition speed [M_sun]. Only meaningful if set_reposition_speed is 1.
  reposition_exponent_mass:           2.0        # (Optional) Exponent for scaling of repositioning velocity with BH mass; default = 2.0. Only meaningful if set_reposition_speed is 1.
  reposition_reference_n_H:           1.0        # Reference gas density around the black holes for scaling of repositioning speed [N_H cm^-3]. Only meaningful if set_reposition_speed is 1.
  reposition_exponent_n_H:            1.0        # (Optional) Exponent for scaling of repositioning velocity with gas density; default = 1.0. Only meaningful if set_reposition_speed is 1.
  with_potential_correction:          1          # Should the BH's own contribution to the potential be removed from the neighbour's potentials when looking for repositioning targets.
  threshold_major_merger:             0.333      # Mass ratio threshold to consider a BH merger as 'major'
  threshold_minor_merger:             0.1        # Mass ratio threshold to consider a BH merger as 'minor'
  merger_threshold_type:              DynamicalEscapeVelocity  # Type of velocity threshold for BH mergers ('CircularVelocity', 'EscapeVelocity', 'DynamicalEscapeVelocity').
  merger_max_distance_ratio:          3.0        # Maximal distance over which two BHs can merge, in units of the softening length.
  minimum_timestep_Myr:               1.0        # Minimum time-step size for BHs in Mega-years. The time-step size is computed based on the accretion rate and this serves as a minimum. Defaults to FLT_MAX.

# Spin-jet AGN model
SPINJETAGN:
  subgrid_seed_mass_Msun:             1e5        # Black hole subgrid mass at creation time in solar masses.
  delta_T_Mass_Msun:                  1e9        # Pivot BH (subgrid) mass in the variable AGN dT model expressed in solar masses
  AGN_delta_T_K:                      1e10       # Pivot and also maximum heating temperature in the variable AGN feedback model expressed in Kelvin
  AGN_delta_T_floor_K:                3.16228e6  # Minimum heating temperature in the variable AGN feedback model expressed in Kelvin
  use_subgrid_mass_from_ics:          1          # (Optional) Use subgrid masses specified in ICs [1, default], or initialise them to particle masses [0]?
  with_subgrid_mass_check:            1          # (Optional) Verify that initial black hole subgrid masses are positive [1, default]. Only used if use_subgrid_mass_from_ics is 1.
  use_multi_phase_bondi:              0          # Compute Bondi rates per neighbour particle [1] or for the smoothed ambient gas around the black hole [0]?
  use_subgrid_gas_properties:         1          # Use subgrid density [1] or dynamical density [0] to calculate BH accretion rates?
  use_krumholz:                       1          # Use Krumholz et al. (2006) [1] or standard Bondi-Hoyle-Lyttleton formula [0] for black hole accretion rates? Only used if multi_phase_bondi is 0.
  with_krumholz_vorticity:            0          # Include the vorticity term in Krumholz et al. formula? Only used if use_multi_phase_bondi is 0.
  with_angmom_limiter:                0          # Are we applying the Rosas-Guevara (2015) viscous time-scale reduction term?
  viscous_alpha:                      1e6        # Normalisation constant of the viscous time-scale in the accretion reduction term. Only used if with_angmom_limiter is 1.
  with_boost_factor:                  0          # Are we using the model from Booth, Schaye (2009)?
  boost_alpha:                        1.         # Lowest value for the accretion effeciency for the Booth, Schaye 2009 accretion model.
  boost_beta:                         2.         # Slope of the power law for the Booth, Schaye 2009 model, set beta to zero for constant alpha models.
  boost_n_h_star_cm3:                 0.1        # Normalization of the power law for the Booth Schaye 2009 model in cgs (cm^-3).
  max_eddington_fraction:             1.         # Maximal allowed accretion rate in units of the Eddington rate.
  eddington_fraction_for_recording:   0.1        # Record the last time BHs reached an Eddington ratio above this threshold.
  use_nibbling:                       1          # Continuously transfer small amounts of mass from all gas neighbours to a black hole [1] or stochastically swallow whole gas particles [0]? 
  min_gas_mass_for_nibbling_Msun:     9e5        # Minimum mass for a gas particle to be nibbled from [M_Sun]. Only used if use_nibbling is 1.
  coupling_efficiency:                0.15       # Fraction of the radiated energy that couples to the gas in feedback events.
  AGN_heating_temperature_model:      Constant   # How AGN jet velocities are calculated. If 'Constant', a single value is used. If 'BlackHoleMass', then an empirical relation between halo mass and black hole mass is used to calculate jet velocities. 'HaloMass' is currently not supported.
  AGN_delta_T_K:                      3.16228e8  # Change in temperature to apply to the gas particle in an AGN feedback event in Kelvin, if 'AGN_heating_temperature_model' is 'Constant'.
  delta_T_xi:                         1.         # The numerical multiplier by which the heating temperature formula is scaled, if 'AGN_heating_temperature_model' is 'Local'. If a value of 1 is used, the formulas are used as derived, i.e. they are not rescaled.
  delta_T_min_K:                      1e8        # The minimal heating temperature in Kelvin. This is used if 'AGN_heating_temperature_model' is 'Local'.
  delta_T_max_K:                      1e11       # The maximal heating temperature in Kelvin. This is used if 'AGN_heating_temperature_model' is 'Local'.
  AGN_num_ngb_to_heat:                1.         # Target number of gas neighbours to heat in an AGN feedback event.
  with_potential_correction:          1          # Subtract BH's own contribution to the potential of neighbours when determining repositioning targets.
  max_reposition_mass_Msun:           2e8        # Maximal BH mass considered for BH repositioning in solar masses.
  max_reposition_distance_ratio:      3.0        # Maximal distance a BH can be repositioned, in units of the softening length.
  with_reposition_velocity_threshold: 0          # Should we only reposition to particles that move slowly w.r.t. the black hole?
  max_reposition_velocity_ratio:      0.25       # Maximal velocity offset of a particle to reposition a BH to, in units of the ambient sound speed of the BH. Only meaningful if with_reposition_velocity_ratio is 1.
  min_reposition_velocity_threshold_km_p_s: -1.0 # Minimal value of the velocity threshold for repositioning [km/s], set to < 0 for no effect. Only meaningful if with_reposition_velocity_ratio is 1.
  set_reposition_speed:               0          # Should we reposition black holes with (at most) a prescribed speed towards the potential minimum?
  reposition_coefficient_upsilon:     0.001      # Repositioning speed normalisation [km/s/M_sun]. Only meaningful if set_reposition_speed is 1.
  reposition_exponent_xi:             1.0        # (Optional) Scaling of repositioning velocity with BH subgrid mass (default: 1.0, linear). Only meaningful if set_reposition_speed is 1.
  with_potential_correction:          1          # Should the BH's own contribution to the potential be removed from the neighbour's potentials when looking for repositioning targets.
  threshold_major_merger:             0.333      # Mass ratio threshold to consider a BH merger as 'major'
  threshold_minor_merger:             0.1        # Mass ratio threshold to consider a BH merger as 'minor'
  merger_threshold_type:              DynamicalEscapeVelocity   # Type of velocity threshold for BH mergers (CircularVelocity as in EAGLE, EscapeVelocity, or DynamicalEscapeVelocity)
  merger_max_distance_ratio:          3.0        # Maximal distance over which two BHs can merge, in units of the softening length.
  AGN_use_deterministic_feedback:     1          # Deterministic (1) or stochastic (0) AGN feedback model
  AGN_feedback_model:                 Isotropic  # AGN feedback model (Isotropic or MinimumDistance)
  minimum_timestep_yr:                1000.0     # Minimum time-step of black-hole particles
  include_jets:                       1          # Global switch whether to include jet feedback [1] or not [0].
  turn_off_radiative_feedback:        0          # Global switch whether to turn off radiative (thermal) feedback [1] or not [0]. This should only be used if 'include_jets' is set to 1, since we want feedback in some form or another.
  alpha_acc:                          0.2        # Viscous alpha of the subgrid accretion disks. Likely to be within the 0.1-0.3 range. The main effect is that it sets the transition accretion rate between the thin and thick disk, as dot(m) = 0.2 * alpha^2.
  mdot_crit_ADAF:                     0.01       # The transition normalized accretion rate (Eddington ratio) at which the disc goes from thick (low accretion rates) to thin (high accretion rates). The feedback also changes from kinetic jets to thermal isotropic, respectively.
  seed_spin:                          0.01       # The (randomly-directed) black hole spin assigned to BHs when they are seeded. Should be strictly between 0 and 1.
  AGN_jet_velocity_model:             Constant   # How AGN jet velocities are calculated. If 'Constant', a single value is used. If 'BlackHoleMass', then an empirical relation between halo mass and black hole mass is used to calculate jet velocities. 'HaloMass' is currently not supported. 
  v_jet_km_p_s:                       3160.      # Jet velocity to use if 'AGN_jet_velocity_model' is 'Constant'. Units are km/s.
  v_jet_BH_mass_scaling_reference_mass_Msun: 1e9 # The reference mass used in the relation between halo mass and BH mass used to calculate jet velocities. Only used if 'AGN_jet_velocity_model' is 'BlackHoleMass'.
  v_jet_BH_mass_scaling_slope:        0.5        # The slope of the relation between halo mass and BH mass used to calculate jet velocities. Only used if 'AGN_jet_velocity_model' is 'BlackHoleMass'.
  v_jet_min_km_p_s:                   500        # The minimal jet velocity. This is used if 'AGN_jet_velocity_model' is 'BlackHoleMass', 'MassLoading' or 'Local'.
  v_jet_max_km_p_s:                   1e4        # The maximal jet velocity. This is used if 'AGN_jet_velocity_model' is 'BlackHoleMass', 'MassLoading' or 'Local'.
  opening_angle_in_degrees:           7.5        # The half-opening angle of the jet in degrees. Should use values < 15 unless for tests.
  N_jet:                              2          # Target number of particles to kick as part of a single jet feedback event. Should be a multiple of 2 to ensure approximate momentum conservation (we always kick particles in pairs, one from each 'side' of the BH, relative to the spin vector).
  AGN_jet_feedback_model:             MinimumDistance # Which particles to kick from the black hole smoothing kernels. Should be 'SpinAxis', 'MinimumDistance', 'MaximumDistance' or 'MinimumDensity'
  eps_f_jet:                          1.         # Coupling efficiency for jet feedback. No reason to expect this to be less than 1.
  fix_jet_efficiency:                 0          # Global switch whether to fix jet efficiency to a particular value [1], or use a spin-dependant formula [0].
  jet_efficiency:                     0.1        # The constant jet efficiency used if 'fix_jet_efficiency' is set to 1.
  fix_jet_direction:                  0          # Global switch whether to fix the jet direction to be along the z-axis, instead of along the spin vector.
  accretion_efficiency_mode:          Variable   # How the accretion efficiencies are calculated for the thick accretion disc. If 'Constant', the value of 'accretion_efficiency_thick' will be used. If 'Variable', the accretion efficiency will scale with Eddington ratio.
  accretion_efficiency_thick:         0.01       # The accretion efficiency (suppression factor of the accretion rate) to use in the thick disc (ADAF), to represent the effects of subgrid ADIOS winds that take away most of the mass flowing through the accretion disc.
  accretion_efficiency_slim:          1          # The constant accretion efficiency to use in the slim disc, at super-Eddington rates.
  ADIOS_s:                            0.5        # The exponent of the scaling between accretion efficiency and transition radius of the accretion disc, used if 'accretion_efficiency_mode' is 'Variable'.
  ADIOS_R_in:                         1e4        # The normalisation (the value) of the transition radius of the accretion disc at the critical Eddington ratio (0.01), used if 'accretion_efficiency_mode' is 'Variable'.
  fix_radiative_efficiency:           0          # Global switch whether to fix the radiative efficiency to a particular value [1], or use a spin-dependant formula [0]. 
  radiative_efficiency:               0.1        # The constant jet efficiency used if 'fix_radiative_efficiency' is set to 1. Otherwise, this value is used to define the Eddington accretion rate.
  TD_region:                          B          # How to treat the subgrid accretion disk if it is thin, according to the Shakura & Sunyaev (1973) model. If set to B, region b will be used. If set to C, region c will be used.
  include_GRMHD_spindown:             1          # Whether to include high jet spindown rates from GRMHD simulations [1], or use an analytical formula that assumes extraction of energy from the rotational mass/energy of the BH.
  delta_ADAF:                         0.2        # Electron heating parameter, which controls the strength of radiative feedback in thick disks. Should be between 0.1 and 0.5. This parameter is only used if turn_off_secondary_feedback is set to 0.
  include_slim_disk:                  1          # Global switch whether to include super-Eddington accretion, modeled as the slim disk. If set to 0, disks will be considered thin even at very large accretion rates.
  use_jets_in_thin_disc:              1          # Whether to use jets alongside radiation in the thin disc at moderate Eddington ratios.
  use_ADIOS_winds:                    1          # Whether to include ADIOS winds in the thick disc as thermal isotropic feedback (same channel as thin disc quasar feedback, but with a different efficiency). 
  slim_disc_wind_factor:              1          # The relative efficiency of slim disc winds at super-Eddington rates. If '1', full winds will be used, while '0' will lead to no winds. Any value in between those can also be used. The wind is implemented in the thermal isotropic feedback channel.
  
# Parameters related to the neutrinos --------------------------------------------
Neutrino:
  use_delta_f:                        1          # Use the delta-f method for shot noise reduction
  use_delta_f_mesh_only:              0          # Use the delta-f method, but only in the mesh gravity calculation and outputs
  generate_ics:                       0          # Automatically generate neutrino velocities at the start of the run
  neutrino_seed:                      0          # Seed used in the delta-f weighting step for Fermi-Dirac momentum generation
  use_linear_response: 0                         # Option to use the linear response method
  transfer_functions_filename: perturb.hdf5      # For linear response neutrinos, path to an hdf5 file with transfer functions, redshifts, and wavenumbers
  dataset_redshifts: Redshifts                   # For linear response neutrinos, name of the dataset with the redshifts (a vector of length N_z)
  dataset_wavenumbers: Wavenumbers               # For linear response neutrinos, name of the dataset with the wavenumbers (a vector of length N_k)
  dataset_delta_cdm: Functions/d_cdm             # For linear response neutrinos, name of the dataset with the cdm density transfer function (N_z x N_k)
  dataset_delta_baryon: Functions/d_b            # For linear response neutrinos, name of the dataset with the baryon density transfer function (N_z x N_k)
  dataset_delta_nu: Functions/d_ncdm[0]          # For linear response neutrinos, name of the dataset with the neutrino density transfer function (N_z x N_k)
  fixed_bg_density: 1                            # For linear response neutrinos, whether to use a fixed present-day background density
  use_model_none: 0                              # Option to use no neutrino model

# Parameters related to extra i/o (X-ray emmisivity)  ----------------------------

XrayEmissivity:
  xray_table_path:         ./X_Ray_tables.hdf5   # Path to the X-ray emissivity tables
  
# Parameters related to the sink particles ---------------------------------------

# Default sink particles
DefaultSink:
  cut_off_radius:        1e-3       # Cut off radius of the sink particles (in internal units). This parameter should be adapted with the resolution.

BasicSink:
  use_nibbling: 1                             # Use nibbling to accrete gas? If zero, do swallowing instead.
  min_gas_mass_for_nibbling_Msun: 5e4         # The mass in Msun that particles cannot be nibbled below. A good default is half the initial mass.

# GEAR sink particles
GEARSink:
  cut_off_radius:        1e-3                 # Cut off radius of the sink particles (in internal units). In GEAR, if this is specified, the cutoff radius is fixed, and the sink smoothing length is fixed at this value divided by kernel_gamma. If not, the cutoff radius varies with the sink smoothing length as r_cut = h*kernel_gamma.
  f_acc: 0.1                                  # (Optional) Fraction of the cut_off_radius that determines if a gas particle should be swallowed wihtout additional check. It has to respect 0 <= f_acc <= 1. (Default: 0.1)
  temperature_threshold_K:        100         # Max temperature (in K) for forming a sink when density_threshold_Hpcm3 <= density <= maximal_density_threshold_Hpcm3.
  density_threshold_Hpcm3: 1e3                # Minimum gas density (in Hydrogen atoms/cm3) required to form a sink particle.
  maximal_density_threshold_Hpcm3: 1e5        # If the gas density exceeds this value (in Hydrogen atoms/cm3), a sink forms regardless of temperature if all other criteria are passed. (Default: FLT_MAX)
  sink_minimal_mass_Msun:      0.             # (Optional) Sink minimal mass in Msun. This parameter prevents m_sink << m_gas in low resolution simulations. (Default: 0.0)
  stellar_particle_mass_Msun:  20             # Mass of the stellar particle representing the low mass stars (continuous IMF sampling) (in solar mass)
  minimal_discrete_mass_Msun: 8               # Minimal mass of stars represented by discrete particles (in solar mass)
  stellar_particle_mass_first_stars_Msun: 20      # Mass of the stellar particle representing the low mass stars (continuous IMF sampling) (in solar mass). First stars
  minimal_discrete_mass_first_stars_Msun: 8       # Minimal mass of stars represented by discrete particles (in solar mass). First stars
  star_spawning_sigma_factor: 0.2                 # Factor to rescale the velocity dispersion of the stars when they are spawned. (Default: 0.2)
  sink_formation_contracting_gas_criterion: 1     # (Optional) Activate the contracting gas check for sink formation. (Default: 1)
  sink_formation_smoothing_length_criterion: 1    # (Optional) Activate the smoothing length check for sink formation. (Default: 1)
  sink_formation_jeans_instability_criterion: 1   # (Optional) Activate the two Jeans instability checks for sink formation. (Default: 1)
  sink_formation_bound_state_criterion: 1         # (Optional) Activate the bound state check for sink formation. (Default: 1)
  sink_formation_overlapping_sink_criterion: 1    # (Optional) Activate the overlapping sink check for sink formation. (Default: 1)
  disable_sink_formation: 0                       # (Optional) Disable sink formation. (Default: 0)
  CFL_condition:                        0.5       # Courant-Friedrich-Levy condition for time integration.
  timestep_age_threshold_unlimited_Myr: 100.      # (Optional) Age above which sinks no longer have time-step restrictions, except for 2-body encounters involving another young/old sink and gravity (in Mega-years). (Default: FLT_MAX)
  timestep_age_threshold_Myr:           25.       # (Optional) Age at which sink switch from young to old for time-stepping purposes (in Mega-years). (Default: FLT_MAX)
  max_timestep_young_Myr:               1.0       # (Optional) Maximal time-step length of young sinks (in Mega-years). (Default: FLT_MAX)
  max_timestep_old_Myr:                 5.0       # (Optional) Maximal time-step length of old sinks (in Mega-years). (Default: FLT_MAX)
  n_IMF:                                 2        # (Optional) Number of times the IMF mass can be swallowed in a single timestep. (Default: FLTM_MAX)
  tolerance_SF_timestep:                 0.5      # (Optional) Tolerance parameter for SF timestep constraint. (Default: 0.5)

# Parameters related to radiative transfer ---------------------------------------

GEARRT:
  f_reduce_c: 1e-3                                  # reduce the speed of light for the RT solver by multiplying c with this factor
  CFL_condition: 0.9                                # CFL condition for RT, independent of hydro
  f_limit_cooling_time: 0.6                         # (Optional) multiply the cooling time by this factor when estimating maximal next time step. Set to 0.0 to turn computation of cooling time off.
  photon_groups_Hz: [3.288e15, 5.945e15, 13.157e15] # Lower photon frequency group bin edges in Hz. Needs to have exactly N elements, where N is the configured number of bins --with-RT=GEAR_N
  stellar_luminosity_model: const                   # Which model to use to determine the stellar luminosities.
  const_stellar_luminosities_LSol: [1., 1., 1.]     # (Conditional) constant star luminosities for each photon frequency group to use if stellar_luminosity_model:const is set, in units of Solar Luminosity.
  hydrogen_mass_fraction:  0.76                     # total hydrogen (H + H+) mass fraction in the metal-free portion of the gas
  set_equilibrium_initial_ionization_mass_fractions: 0   # (Optional) set the initial ionization fractions depending on gas temperature assuming ionization equilibrium.
  set_initial_ionization_mass_fractions: 0          # (Optional) manually overwrite initial mass fraction of each species (using the values you set below)
  mass_fraction_HI: 0.76                            # (Conditional) If overwrite_initial_ionization_fractions=1, needed to set initial HI mass fractions to this value
  mass_fraction_HII: 0.                             # (Conditional) If overwrite_initial_ionization_fractions=1, needed to set initial HII mass fractions to this value
  mass_fraction_HeI: 0.24                           # (Conditional) If overwrite_initial_ionization_fractions=1, needed to set initial HeI mass fractions to this value
  mass_fraction_HeII: 0.                            # (Conditional) If overwrite_initial_ionization_fractions=1, needed to set initial HeII mass fractions to this value
  mass_fraction_HeIII: 0.                           # (Conditional) If overwrite_initial_ionization_fractions=1, needed to set initial HeIII mass fractions to this value
  skip_thermochemistry: 0                           # (Optional) skip the thermochemistry. This is intended only for debugging and testing the radiation transport, as it breaks the purpose of RT.
  stellar_spectrum_type: 0                          # Which radiation spectrum to use. 0: constant from 0 until some max frequency set by stellar_spectrum_const_max_frequency_Hz. 1: blackbody spectrum.
  stellar_spectrum_const_max_frequency_Hz: 1.e17    # (Conditional) if stellar_spectrum_type=0, use this maximal frequency for the constant spectrum. 
  stellar_spectrum_blackbody_temperature_K: 1.e4    # (Conditional) if stellar_spectrum_type=1, use this temperature (in K) for the blackbody spectrum. 
  stars_max_timestep: -1.                           # (Optional) restrict the maximal timestep of stars to this value (in internal units). Set to negative to turn off.
  grackle_verbose: 0                                # (Optional) set grackle to verbose. (Default: 0)
  case_B_recombination: 1                           # (Optional) use case B recombination interaction rates. (Default: 1)
  max_tchem_recursion: 0                            # (Optional) if > 0, sets the maximal recursion depth when re-computing the thermochemistry if |u_new/u_old - 1| > 0.1.

SPHM1RT:
  cred: 2.99792458e10                                 # value of reduced speed of light for the RT solver in code unit
  CFL_condition: 0.1                                  # CFL condition for RT, independent of hydro 
  chi:  [0, 0, 0, 0]                                  # (Optional) initial opacity in code unit for all gas particles
  photon_groups_Hz: [3.288e15, 5.945e15, 13.157e15]   # Photon frequency group bin edges in Hz. Needs to be 1 less than the number of groups (N) requested during the configuration (--with-RT=SPHM1RT_N). Outer edges of zero and infinity are assumed.
  use_const_emission_rates: 1                         # (Optional) use constant emission rates for stars as defined with star_emission_rates parameter
  star_emission_rates: [1e-32, 1e-32, 1e-32, 1e-32]     # (Optional) constant star emission rates for each photon frequency group to use if use_constant_emission_rates is set.
  stellar_spectrum_type: 0                            # Which radiation spectrum to use. 0: constant from 0 until some max frequency set by stellar_spectrum_const_max_frequency_Hz. 1: blackbody spectrum.
  stellar_spectrum_const_max_frequency_Hz: 1.e17      # (Conditional) if stellar_spectrum_type=0, use this maximal frequency for the constant spectrum. 
  stars_max_timestep: -1.                             # (Optional) restrict the maximal timestep of stars to this value (in internal units). Set to negative to turn off.
  stellar_spectrum_blackbody_temperature_K: 1.e4      # (Conditional) if stellar_spectrum_type=1, use this temperature (in K) for the blackbody spectrum. 
  skip_thermochemistry: 0                             # (Optional) skip the thermochemistry. This is intended only for debugging and testing the radiation transport, as it breaks the purpose of RT.
  init_mass_fraction_metal:     0.                    # (Optional) Inital mass fraction of particle mass in *all* metals (if it is set, the initial fraction will be over-written.)
  init_mass_fraction_Hydrogen:  0.752                 # (Conditional) (if init_mass_fraction_metal != -1.0f) Inital mass fraction of particle mass in Hydrogen
  init_mass_fraction_Helium:    0.248                 # (Conditional) (if init_mass_fraction_metal != -1.0f) Inital mass fraction of particle mass in Helium
  useabundances:              0                       # (Optional) use the species abundances below, instead of reading from initial condition
  init_species_abundance_e:        4e-5               # (Conditional) (if useabundances==1) free electron abundances (in unit hydrogen number density:nH)
  init_species_abundance_HI:       0.99999            # (Conditional) (if useabundances==1) HI abundances (in unit hydrogen number density:nH)
  init_species_abundance_HII:      1e-5               # (Conditional) (if useabundances==1) HII abundances (in unit hydrogen number density:nH)
  init_species_abundance_HeI:      0.08242680851      # (Conditional) (if useabundances==1) HeI abundances (in unit hydrogen number density:nH)
  init_species_abundance_HeII:     1e-5               # (Conditional) (if useabundances==1) HeII abundances (in unit hydrogen number density:nH)
  init_species_abundance_HeIII:    1e-5               # (Conditional) (if useabundances==1) HeIII abundances (in unit hydrogen number density:nH)
  relativeTolerance:          1e-3                    # (Optional) Relative tolerance for SPHM1RT thermo-chemistry intergration
  absoluteTolerance:          1e-10                   # (Optional) Absolute tolerance for SPHM1RT thermo-chemistry integration
  explicitTolerance:          0.1                     # (Optional) Tolerance below which we use the explicit solution in SPHM1RT thermo-chemistry
  ionizing_photon_energy_erg: [3.0208e-11, 5.61973e-11, 1.05154e-10]  # (Optional) ionizing photon energy in erg averaged within frequency bins #note that we start from frequency bin 1 (instead of 0).
  coolingon:              1                           # (Optional) switch for cooling (and photoheating), but photo-ionization will be ongoing even if coolingon==0 
  useparams:              0                           # (Optional) switch to use thermo-chemistry parameters from the parameter file
  fixphotondensity:       0                           # (Optional) switch for fixing the photo-density
  Fgamma_fixed_cgs:       [0.0, 0.0, 0.0]             # (Conditional) (if fixphotondensity=1) the photo-density values if the photo density is fixed
  onthespot:              1                           # (Optional) switch for the on the spot approximation
  sigma_cross:            [2.99e-18, 5.66e-19, 7.84e-20] # (Conditional) (if useparams=1) The cross section of ionizing photons for hydrogen (cm^2)
  alphaA:                 4.29e-13                    # (Conditional) (if useparams=1) The case A recombination coefficient for hydrogen (cgs)
  alphaB:                 2.59e-13                    # (Conditional) (if useparams=1) The case B recombination coefficient for hydrogen (cgs)
  beta:                   1.245e-15                   # (Conditional) (if useparams=1) The collisional ionization coefficient for hydrogen (cgs)
  reinject:               1                           # (Optional) gather energy around injection radius and re-inject the energy


# Parameters related to power spectra --------------------------------------------

PowerSpectrum:
  grid_side_length:  256                  # Size of the grid used in power spectrum calculation.
  num_folds:         6                    # Number of foldings (1 means no foldings), determines the max k
  fold_factor:       4                    # (Optional) factor by which to reduce the box along each side each folding (default: 4)
  window_order:      3                    # (Optional) order of the mass assignment scheme (default: 3, TSC)
  shift_centre_small_k_bins: 1            # (Optional) Correct the centre of the bins with a small k to account for the small number of modes entering the bin.
  output_list_on:    0                    # (Optional) Enable the output list
  output_list:       ./output_list_ps.txt # (Optional) File containing the output times (see documentation in "Parameter File" section)
  requested_spectra: ["matter-matter","cdm-cdm","starBH-starBH","gas-matter","pressure-pressure","matter-pressure", "neutrino0-neutrino1"] # Array of strings indicating which components should be correlated for power spectra
    

# Parameters related to logging ------------------------------------------------------

# Event logging settings, this specifies how often we need to log a certain process
Event_logger:
  delta_time_SNIa_Myr:        10  # The delta time interval to log SNIa events in Myr
  delta_time_SNII_Myr:         1  # The delta time interval to log SNII events in Myr
  delta_time_r_processes_Myr: 10  # The delta time interval to log R-process events in Myr

# Parameters related to lightcones  -----------------------------------------------
# Parameters in the LightconeCommon section apply to all lightcones but can be overridden in the LightconeX sections.
# Up to 8 Lightcone sections named Lightcone0 to Lightcone7 may be present.
LightconeCommon:

  subdir:            lightcones   # All lightcone output is written to this directory
  buffer_chunk_size: 10000        # Particles and map updates are buffered in a linked list of chunks of this size

  z_range_for_DM:     [0.0, 0.05] # Output redshift range for dark matter
  z_range_for_Gas:    [0.0, 0.05] # Output redshift range for gas
  z_range_for_Stars:  [0.0, 0.05] # Output redshift range for stars
  z_range_for_BH:     [0.0, 0.05] # Output redshift range for black holes

  max_particles_buffered: 100000  # Output particles if buffer size reaches this value
  max_updates_buffered:   100000  # Flush map updates if buffer size reaches this value
  hdf5_chunk_size:        16384   # Chunk size for HDF5 particle and healpix map datasets

  nside:                512                    # Healpix resolution parameter
  radius_file:          ./shell_redshifts.txt  # Redshifts of shells for healpix maps
  max_map_update_send_size_mb: 16.0            # Apply map updates over mutliple iterations to limit memory overhead
  map_names_file:       ./map_types.txt        # List of types of healpix maps to make

  distributed_maps:   1           # Split maps over multiple files (1) or use collective I/O to write one file (0)

  particles_lossy_compression: 0  # Apply lossy compression to lightcone particles
  particles_gzip_level:        6  # Apply lossless (deflate) compression to lightcone particles
  maps_gzip_level:             6  # Apply lossless (deflate) compression to healpix maps

# Parameters specific to lightcone 0 - any lightcone parameters not found here are taken from LightconeCommon, above,
# except for 'enabled' and 'basename'.
Lightcone0:
  enabled: 1                                           # Enable this lightcone
  basename: lightcone0                                 # Base name of this lighcone's output files
  observer_position: [35.561875, 35.561875, 35.561875] # Location of the observer in this lightcone

# Parameters specific to lightcone 1 - any lightcone parameters not found here are taken from LightconeCommon, above,
# except for 'enabled' and 'basename'.
Lightcone1:
  enabled: 1
  basename: lightcone1
  observer_position: [35.561875, 35.561875, 35.561875]

  gas_filtering_enabled:      1      # Enable filtering out of certain gas particles from particle outputs
  min_z_for_gas_filtering:    0.025  # Filter gas particles above this redshift, output all below
  min_temp_for_filtered_gas:  1.0e5  # Above min_z_for_gas_filtering only output gas with temperature above this
  min_nh_for_filtered_gas:    1.0e-6 # Above min_z_for_gas_filtering only output gas with nh/(1+z)^4 above this
