water-tide-voyage
목적
- •WATER TIDE.csv (
files/WATER TIDE.csv)에서 주간 기준 · 오전 6시오후 5시(6:0017:00) 구간만 사용해, 가장 물때가 높은 3시간대를 산출한다. - •산출한 TIME / HEIGHT를 Voyages Overview의 각 voyage 카드 내 Voyage Overview 블록의
table.tide-table에 동일 형식으로 연동한다.
작업 범위
- •모든 작업은
AGI TR 1-6 Transportation Master Gantt Chart/files/폴더 안에서만 수행한다. - •입력:
files/WATER TIDE.csv - •출력 갱신:
files/AGI TR SCHEDULE_*.html내 각 voyage-card의table.tide-tabletbody
언제 사용
- •"WATER TIDE Voyage Overview 연동", "물때 상위 3시간 Voyage에 반영", "tide table 갱신", "Voyages Overview 물때" 요청 시
- •파이프라인 점검(agi-schedule-pipeline-check) 시 N) 물때 테이블 항목으로 호출 가능
입력·출력
| 구분 | 내용 |
|---|---|
| 입력 | files/WATER TIDE.csv — 컬럼: 날짜, 0:00~23:00 (단위 m) |
| 시간 필터 | 6:00, 7:00, …, 17:00 만 사용 (오전 6시~오후 5시) |
| voyage 구간 | 각 voyage-card의 data-start, data-end (YYYY-MM-DD) |
| 산출 | voyage별로 해당 기간 내 일자에 대해 6~17시 각 시간대의 (평균 또는 최대) 높이 계산 → 상위 3개 시간대 (내림차순) |
| 출력 형식 | HTML 내 <table class="tide-table"> tbody에 3행: <td>HH:00</td><td>X.XXm</td> |
예시 (한 voyage의 해당 주/기간 대표):
code
TIME HEIGHT 9:00 2.03m 10:00 1.99m 8:00 1.97m
절차
1) CSV 파싱
- •
files/WATER TIDE.csv읽기. 인코딩 UTF-8. - •첫 행:
날짜,0:00,1:00,...,23:00— 시간 컬럼 중 6:00~17:00만 사용. - •날짜 컬럼 파싱 (YYYY-MM-DD).
2) voyage별 기간 확보
- •대상 HTML:
files/AGI TR SCHEDULE_*.html(최신 날짜 파일 또는 모두). - •각
.voyage-card[data-start][data-end]에서data-start,data-end추출.
3) voyage별 상위 3시간대 계산
- •해당 voyage의
[data-start, data-end]구간에 포함되는 CSV 행만 사용. - •6:00~17:00 컬럼만 사용해, 시간대별로 해당 기간 내 최대값(또는 평균) 계산.
- •높이 내림차순 정렬 후 상위 3개 시간대 선택 →
[(time, height), ...](예:[("9:00", 2.03), ("10:00", 1.99), ("8:00", 1.97)]).
4) HTML 갱신
- •각 voyage-card 내
table.tide-table tbody를 찾아, 기존 3개<tr>를 산출한 TIME/HEIGHT 3행으로 교체. - •형식 유지:
<tr><td>9:00</td><td>2.03m</td></tr>.
5) 스크립트
- •경로:
AGI TR 1-6 Transportation Master Gantt Chart/files/tide_to_voyage_overview.py - •실행:
files/폴더에서python tide_to_voyage_overview.py - •옵션(권장):
--dry-run— HTML 쓰지 않고 voyage별 상위 3시간대만 출력.
검증
- •시프트/일정 변경 후에도
WATER TIDE.csv날짜 범위가 voyage 구간과 겹치는지 확인. - •6~17시 외 시간대가 테이블에 들어가지 않았는지 확인.
안전 규칙
- •
files/폴더 밖의 CSV/HTML을 읽거나 쓰지 않는다. - •공지·날씨·ganttData 등 tide-table 외 HTML 블록은 수정하지 않는다.
통합
- •agi-schedule-pipeline-check: 점검 목록 N) 물때 테이블 — 항상
tide_to_voyage_overview.py실행. 일정 시프트 후 대시보드(7 Voyages Overview) 일관성 유지를 위해 파이프라인 3단계에서 조건 없이 수행.
대시보드 출력 형식 (필수)
결과값은 agentskillguide/DASHBOARD_OUTPUT_SCHEMA.md와 동일하게 대시보드에 출력되어야 함.
- •Tide-table 3행:
<tr><td>HH:00</td><td>X.XXm</td></tr>(6~17시 상위 3시간대) - •voyage-card
data-start~data-end구간 내 일자만 사용 - •7 Voyages Overview tide-table과 일치