Deborah.DeborahEstherMiriam.MiriamDependencyManager
Deborah.DeborahEstherMiriam.MiriamDependencyManager.ensure_ensemble_exists — Functionensure_ensemble_exists(
toml_path::String,
jobid::Union{Nothing, String}=nothing
) -> NothingEnsures that all necessary outputs for each ensemble exist by invoking the Deborah.Esther pipeline. For each ensemble listed in the configuration, this function checks or generates data by calling MiriamDependencyManager.run_Esther_from_Miriam.
Arguments
toml_path::String: Path to theTOMLconfiguration file.jobid::Union{Nothing, String}: Optional job ID for logging purposes.
Behavior
- Parses the given
TOMLfile. - Iterates through all listed ensembles and associated $\kappa$ values.
- For each ensemble, invokes
MiriamDependencyManager.run_Esther_from_Miriamto ensure outputs are created.
Returns
Nothing: All effects are side-effectual (file generation/logging).
Deborah.DeborahEstherMiriam.MiriamDependencyManager.generate_toml_dict — Methodgenerate_toml_dict(
location::String,
ensemble::String,
TrM1_X::Vector{String},
TrM1_Y::String,
TrM1_model::String,
TrM1_read_column_X::Vector{Int},
TrM1_read_column_Y::Int,
TrM1_index_column::Int,
TrM2_X::Vector{String},
TrM2_Y::String,
TrM2_model::String,
TrM2_read_column_X::Vector{Int},
TrM2_read_column_Y::Int,
TrM2_index_column::Int,
TrM3_X::Vector{String},
TrM3_Y::String,
TrM3_model::String,
TrM3_read_column_X::Vector{Int},
TrM3_read_column_Y::Int,
TrM3_index_column::Int,
TrM4_X::Vector{String},
TrM4_Y::String,
TrM4_model::String,
TrM4_read_column_X::Vector{Int},
TrM4_read_column_Y::Int,
TrM4_index_column::Int,
LBP::Int,
TRP::Int,
ns::Int,
nt::Int,
nf::Int,
beta::Float64,
kappa::Float64,
ranseed::Int,
N_bs::Int,
blk_size::Int,
method::String,
bin_size::Int,
analysis_header::String,
IDX_shift::Int,
dump_X::Bool,
abbreviation::Dict{String,String},
use_abbreviation::Bool
) -> DictGenerate a TOML-ready nested dictionary capturing all parameters needed for the Deborah.DeborahCore-Deborah.Esther-Deborah.Miriam pipeline.
Arguments
location::String: Root path for outputs.ensemble::String: Ensemble identifier (e.g.,"L8T4b1.60k13570").TrMi_X,TrMi_Y,TrMi_model: Input–output specs and model for $\text{Tr} \, M^{-n} \; (n=1,2,3,4)$.TrM*_read_column_X::Vector{Int}: $1$-based value-column indices for eachXfile.TrM*_read_column_Y::Int: $1$-based value-column index for eachYfile.TrM*_index_column::Int: $1$-based column index of configuration IDs.LBP::Int,TRP::Int: Label/training partition identifiers used across the pipeline.ns::Int,nt::Int,nf::Int: Lattice/meta parameters consumed downstream.beta::Float64,kappa::Float64: Simulation parameters.ranseed::Int,N_bs::Int,blk_size::Int: Bootstrap configuration.method::String: Block-bootstrap scheme to encode inTOML:"nonoverlapping"— Nonoverlapping Block Bootstrap (NBB)"moving"— Moving Block Bootstrap (MBB)"circular"— Circular Block Bootstrap (CBB; wrap-around windows)
bin_size::Int: Jackknife bin size.analysis_header::String: Analysis group/prefix (e.g.,"analysis").IDX_shift::Int: Index offset/shift propagated toDeborah.DeborahCore.dump_X::Bool: Whether to dump/save inputXmatrices.abbreviation::Dict{String,String}: Abbreviation map for feature/path encoding.use_abbreviation::Bool: Iftrue, use abbreviation-based names/paths.
Returns
Dict: A nestedTOML-compatible dictionary including sections/keys for:- data/paths (
location,ensemble,analysis_header,abbreviation,use_abbreviation), - IO columns (
read_column_X,read_column_Y,index_column,IDX_shift,dump_X), - bootstrap (
ranseed,N_bs,blk_size,method), - jackknife (
bin_size), - partitions (
LBP,TRP), - model & targets (per-$\text{Tr} \, M^{-n} \; (n=1,2,3,4)$
X,Y,model), - lattice/meta (
ns,nt,nf,beta,kappa).
- data/paths (
Notes
- All column indices are $1$-based.
methodmust be one of the three literal strings above; callers should validate before writingTOML.
Deborah.DeborahEstherMiriam.MiriamDependencyManager.run_Esther_from_Miriam — Functionrun_Esther_from_Miriam(
location::String,
ensemble::String,
TrM1_X::Vector{String},
TrM1_Y::String,
TrM1_model::String,
TrM1_read_column_X::Vector{Int},
TrM1_read_column_Y::Int,
TrM1_index_column::Int,
TrM2_X::Vector{String},
TrM2_Y::String,
TrM2_model::String,
TrM2_read_column_X::Vector{Int},
TrM2_read_column_Y::Int,
TrM2_index_column::Int,
TrM3_X::Vector{String},
TrM3_Y::String,
TrM3_model::String,
TrM3_read_column_X::Vector{Int},
TrM3_read_column_Y::Int,
TrM3_index_column::Int,
TrM4_X::Vector{String},
TrM4_Y::String,
TrM4_model::String,
TrM4_read_column_X::Vector{Int},
TrM4_read_column_Y::Int,
TrM4_index_column::Int,
LBP::Int,
TRP::Int,
ns::Int,
nt::Int,
nf::Int,
beta::Float64,
kappa::Float64,
ranseed::Int,
N_bs::Int,
blk_size::Int,
method::String,
bin_size::Int,
analysis_header::String,
IDX_shift::Int,
dump_X::Bool,
overall_name::String,
abbreviation::Dict{String,String},
use_abbreviation::Bool,
good_flag::Bool,
jobid::Union{Nothing, String}=nothing
) -> NothingRun the full Deborah.Esther pipeline for a single ensemble, using four $\text{Tr} \, M^{-n} \; (n=1,2,3,4)$ inputs (as configured by Deborah.Miriam). Creates/reads required $\text{Tr} \, M^{-n} \; (n=1,2,3,4)$, performs modeling and error estimation, and writes results to disk.
Arguments
location::String: Root directory containing ensemble data.ensemble::String: Ensemble identifier (e.g.,"L8T4b1.60k13580").TrM*_X::Vector{String}:X-observable names for each $\text{Tr} \, M^{-n} \; (n=1,2,3,4)$ input.TrM*_Y::String:Yobservable name for each $\text{Tr} \, M^{-n} \; (n=1,2,3,4)$ input.TrM*_model::String: Model name used for each $\text{Tr} \, M^{-n} \; (n=1,2,3,4)$ input.TrM*_read_column_X::Vector{Int}: $1$-based value-column indices for eachXfile.TrM*_read_column_Y::Int: $1$-based value-column index for eachYtrace file.TrM*_index_column::Int: $1$-based column index of configuration IDs in files.LBP::Int: Labeled set partition/group identifier.TRP::Int: Training set partition/group identifier.ns,nt,nf(::Int) : Lattice meta (spatial size, temporal size, and an integer meta parameter used by downstream transforms).beta::Float64,kappa::Float64: Simulation parameters.ranseed::Int: Random seed for bootstrap.N_bs::Int: Number of bootstrap replicates.blk_size::Int: Block length for block bootstrap ($\ge 1$).method::String: Block-bootstrap scheme:"nonoverlapping"— Nonoverlapping Block Bootstrap (NBB)"moving"— Moving Block Bootstrap (MBB)"circular"— Circular Block Bootstrap (CBB; wrap-around windows)
bin_size::Int: Jackknife bin size.analysis_header::String: Analysis prefix (e.g.,"analysis").IDX_shift::Int: Optional index shift applied to real datasets.dump_X::Bool: Whether to save/dump inputXmatrices.overall_name::String: Directory-safe tag for output labeling.abbreviation::Dict{String,String}: Mapping of variable names to encoded tokens.use_abbreviation::Bool: Iftrue, use abbreviation-based paths/filenames.good_flag::Bool: Caller-provided gate to proceed or skip (e.g., sanity check outcome).jobid::Union{Nothing,String}: Optional job identifier for structured logging.
Behavior
- Resolves paths (respecting
use_abbreviation) and prepares per-$\text{Tr} \, M^{-n} \; (n=1,2,3,4)$ inputs. - If required $\text{Tr} \, M^{-n} \; (n=1,2,3,4)$ files are missing, may trigger
Deborah.DeborahCoregeneration with aTOMLthat includesranseed,N_bs,blk_size,method, andbin_size. - Runs modeling per $\text{Tr} \, M^{-n} \; (n=1,2,3,4)$, assembles outputs, and performs uncertainty estimates via block bootstrap (
N_bs,blk_size,method) and jackknife (bin_size).
Returns
Nothing— side-effecting orchestration routine.
Notes
methodmust be one of"nonoverlapping","moving","circular"; invalid values should be rejected early.- All column indices are $1$-based.
- Downstream components assume consistency between lattice meta (
ns,nt,nf) and the loaded traces.