YAML Configuration Reference
3DCubeGen uses YAML configuration files to control LVM cube generation.
Two command modes are available: sincube for generating a single cube, and
pipecube for batch-processing multiple targets through a pipeline.
Template configuration files are provided in the Configfiles/ directory:
Configfiles/config_sincube.yml– single-cube modeConfigfiles/config_pipecube.yml– pipeline mode
sincube Configuration
The sincube section defines parameters for generating a single data cube
from one target.
Parameter |
Type |
Default |
Description |
|---|---|---|---|
|
string |
|
Survey identifier. Must contain |
|
string |
|
Output directory for the generated cube FITS files. |
|
string |
|
DRP reduction version of the input |
|
string |
|
Path to the redux directory. When empty, defaults to
|
|
float |
|
Smoothing kernel size (arcsec) used to reconstruct the cube. This sets the spatial resolution. |
|
float |
|
Output spaxel size (arcsec). When set to |
|
float |
|
Kernel shape factor. A value of |
|
bool |
|
If |
|
string |
– |
Root name for the target. Used as both the output cube filename stem
and the exposure list filename (read from |
|
bool |
|
Use the astrometry stored in the slitmap header of the RSS files. |
|
bool |
|
Enable or disable progress bars during processing. |
|
list |
|
Spectral range |
|
string |
|
Path to the local SDSS SAS directory. Used only if the
|
|
string |
|
Template filename of the input RSS files. |
|
bool |
|
Enable error propagation. When |
|
float |
|
Multiplicative factor applied to the field-of-view extent in the Y (declination) direction. |
|
float |
|
Multiplicative factor applied to the field-of-view extent in the X (right ascension) direction. |
|
bool |
|
Enable centering of the output field-of-view on the coordinates given
by |
|
list |
|
Central coordinates |
|
string |
|
Directory path where the exposure list file is located. The code opens
|
sincube Example
---
sincube:
- survey_type: LVM
out_path: out_cubes/
redux_ver: 1.1.1.dev0
redux_dir: ''
sigm_s: 32.2
pix_s: 0.0
alph_s: 2
flu16: True
nameF: NGC_1234
use_slitmap: True
pbars: True
spec_range: [0, 0]
path_sas: ''
basename: lvmSFrame-NAME.fits
errors: True
fac_sizeY: 1.1
fac_sizeX: 1.1
cent: True
coord_cen: [180.0, -30.0]
pathF: exposure_lists/
pipecube Configuration
The pipecube section defines parameters for batch-processing multiple
targets. It shares most parameters with sincube but adds pipeline-specific
options and uses a predefined kernel type instead of explicit sigm_s/pix_s
values.
Parameter |
Type |
Default |
Description |
|---|---|---|---|
|
string |
|
Survey identifier. Must contain |
|
string |
|
Base output directory. The pipeline automatically appends
|
|
string |
|
DRP reduction version. |
|
string |
|
Path to the redux directory. When empty, defaults to
|
|
string |
|
Kernel type code that sets the spatial resolution. See Type-to-parameter mapping below. |
|
bool |
|
Flux unit scaling (same as sincube). |
|
list |
– |
List of target names, e.g. |
|
bool |
|
Use slitmap astrometry. |
|
bool |
|
Enable progress bars. |
|
string |
|
Local SAS directory path (see SAS Directory Resolution). |
|
string |
|
RSS file template name. |
|
bool |
|
Enable error propagation. |
|
float |
|
FoV Y extent factor. |
|
float |
|
FoV X extent factor. |
|
bool |
|
Enable FoV centering. |
|
list |
|
List of |
|
string |
|
Directory containing the exposure list files. |
|
bool |
|
Enable cube merging. When a target has more than 100 exposures, the cube is built in spectral chunks and then co-added. |
|
int |
|
Number of spatial tiles per axis for the merged cube ( |
|
bool |
|
After cube generation, extract an RSS from the cube. |
|
string |
|
Base output directory for extracted RSS files. The pipeline appends
|
|
int |
|
Number of parallel threads for the kernel interpolation. |
|
bool |
|
When |
|
int |
|
Starting index for spectral chunk processing. Set to a non-zero value to resume from a specific chunk after interruption. |
pipecube Example
---
pipecube:
- survey_type: LVM
out_path: out_cubes/
redux_ver: 1.1.1.dev0
redux_dir: ''
type: c
flu16: True
nameL: [NGC_1234, NGC_5678]
use_slitmap: True
pbars: True
path_sas: ''
basename: lvmSFrame-NAME.fits
errors: True
fac_sizeY: 1.1
fac_sizeX: 1.1
cent: True
coord_cenL: [[180.0, -30.0], [200.0, -25.0]]
pathF: exposure_lists/
mergecube: False
nsp: 0
cube2rss: True
out_pathrss: out_rss/
nproc: 3
force_merge: False
index_reset: 0
Kernel Type Codes
The pipecube command uses a single-letter type code to select a
predefined kernel size. The kernel size (sigm_s) and spaxel size
(pix_s) are computed as:
sigm_s = 8.8 * 32 * multiplier (arcsec)
pix_s = 8.8 * 0.75 * 32 * multiplier (arcsec)
where the multiplier depends on the type code:
Code |
Multiplier |
sigm_s (arcsec) |
pix_s (arcsec) |
|---|---|---|---|
|
16 |
4505.6 |
3379.2 |
|
8 |
2252.8 |
1689.6 |
|
4 |
1126.4 |
844.8 |
|
2 |
563.2 |
422.4 |
|
1 |
281.6 |
211.2 |
|
1/2 |
140.8 |
105.6 |
|
1/4 |
70.4 |
52.8 |
|
1/8 |
35.2 |
26.4 |
|
1/16 |
17.6 |
13.2 |
|
1/32 |
8.8 |
6.6 |
Larger multipliers produce coarser spatial resolution (bigger kernels and spaxels), suitable for large mosaics. Smaller multipliers give finer resolution for individual pointings.
Note
For targets with fewer than 3 exposures, types i and j are
automatically upgraded to type h to avoid undersampling.
SAS Directory Resolution
The code resolves the SAS base directory in this order:
If the
SAS_BASE_DIRenvironment variable is set, its value is used (with a trailing/appended).Otherwise, the
path_sasconfig parameter is used (with a trailing/appended).
The redux directory is then constructed as:
<SAS_BASE_DIR>/sdsswork/lvm/spectro/redux
unless redux_dir is explicitly set to a non-empty value.
Output Path Construction
sincube: Output files are written directly to out_path.
pipecube: The pipeline appends <redux_ver>/<type>/ to both
out_path and out_pathrss. For example, with:
out_path: out_cubes/
out_pathrss: out_rss/
redux_ver: 1.1.1.dev0
type: c
the effective output paths become:
out_cubes/1.1.1.dev0/c/
out_rss/1.1.1.dev0/c/
These directories are created automatically if they do not exist.