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")
|