Infrastructure model src
---
config:
flowchart:
defaultRenderer: elk
layout: elk
---
flowchart LR
subgraph OBS["Observatory"]
direction TB
OBS_TELS["Telescopes"]
OBS_DEVS["Devices"]
end
subgraph TEL["Telescope"]
direction TB
n3["Devices"]
end
subgraph OPT["Optical Devices"]
direction TB
OTA["Optical Tube Assembly (OTA)"]
FOC["Focuser"]
FW["Filter Wheel(s)"]
CAM["Camera"]
ROT["Rotator"]
n7["Camera"]
n8["Focuser"]
n12["Optical Tube Assembly (OTA)"]
end
subgraph RAD["Radio Devices"]
direction TB
ANT["Antenna"]
RCV["Receiver"]
RBE["Radio Backend"]
end
subgraph OBSDEV["Observatory Devices"]
direction TB
WSD["Weather Sensor"]
OLD["Operator Lockout"]
end
OBS --> OBS_TELS & OBS_DEVS
OBS_TELS --> TEL
OBS_DEVS --> OBSDEV
n3 --> OPT & RAD & n4["Mount"] & n11["Enclosure"]
ANT --> n9["Radio Spectrometer"]
FW --> n5["Primary Optical Imager"]
CAM --> n5
OTA --> n5
n7 --> n6["Wide Field Optical Imager"]
FOC --> n5
ROT --> n5
n8 --> n6
RCV --> n9
RBE --> n9
TEL --> n10["Instrument Selector"]
n12 --> n6
n3@{ shape: rect}
n7@{ shape: rect}
n8@{ shape: rect}
n12@{ shape: rect}
n4@{ shape: rect}
n11@{ shape: rect}
n9@{ shape: rect}
n5@{ shape: rect}
n6@{ shape: rect}
n10@{ shape: rect}
OBS_TELS:::group
OBS_DEVS:::group
n3:::group
OTA:::type
FOC:::type
FW:::type
CAM:::type
ROT:::type
n7:::type
n8:::type
n12:::type
ANT:::type
RCV:::type
RBE:::type
WSD:::type
OLD:::type
OBS:::root
TEL:::root
OPT:::group
RAD:::group
n4:::type
n11:::type
n9:::group
n5:::group
n6:::group
n10:::type
classDef root fill:#f0f4ff,stroke:#365cf5,stroke-width:1.5px
classDef group fill:#f8fafc,stroke:#64748b,stroke-width:1px
classDef type fill:#ffffff, stroke:#94a3b8, stroke-dasharray:3 3, stroke-width:1px
style WSD stroke-width:2px,stroke-dasharray: 2
style n4 stroke-width:2px,stroke-dasharray: 2
style n11 stroke-width:2px,stroke-dasharray: 2
style n10 stroke-width:2px,stroke-dasharray: 2