#!/usr/bin/env python
from pathlib import Path
import sys
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
from src.config_utils import load_config, ensure_dirs
from src.io_utils import open_mask, open_lead_dataset
from src.time_utils import make_time_axis, lead_periods

cfg = load_config()
dirs = ensure_dirs(cfg)
print('Project:', cfg['project_name'], cfg.get('version',''))
print('Root:', dirs['root'])
open_mask(cfg)
print('Mask OK:', cfg['paths']['mask_file'])
for lead in cfg['time']['leads']:
    p = lead_periods(cfg, int(lead))
    print(f"LT={lead}: train={p.train_start:%Y-%m}..{p.train_end:%Y-%m}; valid={p.valid_start:%Y-%m}..{p.valid_end:%Y-%m}; clim={p.clim_start:%Y-%m}..{p.clim_end:%Y-%m}")
for source in cfg['members']['source_models']:
    ds = open_lead_dataset(cfg, source, int(cfg['time']['leads'][0]))
    print('Sample input OK:', source, dict(ds.sizes))
print('Config check OK')
