gpt-cmdr/HEC-Commander
요약
HEC-Commander Tools는 수자원 공학 워크플로우를 위해 개발된 Python 기반의 자동화 도구 모음입니다. 이 도구들은 Jupyter Notebook을 통해 HEC-RAS와 HEC-HMS 같은 전문 소프트웨어의 기능을 자동화하고, LLM(거대 언어 모델)을 활용하여 워크플로우 전반에 걸쳐 지원합니다. 특히 보정 및 검증 과정에서 사용자 정의 스케일 팩터 적용과 병렬 실행 관리에 중점을 두고 있습니다.
핵심 포인트
- HEC-RAS/HMS 자동화: Python 노트북 기반으로 전문 수자원 모델링 워크플로우를 구현합니다.
- 보정 및 검증 지원: DSS 출력 파일 생성, 보정 지표 계산(RMSE, PBIAS 등)을 포함합니다.
- 병렬 실행 관리: HEC-RAS의 비정상 계획 병렬 실행 및 원격/로컬 머신 배포가 가능합니다.
- LLM 통합: LLM을 활용하여 수자원 모델링 워크플로우에 대한 블로그와 코딩 지원을 제공합니다.
HEC-Commander Tools는 수자원 공학 워크플로우를 위해 AI의 도움을 받아 개발된 일련의 Python 노트북으로, 주로 Jupyter Notebook을 통해 HEC-RAS와 HEC-HMS의 자동화 기능을 제공하는 데 중점을 둡니다. 또한, 이 저장소에는 H&H 모델링, 자동화 및 수자원 워크플로우에 LLM(거대 언어 모델)을 사용하는 것과 관련된 블로그 게시물과 ChatGPT 비서가 포함되어 있습니다.
- Sean Micek, P.E. - HMS-Commander Jython 핵심 로직, 보정 영역 구현. RAS-Commander 침투 HDF 개정 프로토타이핑
- Tyler Young, E.I. - DSS-Commander 보정 지표, 디버깅 및 모든 도구 테스트.
사용자 정의된 보정 매개변수를 사용하여 여러 개의 DSS 출력 파일을 생성할 수 있는 HEC-HMS 자동화 스크립트를 포함합니다. 이 도구는 결손(deficit) 및 상수 손실(constant loss) 방법을 사용하고 선택적 후퇴 기저 유량(recession baseflow)을 활용하여 1D HEC-RAS 보정 및 검증 워크플로우를 지원하기 위해 개발되었으며, 각 개별 매개변수에 대한 스케일 팩터를 입력하기 위해 사용자 생성 CSV 파일을 사용합니다. 두 번째 버전의 스크립트는 여러 개의 보정 영역 정의가 가능하여 스케일 팩터의 공간적 가변성을 구현할 수 있습니다.
HEC-RAS의 자동화 스크립트 모음을 포함하며, HEC-RAS 비정상 계획(unsteady plans)의 병렬 실행은 물론, 여러 HEC-HMS 입력을 활용하여 계획 파일을 구성하는 것을 지원합니다. DSS 출력 파일 이름을 정의하고, 헤드리스(headless) 실행을 위한 배치 스크립트를 생성하며, 피어 투 피어 Windows 네트워크 공유를 사용하여 로컬 및 원격 머신에서 HEC-RAS 실행의 배포 및 병렬 실행을 관리합니다. 이 스크립트들은 1D 및 2D 모델 형식 모두에 적용 가능하며, 이제 RASMapper 침투 재정의 레이어를 오버라이드하는 기능도 지원합니다.
❗
구분:
만약 더 강력한 Python 라이브러리이자 HEC-RAS 자동화 API인 RAS-Commander Library를 찾고 있다면, 여기에서 확인해 보세요: Github의 RAS-Commander Library.
DSS의 1D HEC-RAS 결과를 관측소(gauge) 결과와 비교하여 플로팅하는 스크립트를 제공하며, Bokeh를 사용하여 확대 가능한 HTML 플롯을 생성합니다. 각 플롯 위치에 대해 보정 통계량(RMSE, r, PBIAS, NSE)을 계산하고 여러 개의 관측소를 지원하며, Stage 및 Flow 모두에 대해 여러 DSS 결과 파일을 플로팅할 수 있습니다.
각 HMS, RAS, 그리고 DSS Commander 폴더에는 해당 프로그램과 관련된 워크플로우를 돕는 다양한 스크립트와 도구들이 포함되어 있습니다. 여기에는 토양 통계 도구, 비효율 흐름 영역 영속성 설정 도구 등이 포함됩니다.
AI, HEC-RAS 및 HMS 스크립팅에 관한 블로그 글과 이 저장소의 도구와 관련된 주제들을 모아 놓은 곳이 HEC-Commander Blog입니다.
이 저장소를 보완할 수 있는 다른 유용한 GPT 및 ChatGPT 대화 예시들은 ChatGPT Examples 폴더에서 찾을 수 있습니다.
HEC-Commander Repository Assistant | GPT는 지식 기반(Knowledge Base)에 컴파일된 문서 버전과, 저장소의 모든 내용을 담고 있는 압축 파일(zip file)에 접근할 수 있습니다. 이 GPT를 사용하여 스크립트에 대해 학습하고, 오류 디버깅을 위한 지침을 요청하며, 사용자의 필요에 맞게 스크립트를 수정하는 코딩 지원도 받을 수 있습니다:
HEC-Commander 도구와 AI 기반 스크립팅은 2024년 6월 27일 Salt Lake City에서 열린 Association of State Flooplain Managers (ASFPM) 연례 학회에서 발표되었습니다.* 발표 자료의 PDF를 확인해 보세요!
HEC-Commander 도구 빠른 시작 가이드 (클릭하여 확장)
Anaconda Navigator를 사용하여 Python 설치하기
Anaconda.com에서 다운로드하세요.
그런 다음, Python 3.11 환경을 생성합니다:
- Anaconda Navigator 열기
- Environments > Create 선택
- 이름(Name):
HEC-Env - 패키지(Packages): 검색하여 Python, 버전:
3.11선택 - 새 환경에서 터미널 실행
- 다음 명령어로 필요한 종속성 설치:
pip install -r requirements.txt
Visual Studio Code (VSCode) + Jupyter 및 Python 확장 프로그램 설치하기
Visual Studio Code에서 다운로드하세요.
VSCode 설치 후:
- 확장 프로그램 보기(Open Extension View) (
Ctrl+Shift+X)에서 검색 및 설치:Jupyter,Python,Python Environment Manager
Java Software Development Kit 설치하기
Oracle에서 HEC-HMS 4.9에 필요한 JDK 버전 20.0.1을 다운로드하세요.
Jython 설치하기
Jython.org에서 Jython Installer를 다운로드하여 기본 위치(C:\jython2.7.3)에 설치하세요.
원격 실행을 위한 로컬 Windows 파일 공유 폴더 생성
- 원격 장치에 로그인합니다.
- 디렉터리 생성 (예:
C:\RASCommander_Run) - 해당 폴더를 마우스 오른쪽 버튼으로 클릭하고
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기