Loading csst_dag/v2/dfs/data_model.toml +4 −4 Original line number Diff line number Diff line # 该文件是 data_model 的“存储层级注册表”: # - 用于声明某个 data_model 实际写入 level0 / level1 / level2 的归属 # - 供通用 data.find() / get_storage_level() 等逻辑按存储层级分流 # - 供通用 data.find() / get_storage_level() / Portal submission dataset 加载按存储层级分流 # - 不用于决定 Brick DAG 的 unique healpix 搜索后端 # 当前 FileBrickDAG / CatalogBrickDAG 查询 unique healpix 时均固定访问 level2 [level0] models = ["raw"] data_models = ["raw"] [level1] models = [ data_models = [ # MSC "csst-msc-l1-ast", "csst-msc-l1-ast-astrometry", Loading Loading @@ -38,7 +38,7 @@ models = [ ] [level2] models = [ data_models = [ "csst-msc-l2-mbi-cat", "csst-msc-l2-mbi-catmix", "csst-msc-l2-mbi-xcat", Loading csst_dag/v2/dfs/model_registry.py +4 −4 Original line number Diff line number Diff line Loading @@ -20,14 +20,14 @@ def _iter_models(raw_cfg: dict[str, object], level: str) -> Iterable[str]: if not isinstance(section, dict): raise ValueError(f"data_model.toml 中的 [{level}] 必须为表。") models = section.get("models") or [] models = section.get("data_models") or [] if not isinstance(models, list): raise ValueError(f"data_model.toml 中的 [{level}].models 必须为数组。") raise ValueError(f"data_model.toml 中的 [{level}].data_models 必须为数组。") for item in models: model = _normalize_model(item) if not model: raise ValueError(f"data_model.toml 中的 [{level}].models 不能包含空值。") raise ValueError(f"data_model.toml 中的 [{level}].data_models 不能包含空值。") yield model Loading @@ -54,7 +54,7 @@ def load_data_model_registry() -> Dict[str, str]: level0_models = {model for model, level in registry.items() if level == "level0"} if level0_models != {"raw"}: raise ValueError("data_model.toml 约定 `[level0].models` 只能且必须包含 `raw`。") raise ValueError("data_model.toml 约定 `[level0].data_models` 只能且必须包含 `raw`。") return registry Loading Loading
csst_dag/v2/dfs/data_model.toml +4 −4 Original line number Diff line number Diff line # 该文件是 data_model 的“存储层级注册表”: # - 用于声明某个 data_model 实际写入 level0 / level1 / level2 的归属 # - 供通用 data.find() / get_storage_level() 等逻辑按存储层级分流 # - 供通用 data.find() / get_storage_level() / Portal submission dataset 加载按存储层级分流 # - 不用于决定 Brick DAG 的 unique healpix 搜索后端 # 当前 FileBrickDAG / CatalogBrickDAG 查询 unique healpix 时均固定访问 level2 [level0] models = ["raw"] data_models = ["raw"] [level1] models = [ data_models = [ # MSC "csst-msc-l1-ast", "csst-msc-l1-ast-astrometry", Loading Loading @@ -38,7 +38,7 @@ models = [ ] [level2] models = [ data_models = [ "csst-msc-l2-mbi-cat", "csst-msc-l2-mbi-catmix", "csst-msc-l2-mbi-xcat", Loading
csst_dag/v2/dfs/model_registry.py +4 −4 Original line number Diff line number Diff line Loading @@ -20,14 +20,14 @@ def _iter_models(raw_cfg: dict[str, object], level: str) -> Iterable[str]: if not isinstance(section, dict): raise ValueError(f"data_model.toml 中的 [{level}] 必须为表。") models = section.get("models") or [] models = section.get("data_models") or [] if not isinstance(models, list): raise ValueError(f"data_model.toml 中的 [{level}].models 必须为数组。") raise ValueError(f"data_model.toml 中的 [{level}].data_models 必须为数组。") for item in models: model = _normalize_model(item) if not model: raise ValueError(f"data_model.toml 中的 [{level}].models 不能包含空值。") raise ValueError(f"data_model.toml 中的 [{level}].data_models 不能包含空值。") yield model Loading @@ -54,7 +54,7 @@ def load_data_model_registry() -> Dict[str, str]: level0_models = {model for model, level in registry.items() if level == "level0"} if level0_models != {"raw"}: raise ValueError("data_model.toml 约定 `[level0].models` 只能且必须包含 `raw`。") raise ValueError("data_model.toml 约定 `[level0].data_models` 只能且必须包含 `raw`。") return registry Loading