msc.py 1.9 KB
Newer Older
BO ZHANG's avatar
tweaks    
BO ZHANG committed
1
2
3
4
5
6
7
8
9
10
11
12
13
"""
Aim
---
Process an MSC dataset, given
- project_id = "none"
- obs_type = ""
- batch_id = "csci-test-20250507"

Example
-------
python -m csst_dag.cli.msc --dataset=csst-msc-c9-25sqdeg-v3 --project-id=none --batch-id=csci-test-20250507
"""

BO ZHANG's avatar
BO ZHANG committed
14
from csst_dag.dag import CsstDAG
BO ZHANG's avatar
BO ZHANG committed
15
16
17
18
19
20
21
22
23
24
25
import argparse

# python -m csst_dag.trigger.csst-msc-l1-mbi -h
# python -m csst_dag.trigger.csst-msc-l1-mbi --dataset csst-msc-c9-25sqdeg-v3 --batch-id
parser = argparse.ArgumentParser(
    description="Scheduler for MSC L1 pipeline.",
    formatter_class=argparse.ArgumentDefaultsHelpFormatter,
)

parser.add_argument("--dataset", type=str, help="Dataset name")
# parser.add_argument("--instrument", type=str, help="Instrument name", default="MSC")
BO ZHANG's avatar
BO ZHANG committed
26
parser.add_argument("--obs-type", type=str, help="Observation type", default="")
BO ZHANG's avatar
tweaks    
BO ZHANG committed
27
parser.add_argument("--project-id", type=str, help="Project ID", default="none")
BO ZHANG's avatar
BO ZHANG committed
28
parser.add_argument("--batch-id", type=str, help="Batch ID", default="default")
BO ZHANG's avatar
BO ZHANG committed
29

BO ZHANG's avatar
BO ZHANG committed
30
args = parser.parse_args()
BO ZHANG's avatar
BO ZHANG committed
31
print("CLI parameters: ", args)
BO ZHANG's avatar
BO ZHANG committed
32
33
34
35
36
37
38
39

DAG_LOOP_MAP = {
    "WIDE": ["csst-msc-l1-mbi", "csst-msc-l1-sls"],
    "DEEP": ["csst-msc-l1-mbi", "csst-msc-l1-sls"],
    "BIAS": ["csst-msc-l1-qc0"],
    "DARK": ["csst-msc-l1-qc0"],
    "FLAT": ["csst-msc-l1-qc0"],
}
BO ZHANG's avatar
BO ZHANG committed
40
41
42
if args.obs_type:
    assert args.obs_type in DAG_LOOP_MAP.keys(), f"Unknown obs_type: {args.obs_type}"
    DAG_LOOP_MAP = {args.obs_type: DAG_LOOP_MAP[args.obs_type]}
BO ZHANG's avatar
BO ZHANG committed
43
44

for obs_type, dag_ids in DAG_LOOP_MAP.items():
BO ZHANG's avatar
BO ZHANG committed
45
    print(f"* Processing {obs_type}")
BO ZHANG's avatar
BO ZHANG committed
46
    for dag_id in dag_ids:
BO ZHANG's avatar
BO ZHANG committed
47
48
        print(f"   - Scheduling `{dag_id}` -> ", end="")
        dag = CsstDAG.get_dag(dag_id=dag_id)
BO ZHANG's avatar
BO ZHANG committed
49
        msgs = dag.schedule(
BO ZHANG's avatar
BO ZHANG committed
50
            dataset=args.dataset,
BO ZHANG's avatar
BO ZHANG committed
51
            obs_type=obs_type,
BO ZHANG's avatar
BO ZHANG committed
52
53
54
55
56
57
            project_id=args.project_id,
            batch_id=args.batch_id,
            initial_prc_status=-2,
            final_prc_status=-2,
            demo=True,
        )
BO ZHANG's avatar
BO ZHANG committed
58
        print(f"{len(msgs)} tasks.")