Coverage for src/galsbi/ucat_sps/config/common_sps.py: 100%
355 statements
« prev ^ index » next coverage.py v7.17.2, created at 2026-11-09 18:05 +0000
« prev ^ index » next coverage.py v7.17.2, created at 2026-11-09 18:05 +0000
1# Copyright (C) 2025 LMU Munich
2# Author: Luca Tortorelli
3# created: Apr 2025
6import os
8import numpy as np
9import PyCosmo
10from cosmo_torrent import data_path
12from galsbi.ucat.config.common import h, omega_m
13from galsbi.ucat_sps.util_sps import get_age_of_the_universe_from_redshift
16# ==================================================================
17# G A L A X Y C A T A L O G
18# ==================================================================
20# ---------------------
21# Stellar Mass Function
22# ---------------------
24gal_sm_fct_seed_offset = 123491
25SEED_OFFSET_SMFUN = 100
27# Functional forms of M* and phi*, can be linexp (linear and exponential) or
28# logpower (for logarithmic and power law)
29sm_fct_parametrization = "logquadratic_power"
30# Resolution for sampling stellar mass
31sm_fct_z_res = 0.001
32# Maximum redshift of galaxies to sample
33sm_fct_z_max = 5
34# Minimum stellar mass to be sampled
35sm_fct_sm_min = 8
36# Resolution for sampling stellar masses
37sm_fct_sm_res = 0.001
38# Schechter parameter alpha for blue galaxies
39sm_fct_alpha_blue_lowmass = -1.434
40# Schechter parameter alpha for blue galaxies
41sm_fct_alpha_blue_highmass = -0.123
42# Schechter parameter alpha for red galaxies
43sm_fct_alpha_red_lowmass = -2.01
44# Schechter parameter alpha for red galaxies
45sm_fct_alpha_red_highmass = -0.52
47# values from Weaver+23
48sm_fct_m_star_blue_0_lowmass = 10.42822754
49sm_fct_m_star_blue_1_lowmass = 2.75747512
50sm_fct_m_star_blue_2_lowmass = -3.78410885
51sm_fct_phi_star_blue_amp_lowmass = 0.00120151
52sm_fct_phi_star_blue_exp_lowmass = -1.0522461
54sm_fct_m_star_blue_0_highmass = sm_fct_m_star_blue_0_lowmass
55sm_fct_m_star_blue_1_highmass = sm_fct_m_star_blue_1_lowmass
56sm_fct_m_star_blue_2_highmass = sm_fct_m_star_blue_2_lowmass
57sm_fct_phi_star_blue_amp_highmass = 7.14975958e-04
58sm_fct_phi_star_blue_exp_highmass = -1.35852989e00
60sm_fct_m_star_red_0_lowmass = 11.13180376
61sm_fct_m_star_red_1_lowmass = -1.32213682
62sm_fct_m_star_red_2_lowmass = 0.08538828
63sm_fct_phi_star_red_amp_lowmass = 4.80658020e-05
64sm_fct_phi_star_red_exp_lowmass = -6.00859413e00
66sm_fct_m_star_red_0_highmass = sm_fct_m_star_red_0_lowmass
67sm_fct_m_star_red_1_highmass = sm_fct_m_star_red_1_lowmass
68sm_fct_m_star_red_2_highmass = sm_fct_m_star_red_2_lowmass
69sm_fct_phi_star_red_amp_highmass = 0.00133062
70sm_fct_phi_star_red_exp_highmass = -0.84695455
72# -------------------
73# Size model (stellar mass)
74# -------------------
76SEED_OFFSET_SIZE = 700
78# Available size models. The published Tortorelli+25 model remains the default.
79TORTORELLI25_SIZE_MODEL = "tortorelli25"
80NEDKOVA21_BINNED_SIZE_MODEL = "nedkova21_binned"
81MILLER2026_SIZE_MODEL = "miller2026"
82SIZE_MODELS = frozenset(
83 {
84 TORTORELLI25_SIZE_MODEL,
85 NEDKOVA21_BINNED_SIZE_MODEL,
86 MILLER2026_SIZE_MODEL,
87 }
88)
89size_model = TORTORELLI25_SIZE_MODEL
91# Original Tortorelli+25 parametrization based on linear fits to the redshift
92# evolution reported by Nedkova+21.
94r50_stellar_mass_logA_blue_intcpt = 0.86882979
95r50_stellar_mass_logA_blue_slope = -0.16382979
96r50_stellar_mass_B_blue_intcpt = 0.25182844
97r50_stellar_mass_B_blue_slope = -0.05056433
99r50_stellar_mass_eta_red_intcpt = 0.11901468
100r50_stellar_mass_eta_red_slope = -0.21145203
101r50_stellar_mass_theta_red_intcpt = 1.68920793
102r50_stellar_mass_theta_red_slope = -0.21753742
103r50_stellar_mass_logzeta_red_intcpt = -1.12244718
104r50_stellar_mass_logzeta_red_slope = 2.36436158
105r50_stellar_mass_delta_red_intcpt = 10.96599095
106r50_stellar_mass_delta_red_slope = -0.10815138
108# Standard deviation of the log of physical sizes, values from Shen+2003
109logr50_stellar_mass_std_red = 0.3
110logr50_stellar_mass_std_blue = 0.3
112# Lange+15 rest-frame g-band double-power-law fits for populations selected
113# using dust-corrected u-r colour. M0 is in solar masses.
114lange15_alpha_blue = 0.17
115lange15_beta_blue = 0.72
116lange15_gamma_blue = 0.07
117lange15_m0_blue = 7.66e10
118lange15_alpha_red = 0.10
119lange15_beta_red = 0.72
120lange15_gamma_red = 0.17
121lange15_m0_red = 1.94e10
123# Nedkova+21 fits at the centres of the four published redshift intervals.
124# The relations are interpolated in log10(size), not through their coefficients.
125nedkova21_redshift_bin_centres = [0.35, 0.75, 1.25, 1.75]
126nedkova21_log10A_blue = [0.82, 0.75, 0.65, 0.59]
127nedkova21_B_blue = [0.24, 0.21, 0.18, 0.17]
128nedkova21_alpha_red = [0.04, -0.03, -0.33, -0.17]
129nedkova21_beta_red = [1.82, 1.60, 1.25, 1.84]
130nedkova21_log10gamma_red = [-0.24, 0.48, 3.24, 1.76]
131nedkova21_delta_red = [10.94, 10.95, 10.63, 11.09]
132nedkova21_scatter_dex_blue = [0.22, 0.22, 0.22, 0.23]
133nedkova21_scatter_dex_red = [0.19, 0.18, 0.20, 0.25]
135# Redshift interval over which the local Lange+15 relation is joined to the
136# lowest-redshift Nedkova+21 relation.
137lange15_nedkova21_transition_start = 0.1
138lange15_nedkova21_transition_end = 0.2
140# Miller+26 continuous rest-frame 5000 Angstrom size relations. The positive
141# sign of miller26_alpha1_red follows the paper's reported redshift trend and
142# symbolic-regression table; Equation 12 in arXiv v1 contains a sign typo.
143miller26_b0_blue = -7.4e-3
144miller26_b1_blue = -1.88
145miller26_b2_blue = 0.16
146miller26_m0_blue = -4.2e-2
147miller26_m1_blue = -1.3e-2
148miller26_m2_blue = 7.9e-2
149miller26_scatter_c_blue = -1.30
150miller26_scatter_n_blue = -0.06
151miller26_alpha0_red = -0.20
152miller26_alpha1_red = 0.67
153miller26_r0_red = -0.95
154miller26_r1_red = -0.32
155miller26_r2_red = 0.82
156miller26_log10_mp_red = 10.36
157miller26_beta_red = 0.53
158miller26_transition_red = 6.0
159miller26_scatter_dex_red = 0.20
161# Join the Nedkova+21 and Miller+26 relations smoothly around z=0.5.
162nedkova21_miller26_transition_start = 0.4
163nedkova21_miller26_transition_end = 0.6
165# ------------------------
166# Velocity dispersion
167# ------------------------
169SEED_OFFSET_VELDISP = 800
171# default values from Zahid+16
172vel_disp_logsigma_b = 2.073
173vel_disp_logM_b = 10.26
174vel_disp_s_1 = 0.403
175vel_disp_s_2 = 0.293
176vel_disp_std = 10
178# ----------------------
179# Star formation history
180# ----------------------
182time_step = 1e8
183cosmo = PyCosmo.build()
184cosmo.set(h=h, omega_m=omega_m)
185time_grid = np.arange(0, get_age_of_the_universe_from_redshift(0, cosmo), time_step)
187SEED_OFFSET_SFH = 200
189TORTORELLI25_SNORM_TRUNC = "tortorelli25_snorm_trunc"
190CONDITIONAL_SNORM_TRUNC = "conditional_snorm_trunc"
191CONDITIONAL_SNORM_BURST_TRUNC = "conditional_snorm_burst_trunc"
192SFH_POPULATION_MODELS = frozenset(
193 {
194 TORTORELLI25_SNORM_TRUNC,
195 CONDITIONAL_SNORM_TRUNC,
196 CONDITIONAL_SNORM_BURST_TRUNC,
197 }
198)
200RECENT_STAR_FORMATION_INTERVAL_10_MYR_YR = 1.0e7
201RECENT_STAR_FORMATION_INTERVAL_100_MYR_YR = 1.0e8
202RECENT_STAR_FORMATION_INTERVAL_YR = RECENT_STAR_FORMATION_INTERVAL_100_MYR_YR
203PROSPECT_RECENT_BURST_AGE_GYR = 0.1
204PROSPECT_SNORM_TRUNCATION = 2.0
206MPEAK_MIN_GYR = -2.0
207MPERIOD_MIN_GYR = 0.3
208MPERIOD_MAX_SMOOTH_GYR = 100.0
209MPERIOD_MAX_BURST_GYR = 10.0
210MSKEW_MIN = -0.5
211MSKEW_MAX = 1.0
212FBURST_MIN = 1.0e-4
213FBURST_MAX = 0.2
214DURATION_STUDENT_T_DF = 5.0
216# The published Tortorelli+25 model remains the default.
217sfh_population_model = TORTORELLI25_SNORM_TRUNC
218sfh_population_evaluation_chunk_size = 10_000
219retain_sfh_histories = True
221# Fiducial smooth-SFH population parameters fitted to mass-complete
222# observational catalogues. The same smooth parameters are used by
223# conditional_snorm_trunc and conditional_snorm_burst_trunc.
224peak_intercept_blue = 0.32324801147119203
225peak_intercept_red = 0.9673800911637633
226peak_mass_slope = 0.36103390352372705
227peak_redshift_slope = 0.2997127458462411
228peak_concentration_blue = 2.009292795468973
229peak_concentration_red = 3.2093183853350555
231duration_intercept_blue = -1.661695300217048
232duration_intercept_red = -2.161897150359956
233duration_mass_slope = -0.21268625029673238
234duration_redshift_slope = 1.5928703429227102
235duration_peak_slope = 0.0771789172867823
236duration_scale_blue = 0.9515941479300941
237duration_scale_red = 0.6890981385341056
239skew_intercept_blue = -0.798156352119802
240skew_intercept_red = -1.8650718672838937
241skew_mass_slope = 0.4663268427556548
242skew_redshift_slope = -2.179813633376555
243skew_peak_slope = 0.16461074430397668
244skew_duration_slope = -0.30907197362484845
245skew_concentration_blue = 1.7919751252318694
246skew_concentration_red = 3.4195322525005967
248# The recent-burst parameters are fixed fiducial assumptions because the
249# observational catalogues used above contain only smooth fitted SFHs. At
250# log10(Mformed/Msun)=10 and z=0, they correspond to burst probabilities of
251# 0.08 and 0.035 and mean active formed-mass fractions of 0.03 and 0.01 for
252# blue and red galaxies, respectively.
253burst_intercept_blue = -2.4423470353692047
254burst_intercept_red = -3.316780039849572
255burst_mass_slope = 0.0
256burst_redshift_slope = 0.0
257fburst_intercept_blue = -1.737939956653621
258fburst_intercept_red = -2.9544893150199423
259fburst_mass_slope = 0.0
260fburst_redshift_slope = 0.0
261fburst_concentration_blue = 12.0
262fburst_concentration_red = 20.0
264# Parameters for the published snorm_trunc SFH population model.
266magemax_z0 = 13.4
267mtrunc = PROSPECT_SNORM_TRUNCATION
269logmpeak_massevo_slope_zevo_intcpt_red = -0.10385816
270logmpeak_massevo_slope_zevo_slope_red = -1.52420053
272logmpeak_massevo_slope_zevo_intcpt_blue = 0.00648434
273logmpeak_massevo_slope_zevo_slope_blue = -3.54384208
275logmpeak_massevo_intcpt_zevo_intcpt_red = 0.22328791
276logmpeak_massevo_intcpt_zevo_slope_red = 15.14361675
278logmpeak_massevo_intcpt_zevo_intcpt_blue = -0.65466787
279logmpeak_massevo_intcpt_zevo_slope_blue = 35.0180344
281logmperiod_massevo_intcpt_red = 1.19767
282logmperiod_massevo_slope_red = -0.09370334
284logmperiod_massevo_intcpt_blue = 2.72710091
285logmperiod_massevo_slope_blue = -0.21035425
287mskew_massevo_intcpt_red = -0.55390266
288mskew_massevo_slope_red = 0.06286995
290mskew_massevo_intcpt_blue = 0.02656692
291mskew_massevo_slope_blue = 0.01594687
293logmpeak_norm_min_blue = -3
294logmpeak_norm_min_red = -3
295# Values above 0 allow mpeak_norm > 1, placing the SFH peak in the future; with
296# small mperiod and positive mskew this can underflow the SFH integral to zero.
297logmpeak_norm_max_blue = 0.01
298logmpeak_norm_max_red = 0.01
300logmperiod_min_blue = np.log10(0.3)
301logmperiod_max_blue = 2
302logmperiod_min_red = np.log10(0.3)
303logmperiod_max_red = 2
305mskew_min_blue = -0.5
306mskew_max_blue = 1.0
307mskew_min_red = -0.5
308mskew_max_red = 1.0
310sfh_shape_params_cov_blue = np.array(
311 [
312 [0.4211092, -0.02020991, -0.05997905],
313 [-0.02020991, 0.2025788, -0.07062304],
314 [-0.05997905, -0.07062304, 0.12102846],
315 ]
316)
317sfh_shape_params_cov_red = np.array(
318 [
319 [0.51743558, -0.00445069, -0.06305345],
320 [-0.00445069, 0.13260276, -0.0822066],
321 [-0.06305345, -0.0822066, 0.09058901],
322 ]
323)
325# ----------------------
326# Surviving stellar mass emulator
327# ----------------------
329surviv_stellar_mass_emulator_property_scaler = "property_scaler_surv_sm_emulator.pkl"
330surviv_stellar_mass_emulator_ssm_scaler = "ssm_scaler_surv_sm_emulator.pkl"
331surviv_stellar_mass_emulator_model = "surv_sm_emulator.pt"
333# Versioned ratio-predicting emulators used only by the conditional SFH models.
334# These paths become available after the reviewed Task 1 models are published
335# into GalSBI_SPS_res; the published Tortorelli+25 mode continues to use the
336# three files above.
337surviv_stellar_mass_emulator_version = "1.0.0"
338surviv_stellar_mass_emulator_smooth_directory = os.path.join(
339 data_path("GalSBI_SPS_res"), "surviving_stellar_mass_emulator", "smooth-v2"
340)
341surviv_stellar_mass_emulator_burst_directory = os.path.join(
342 data_path("GalSBI_SPS_res"), "surviving_stellar_mass_emulator", "burst-v1"
343)
345SURVIVING_MASS_METADATA_FORMAT_VERSION = "1.0"
346SURVIVING_MASS_EMULATOR_TYPE = "surviving_stellar_mass_emulator"
347SURVIVING_MASS_TARGET = "log10_surviving_to_formed_mass_ratio"
348SURVIVING_MASS_TARGET_DEFINITION = "log10(surviving_stellar_mass / formed_stellar_mass)"
349SURVIVING_MASS_PARAMETER_MARGIN = 1.0e-3
350SURVIVING_MASS_RATIO_BOUNDARY_ERROR_DEX = 0.011
351SMOOTH_SURVIVING_MASS_MODEL = "massfunc_snorm_trunc"
352BURST_SURVIVING_MASS_MODEL = "massfunc_snorm_burst_trunc"
353SMOOTH_SURVIVING_MASS_PROPERTIES = (
354 "magemax",
355 "mpeak",
356 "logmperiod",
357 "mskew",
358 "logZfinal",
359)
360BURST_SURVIVING_MASS_PROPERTIES = SMOOTH_SURVIVING_MASS_PROPERTIES + ("logfburst",)
362# ----------------------
363# Prospect SED generator
364# ----------------------
366sed_generator = "Prospect"
367ssp_library_filepath = "PG_Ch_Mi_C3K.fits"
368filters_full_names_prospect = [
369 "u_VST",
370 "g_VST",
371 "r_VST",
372 "i_VST",
373 "Z_VISTA",
374 "Y_VISTA",
375 "J_VISTA",
376 "H_VISTA",
377 "Ks_VISTA",
378]
379filters_prospect_to_galsbi = {
380 "u_VST": "u",
381 "g_VST": "g",
382 "r_VST": "r",
383 "i_VST": "i",
384 "Z_VISTA": "Z",
385 "Y_VISTA": "Y",
386 "J_VISTA": "J",
387 "H_VISTA": "H",
388 "Ks_VISTA": "Ks",
389}
390save_SEDs = False
391full_resolution_SEDs = False
392n_cores_for_sed_generation = 2
393SOLAR_LUMINOSITY_ERG_S = 3.8275 * 10**33
394MPC_TO_CM = 3.08567758128 * 10**24
395LIGHTSPEED_ANGSTROM_S = 2.9979245800 * 10**18
397# ----------------------
398# ProMage magnitude emulator
399# ----------------------
401PROMAGE_SMOOTH_SFH_MODEL = "massfunc_snorm_trunc"
402PROMAGE_BURST_SFH_MODEL = "massfunc_snorm_burst_trunc"
403PROMAGE_SMOOTH_PROPERTIES = (
404 "z",
405 "logmSFR",
406 "mpeak",
407 "logmperiod",
408 "mskew",
409 "logZfinal",
410 "logtaubirth",
411 "logtauscreen",
412 "alphabirth",
413 "alphascreen",
414 "logU",
415)
416PROMAGE_BURST_PROPERTIES = PROMAGE_SMOOTH_PROPERTIES + ("logfburst",)
418ProMage_model_filepath = data_path("ProMage_res")
419promage_sfh_model = PROMAGE_SMOOTH_SFH_MODEL
420promage_burst_sfh_model = PROMAGE_BURST_SFH_MODEL
421filters_full_names_prospect_selection = "i_VST"
422promage_selection_mag_threshold = 30.2
423promage_reconstruction_error = 0.01
425# ----------------
426# Dust attenuation
427# ----------------
429SEED_OFFSET_DUSTATT = 500
431# logtauscreen limits from Thorne+2022 in place of Bellstedt+20
432dust_attenuation_law = "CharlotFall2000"
433dust_attenuation_population_model = "tortorelli25"
434logtaubirth_mean_blue = -0.10
435logtaubirth_mean_red = -0.18
436logtaubirth_scatter_blue = 0.24
437logtaubirth_scatter_red = 0.21
438logtaubirth_min = -2.5
439logtaubirth_max = 1.5
441logtauscreen_a0_blue = -0.861
442logtauscreen_a1_blue = 0.643
443logtauscreen_a2_blue = 0.210
444logtauscreen_a3_blue = 0.170
445logtauscreen_scatter_blue = 0.247
447logtauscreen_a0_red = 0.850
448logtauscreen_a1_red = 1.586
449logtauscreen_a2_red = -0.174
450logtauscreen_a3_red = -0.0083
451logtauscreen_scatter_red = 0.417
453logtauscreen_min = -5
454logtauscreen_max = 1
456# Two-population diffuse-screen model. The four predictors
457# are 1, log10(1 + z), log10(M_surviving / M_sun) - 10, and
458# max(log10(sSFR / yr^-1), dust_logssfr_floor) + 10.5.
459dust_logssfr_reference = -10.5
460dust_logssfr_floor = -13.0
462logtauscreen_dustpoor_probability_a0_blue = -0.8591405726678454
463logtauscreen_dustpoor_probability_a1_blue = 5.469112443620385
464logtauscreen_dustpoor_probability_a2_blue = -3.219202417140156
465logtauscreen_dustpoor_probability_a3_blue = -1.91234756803492
466logtauscreen_dustpoor_a0_blue = -2.9929693243414865
467logtauscreen_dustpoor_a1_blue = -0.5584519239128641
468logtauscreen_dustpoor_a2_blue = 0.7423098089695657
469logtauscreen_dustpoor_a3_blue = 0.1341305310039936
470logtauscreen_dustpoor_scatter_blue = 1.6334896655294733
471logtauscreen_dustrich_a0_blue = -0.6099641701849251
472logtauscreen_dustrich_a1_blue = 0.2882833006952505
473logtauscreen_dustrich_a2_blue = 0.3040949823512854
474logtauscreen_dustrich_a3_blue = 0.2174064912663223
475logtauscreen_dustrich_scatter_blue = 0.26460107397675714
477logtauscreen_dustpoor_probability_a0_red = -0.4675812377924598
478logtauscreen_dustpoor_probability_a1_red = -0.3266720919121866
479logtauscreen_dustpoor_probability_a2_red = -0.12757794597107955
480logtauscreen_dustpoor_probability_a3_red = -0.25454101187746675
481logtauscreen_dustpoor_a0_red = -3.824520014142177
482logtauscreen_dustpoor_a1_red = -0.4949937499866717
483logtauscreen_dustpoor_a2_red = 0.18094640603722234
484logtauscreen_dustpoor_a3_red = 0.17604608428368357
485logtauscreen_dustpoor_scatter_red = 1.2964812003665729
486logtauscreen_dustrich_a0_red = -0.7065245799409315
487logtauscreen_dustrich_a1_red = 1.1405080630674573
488logtauscreen_dustrich_a2_red = -0.12128075514614006
489logtauscreen_dustrich_a3_red = 0.015324570777069528
490logtauscreen_dustrich_scatter_red = 0.4299588292775052
492# ----------------
493# Dust emission
494# ----------------
496SEED_OFFSET_DUSTEM = 600
498dust_emission_mean_blue = np.array([1.80, 1.70])
499dust_emission_mean_red = np.array([1.97, 1.91])
500dust_emission_cov_blue = np.array([[0.19, 0.12], [0.12, 0.20]])
501dust_emission_cov_red = np.array([[0.08, 0.02], [0.02, 0.16]])
503# -------------------
504# Metallicity
505# -------------------
507# # SOLAR_GAS_METALLICITY = 0.0142
508SOLAR_GAS_METALLICITY = (
509 0.02 # Aaron's suggestion to ensure compatibility with PROSPECT definitions
510)
511SOLAR_LOG_OH_PLUS12 = 8.69
512SOLAR_STELLAR_METALLICITY = 0.02
513SEED_OFFSET_ZGAS = 300
515# parametrization from Bellstedt+2021
516# parameters for the scatter: Bellstedt+2021
517gas_metallicity_scatter0_blue = 0.427
518gas_metallicity_scatter1_blue = -0.02979
519gas_metallicity_scatter2_blue = 0.0026182
520gas_metallicity_scatter0_red = 0.427
521gas_metallicity_scatter1_red = -0.02979
522gas_metallicity_scatter2_red = 0.0026182
524gas_metallicity_alpha0_blue = -0.9202
525gas_metallicity_alpha1_blue = 0.2916
526gas_metallicity_alpha2_blue = -0.05082
527gas_metallicity_beta0_blue = 1.198
528gas_metallicity_beta1_blue = -0.2658
529gas_metallicity_beta2_blue = 0.04884
530gas_metallicity_gamma0_blue = -2.785
531gas_metallicity_gamma1_blue = 2.268
532gas_metallicity_gamma2_blue = -0.4267
533gas_metallicity_alpha0_red = -0.9202
534gas_metallicity_alpha1_red = 0.2916
535gas_metallicity_alpha2_red = -0.05082
536gas_metallicity_beta0_red = 1.198
537gas_metallicity_beta1_red = -0.2658
538gas_metallicity_beta2_red = 0.04884
539gas_metallicity_gamma0_red = -2.785
540gas_metallicity_gamma1_red = 2.268
541gas_metallicity_gamma2_red = -0.4267
543# limits from Bellstedt+2021
544Zgas_init = 0.0001
545Zgas_max = 10 ** (-1.3)
547# --------------
548# Gas ionization
549# --------------
551SEED_OFFSET_LOGU = 400
553# parametrization from Kashino+2019
554gas_ionization_upsilon0 = -2.316
555gas_ionization_upsilon1 = -0.360
556gas_ionization_upsilon2 = -0.292
557gas_ionization_upsilon3 = 0.428
558gas_ionization_scatter = 0.1
559logUmin = -4
560logUmax = -1
562# --------------
563# AGN
564# --------------
566SEED_OFFSET_AGN = 900
568abs_path_temple2021 = "qsogen"
569add_agn_component = False
571logfagn_mu1_blue = -6.25
572logfagn_sigma1_blue = 2
573logfagn_mu2_blue = -0.75
574logfagn_sigma2_blue = 0.8
576logfagn_mu1_red = -5.5
577logfagn_sigma1_red = 1.75
578logfagn_mu2_red = -0.25
579logfagn_sigma2_red = 0.7
581alpha_AGN_03_z_08 = -0.25
582alpha_AGN_08_z_15 = -0.19
583alpha_AGN_15_z_25 = -0.03
585log_Mstar_AGN_03_z_08 = 10.99
586log_Mstar_AGN_08_z_15 = 10.99
587log_Mstar_AGN_15_z_25 = 10.99
589phi_star_AGN_03_z_08 = 10 ** (-3.83)
590phi_star_AGN_08_z_15 = 10 ** (-3.54)
591phi_star_AGN_15_z_25 = 10 ** (-3.84)
593logfagn_nohost_min = -10
594logfagn_nohost_max = -1
596logfagn_host_min = -1
597logfagn_host_max = 2
599# -------------------
600# Sersic distribution
601# -------------------
603sersic_sampling_method = "sersic_stellar_mass"
605# minimum sersic index
606sersic_n_min = 0.2
607# maximum sersic index
608sersic_n_max = 10
610sersic_n_0_blue = 1.04269007
611sersic_n_1_blue = 0.17637649
612sersic_n_2_blue = 12.75004841
613sersic_n_scatter_blue = 0.90902036
615sersic_n_0_red = 1.05421348
616sersic_n_1_red = 1.45273864
617sersic_n_2_red = 7.63380979
618sersic_n_scatter_red = 1.4392298