aboutsummaryrefslogtreecommitdiffstats
path: root/fg21sim/configs/00-general.conf.spec
blob: e4a603a487a2e08bbf05093485bd0cd8d08ad0fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# Configurations for "fg21sim"
# -*- mode: conf -*-
#
# Syntax: `ConfigObj`, https://github.com/DiffSK/configobj
#
# This file contains the general configurations, which control the general
# behaviors, or will be used in other configuration sections.


# Common/general configurations for the simulation
[common]
# HEALPix Nside value, i.e., pixel resolution
# NOTE: also update "lmax" below.
nside = integer(min=1, default=1024)

# Range of multipole monents (l) of the angular power spectrum.
# The power spectrum will be cut off to a constant for multipole l < lmin.
# Generally, lmax = 3 * nside - 1
lmin = integer(min=0, default=10)
lmax = integer(min=1, default=3071)

# List of foreground components to be simulated:
# + galactic/synchrotron:
#       Diffuse Galactic synchrotron emission (unpolarized)
# + galactic/freefree:
#       Diffuse Galactic free-free emission
# + galactic/snr:
#       Galactic supernova remnants emission
components = force_list(default=list("galactic/synchrotron", "galactic/freefree", "galactic/snr"))


# Frequencies specification of the simulation products
[frequency]
# Unit of the frequency value
unit = option("MHz", default="MHz")

# How to specify the frequencies
# + custom:
#       directly specify the frequency values using the "frequencies" config
# + calc:
#       calculate the frequency values by "start", "stop", and "step"
type = option("custom", "calc", default="custom")

# The frequency values to be simulated if above "type" is "custom".
frequencies = float_list(default=list())

# Parameters to calculate the frequencies
# start and stop frequency value (both inclusive)
start = float(default=None)
stop = float(default=None)
step = float(default=None)


# Configuration for output products
[output]
# Unit of the sky map pixel value
unit = option("K", default="K")

# Use single-precision float instead of double (also save spaces)
use_float = boolean(default=True)

# Filetype used to store the products (default: fits)
filetype = option("fits", default="fits")

# Filename pattern (without extension) for the output products, which will
# be finally formatted using `str.format()`.
filename_pattern = string(default="{prefix}_{frequency:05.1f}")

# Whether calculate the checksum for the output file (e.g., "CHECKSUM"
# keyword in FITS header)?
# NOTE:
# FITS checksum calculation may account for half the time to output the data.
checksum = boolean(default=False)

# Whether overwrite existing files
clobber = boolean(default=False)

# Whether combine all components and output
combine = boolean(default=True)
# Prefix for the combined files
combine_prefix = string(default="fg")
# Output directory to place the combined products
# NOTE: This config is mandatory and should be provided by the user
#       if above "combine=True".
output_dir = string(default=None)


# Cosmological parameters
[cosmology]
# Hubble constant at z=0 [ km/s/Mpc ]
H0 = float(default=71.0)
# Density of non-relativistic matter in units of the critical density at z=0
OmegaM0 = float(default=0.27)


# Configurations for initialization/reconfiguration of the `logging` module
[logging]
# DEBUG:    Detailed information, typically of interest only when diagnosing
#           problems.
# INFO:     Confirmation that things are working as expected.
# WARNING:  An dinciation that something unexpected happended, or indicative
#           of some problem in the near future (e.g., "disk space low").
#           The software is still working as expected.
# ERROR:    Due to a more serious problem, the software has not been able to
#           perform some function.
# CRITICAL: A serious error, indicating that the program itself may be unable
#           to continue running.
level = option("DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL", default="INFO")

# Set the format of displayed messages
format = string(default="%(asctime)s [%(levelname)s] %(name)s: %(message)s")

# Set the date/time format in messages
datefmt = string(default="%Y-%m-%dT%H:%M:%S")

# Set the logging filename (will create a `FileHandler`)
# If set to "" (empty string), then the `FileHandler` will be disabled.
filename = string(default="")
# Set the mode to open the above logging file (default: "append" mode)
filemode = option("w", "a", default="a")

# Set the stream used to initialize the `StreamHandler`
# If set to "" (empty string), then the `StreamHandler` will be disabled.
stream = option("stderr", "stdout", "", default="stderr")