msc_l1.py 2.83 KB
Newer Older
BO ZHANG's avatar
tweaks    
BO ZHANG committed
1
2
3
"""
Aim
---
BO ZHANG's avatar
tweaks    
BO ZHANG committed
4
Process an MSC dataset, given a set of parameters.
BO ZHANG's avatar
tweaks    
BO ZHANG committed
5
6
7

Example
-------
BO ZHANG's avatar
BO ZHANG committed
8
python -m csst_dag.cli.msc_l1 -h
BO ZHANG's avatar
BO ZHANG committed
9

BO ZHANG's avatar
BO ZHANG committed
10
python -m csst_dag.cli.msc_l1 \
BO ZHANG's avatar
tweaks    
BO ZHANG committed
11
    --batch-id=csci-test-20250507 \
BO ZHANG's avatar
BO ZHANG committed
12
    --priority=1 \
BO ZHANG's avatar
BO ZHANG committed
13
    --dataset=csst-msc-c9-25sqdeg-v3 \
BO ZHANG's avatar
BO ZHANG committed
14
    --obs-type=WIDE \
BO ZHANG's avatar
BO ZHANG committed
15
    --obs-group=W1 \
BO ZHANG's avatar
BO ZHANG committed
16
    --pmapname=csst_0000001.map \
BO ZHANG's avatar
tweaks    
BO ZHANG committed
17
    --initial-prc-status=-1024 \
BO ZHANG's avatar
BO ZHANG committed
18
    --final-prc-status=-2 \
BO ZHANG's avatar
BO ZHANG committed
19
    --demo
BO ZHANG's avatar
BO ZHANG committed
20
21
22
23
24
25
26
27
28

python -m csst_dag.cli.msc_l1 \
    --batch-id=1000sqdeg-test-b1 \
    --priority=1 \
    --dataset=csst-msc-c9-25sqdeg-v3 \
    --obs-type=WIDE \
    --obs-group=W1 \
    --initial-prc-status=-1024 \
    --final-prc-status=-2
BO ZHANG's avatar
tweaks    
BO ZHANG committed
29
30
"""

BO ZHANG's avatar
BO ZHANG committed
31
from csst_dag.dag import CsstDAGs
BO ZHANG's avatar
BO ZHANG committed
32
33
34
35
36
37
38
import argparse

parser = argparse.ArgumentParser(
    description="Scheduler for MSC L1 pipeline.",
    formatter_class=argparse.ArgumentDefaultsHelpFormatter,
)

BO ZHANG's avatar
BO ZHANG committed
39
40
41
42
# task related parameters
parser.add_argument("--batch-id", type=str, help="Batch ID", default="default_batch")
parser.add_argument("--priority", type=str, help="Task priority", default=1)
# data related parameters
BO ZHANG's avatar
BO ZHANG committed
43
44
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
45
parser.add_argument("--obs-group", type=str, help="Observation group", default="none")
BO ZHANG's avatar
tweaks    
BO ZHANG committed
46
parser.add_argument("--obs-type", type=str, help="Observation type", default="")
BO ZHANG's avatar
BO ZHANG committed
47
parser.add_argument("--pmapname", type=str, help="CCDS pmapname", default="")
BO ZHANG's avatar
BO ZHANG committed
48
# status related parameters
BO ZHANG's avatar
tweaks    
BO ZHANG committed
49
50
51
52
53
54
parser.add_argument(
    "--initial-prc-status", type=int, help="Initial processing status", default=-1024
)
parser.add_argument(
    "--final-prc-status", type=int, help="Final processing status", default=-2
)
BO ZHANG's avatar
BO ZHANG committed
55
parser.add_argument(
BO ZHANG's avatar
BO ZHANG committed
56
    "--demo", action="store_true", help="Enable demo mode", default=False
BO ZHANG's avatar
BO ZHANG committed
57
)
BO ZHANG's avatar
BO ZHANG committed
58

BO ZHANG's avatar
BO ZHANG committed
59
args = parser.parse_args()
BO ZHANG's avatar
BO ZHANG committed
60
print("CLI parameters: ", args)
BO ZHANG's avatar
BO ZHANG committed
61

BO ZHANG's avatar
BO ZHANG committed
62
63
64
65
# define DAP LIST in this group
DAG_MAP = {
    "WIDE": ["csst-msc-l1-mbi", "csst-msc-l1-sls", "csst-msc-l1-ast"],
    "DEEP": ["csst-msc-l1-mbi", "csst-msc-l1-sls", "csst-msc-l1-ast"],
BO ZHANG's avatar
BO ZHANG committed
66
67
68
69
    "BIAS": ["csst-msc-l1-qc0"],
    "DARK": ["csst-msc-l1-qc0"],
    "FLAT": ["csst-msc-l1-qc0"],
}
BO ZHANG's avatar
BO ZHANG committed
70
71

# if obs_type is set
BO ZHANG's avatar
BO ZHANG committed
72
if args.obs_type:
BO ZHANG's avatar
BO ZHANG committed
73
74
    assert args.obs_type in DAG_MAP.keys(), f"Unknown obs_type: {args.obs_type}"
    DAG_MAP = {args.obs_type: DAG_MAP[args.obs_type]}
BO ZHANG's avatar
BO ZHANG committed
75

BO ZHANG's avatar
BO ZHANG committed
76
for obs_type, dags in DAG_MAP.items():
BO ZHANG's avatar
tweaks    
BO ZHANG committed
77
    print(f"- Processing `{obs_type}`")
BO ZHANG's avatar
BO ZHANG committed
78
    for this_dag in dags:
BO ZHANG's avatar
tweaks    
BO ZHANG committed
79
        print(f"  * `{this_dag}` : ", end="")
BO ZHANG's avatar
tweaks    
BO ZHANG committed
80
        dag = CsstDAGs().get(this_dag)
BO ZHANG's avatar
tweaks    
BO ZHANG committed
81
        dag_group_run, dag_run_list = dag.schedule(
BO ZHANG's avatar
BO ZHANG committed
82
83
            batch_id=args.batch_id,
            priority=args.priority,
BO ZHANG's avatar
BO ZHANG committed
84
            dataset=args.dataset,
BO ZHANG's avatar
BO ZHANG committed
85
            obs_type=obs_type,
BO ZHANG's avatar
BO ZHANG committed
86
            obs_group=args.obs_group,
BO ZHANG's avatar
tweaks    
BO ZHANG committed
87
88
            initial_prc_status=args.initial_prc_status,
            final_prc_status=args.final_prc_status,
BO ZHANG's avatar
BO ZHANG committed
89
            demo=args.demo,
BO ZHANG's avatar
BO ZHANG committed
90
        )
BO ZHANG's avatar
tweaks    
BO ZHANG committed
91
        # print(f"{len(dag_run_list)} tasks.")