valska.external_tools.pyuvsim.setup
Prepare pyuvsim run directories, configs, and submit scripts.
Functions
|
Prepare a pyuvsim run directory containing a single simulation-stage artefact set. |
- valska.external_tools.pyuvsim.setup._apply_fwhm_perturbation(cfg: ruamel.yaml.comments.CommentedMap, *, fwhm_perturb_frac: float | None) dict[str, Any] | None
If provided, apply a multiplicative perturbation to fwhm_deg in the config:
fwhm_deg <- fwhm_deg * (1 + fwhm_perturb_frac)
If the config does not define fwhm_deg, return a provenance-only record noting that no change was applied.
- valska.external_tools.pyuvsim.setup._apply_valska_root_paths(cfg: ruamel.yaml.comments.CommentedMap, valska_root: Path) dict[str, Any]
Rewrite known pyuvsim file-path fields to absolute paths under valska_root.
- valska.external_tools.pyuvsim.setup._default_variant_from_template(template_yaml: Path) str
Derive a stable variant key from a template filename.
- Rules:
take filename stem
remove first occurrence of “_template” if present
strip leading/trailing underscores
- valska.external_tools.pyuvsim.setup._dump_yaml(data: Mapping[str, Any], path: Path) None
Write YAML using ruamel round-trip formatting.
- valska.external_tools.pyuvsim.setup._install_manifest(install: pyuvsimInstall | None) dict[str, Any] | None
Return a serializable install description for the manifest.
- valska.external_tools.pyuvsim.setup._load_yaml(path: Path) ruamel.yaml.comments.CommentedMap
Load a YAML file preserving comments and formatting.
- valska.external_tools.pyuvsim.setup._runner_manifest(runner: CondaRunner | ContainerRunner) dict[str, Any]
Return a serializable runner description for the manifest.
- valska.external_tools.pyuvsim.setup._utc_stamp() str
Return a UTC timestamp suitable for directory naming.
- valska.external_tools.pyuvsim.setup._with_valska_root(path_value: Any, valska_root: Path) Any
Convert a pyuvsim template path to an absolute path under valska_root.
If path_value is already absolute and contains ‘/config/pyuvsim/’, preserve the suffix from ‘config/pyuvsim/…’.
- valska.external_tools.pyuvsim.setup.prepare_pyuvsim_run(*, template_yaml: Path, install: pyuvsimInstall | None, runner: CondaRunner | ContainerRunner, results_root: Path, beam_model: str, sky_model: str, run_label: str, beamdata_path: Path | None = None, valska_root: Path | None = None, overrides: Mapping[str, Any] | None = None, slurm: Mapping[str, object] | None = None, slurm_cpu: Mapping[str, object] | None = None, run_dir: Path | None = None, run_id: str = 'default', variant: str | None = None, unique: bool = False, fwhm_perturb_frac: float | None = None) dict[str, Path]
Prepare a pyuvsim run directory containing a single simulation-stage artefact set.
- Canonical non-sweep layout (when run_dir is None):
<results_root>/pyuvsim/<beam_model>/<sky_model>/<variant>/<run_label>/<run_id>[/<UTCSTAMP>]
Variant defaults to a name derived from the template filename stem (first occurrence of ‘_template’ removed).
Returns
- dict
Paths to created artefacts (obsparam yaml, submit script, manifest), plus run_dir.