Source code for covariance_mocks.utils

"""
Utilities Module

Common utility functions for the covariance mocks pipeline.
"""

import os

# AbacusSummit data configuration
ABACUS_BASE_PATH = "/global/cfs/cdirs/desi/public/cosmosim/AbacusSummit/small"
SIMULATION_SUITE = "small"


[docs] def validate_catalog_path(catalog_path): """ Verify that the catalog path exists and is accessible. Parameters ---------- catalog_path : str Path to AbacusSummit halo catalog directory Returns ------- bool True if path exists and is accessible Raises ------ FileNotFoundError If catalog path does not exist or is not a directory """ if not os.path.isdir(catalog_path): raise FileNotFoundError(f"AbacusSummit catalog not found: {catalog_path}") return True
[docs] def generate_output_filename(simulation_box, phase, redshift, n_gen=None): """ Generate standardized output filename for mock catalogs. Parameters ---------- simulation_box : str Simulation box identifier (e.g., "AbacusSummit_small_c000") phase : str Phase identifier (e.g., "ph3000") redshift : str Redshift string (e.g., "z1.100") n_gen : int, optional Number of halos for test mode (adds test suffix) Returns ------- str Standardized HDF5 filename following naming convention Examples -------- >>> generate_output_filename("AbacusSummit_small_c000", "ph3000", "z1.100") 'mock_AbacusSummit_small_c000_ph3000_z1.100.hdf5' >>> generate_output_filename("AbacusSummit_small_c000", "ph3000", "z1.100", n_gen=5000) 'mock_AbacusSummit_small_c000_ph3000_z1.100_test5000.hdf5' """ if n_gen is not None: return f"mock_{simulation_box}_{phase}_{redshift}_test{n_gen}.hdf5" else: return f"mock_{simulation_box}_{phase}_{redshift}.hdf5"