Deborah.EstherDocument.EstherDocumentRunner

Deborah.EstherDocument.EstherDocumentRunner.run_EstherDocumentFunction
run_EstherDocument(
  toml_path::String, 
  jobid::Union{Nothing,String}=nothing
) -> Nothing

Run the full Esther JLD2-generation pipeline for a single ensemble.

Overview

  • Produces a multi-target comparison report across four prediction models ($\text{Tr} \, M^{-n} \; (n=1,2,3,4)$).
  • Reads a TOML config, loads/extends summary data, and writes a JLD2 snapshot.

Config (TOML) expectations

  • The file at toml_path must define, at minimum, the following keys: [data]
    • location::String : project root (e.g., "./nf4_clover_wilson_finiteT")
    • ensemble::String : ensemble name (e.g., "L8T4b1.60k13570")
    • analysis_header::String : analysis prefix (e.g., "analysis")
    • labels::Vector{String} : label indices as strings (parsed to Int)
    • trains::Vector{String} : train indices as strings (parsed to Int)
    • use_abbreviation::Bool : whether to abbreviate observable names in outputs
    • TrM1_X::Vector{String}, TrM1_Y::String, TrM1_model::String
    • TrM2_X::Vector{String}, TrM2_Y::String, TrM2_model::String
    • TrM3_X::Vector{String}, TrM3_Y::String, TrM3_model::String
    • TrM4_X::Vector{String}, TrM4_Y::String, TrM4_model::String
    [abbreviation]
    • Dict{String,String}mapping raw filenames to short tags (used when use_abbreviation=true).
    [bootstrap], [jackknife] sections exist and are consumed upstream.

Arguments

Outputs

  • Console:
    • Formatted AVG(ERR) tables for each prediction tag (as produced by downstream steps).
  • Files:
    • Results snapshot (JLD2): <location>/<analysis_header>_<ensemble>/<analysis_header>_<overall_name>/results_<overall_name>.jld2 and a copy: ./results_<overall_name>.jld2 in the current working directory.

Workflow

  1. Parse configuration from toml_path.
  2. Build code strings:
  3. Construct naming:
    • analysis_ensemble = "<analysis_header>_<ensemble>"
    • overall_name = "<ensemble>_<learning>"
    • cumulant_name = "<analysis_header>_<overall_name>"
  4. Load and extend summary dictionary via: Deborah.Rebekah.SummaryLoader.load_summary.
  5. Save results to JLD2 and copy to CWD via Deborah.Rebekah.JLD2Saver.save_results and cp(...; force=true).

Notes

  • This function focuses on configuration parsing, naming, summary loading, and JLD2 persistence.
source