소개
SHARPpy-Reimagined-vRust는 기상학적 사운딩 분석을 위해 설계된 SHARPpy의 현대화된 독립 포크로, Fahrenheit Research에서 개발했습니다. Rust 기반 고성능 분석 엔진과 Qt6/PySide6 기반의 반응형 데스크톱 GUI를 갖추고 있으며, Python 3.11 이상 환경에서 실행됩니다. 이 프로그램은 SPC 스타일의 스큐-T, 호도그래프, 위험 요소 및 파생 변수 뷰를 제공하며, Rusty Weather 모델 사운딩과 네이티브 analytic ECAPE 계산을 지원합니다.
상세정보
Rust 기반 고성능 사운딩 분석
- GIL-프리 네이티브 분석 확장:
sharppyrs가 표시 분석 레이어,sharprs가 사운딩 코어 및 열역학 계산,ecape-rs가 analytic ECAPE/NCAPE를 제공합니다. - 대화형 사용자 포셀 리프트 및 모든 일상적인 기상 계산이 네이티브로 수행됩니다.
- Rust ECAPE 경로는 합성, 관측, HRRR 포인트 및 BUFKIT 프로파일에서 검증되었습니다.
Qt6 기반 대화형 GUI
- SPC 스타일의 스큐-T, 호도그래프, 위험 요소 및 파생 변수 뷰를 제공합니다.
- 사운딩 픽커: 스테이션 맵, 스테이션 목록, 예보 모델, 파일 열기 등 4가지 방법으로 사운딩을 불러올 수 있습니다.
- 스큐-T에서 마우스 오른쪽 클릭, 드래그, 휠 줌 등 다양한 대화형 조작을 지원합니다.
- 환경 설정, 실행 취소/다시 실행, 세션 저장/열기 등 편의 기능을 제공합니다.
모델 사운딩 및 데이터 추출
- Rusty Weather 모델 사운딩 지원: 기존 .rws 모델 시간을 즉시 사용하거나, 콜드 요청 시 포인트/하위 영역 다운로드를 선호합니다.
- HRRR, RAP, NAM, GFS, ECMWF 등 다양한 공개 예보 모델을 지원합니다.
- UWyo, ERA5, WRF-ARW 및 공개 예보 모델에서 휴대용 .npz 포인트 사운딩 출력을 제공합니다.
명령줄 도구
sharpmod-render: 사운딩 파일을 PNG로 렌더링합니다.uwyo-sounding: UWyo 사운딩을 나열, 검색, 가져옵니다.era5-extract: ERA5 포인트 사운딩을 .npz로 추출합니다.model-extract: 지원되는 예보 모델 포인트 사운딩을 가져옵니다.wrf-extract: WRF-ARW 포인트 사운딩을 .npz로 추출합니다.
소스에서 설치
- Python 3.11 이상이 필요합니다.
- 저장소를 클론하고 가상 환경을 만듭니다.
pip install ".[render]"및pip install --no-deps "SHARPpy==1.4.0a5"를 실행합니다.- 네이티브 분석을 활성화하려면 Rust를 설치하고
sharppyrs확장을 빌드합니다.
독립 실행 파일
Windows, Linux, macOS용으로 PyInstaller를 통해 Python이 필요 없는 독립 실행 파일을 빌드할 수 있습니다. Windows에서는 winget 패키지 관리자를 통해 설치할 수도 있습니다.
GUI 실행
sharpmod-gui 명령 또는 python -m sharpmod.gui로 GUI를 실행합니다. 사운딩 픽커에서 스테이션 맵, 목록, 예보 모델, 또는 파일 열기를 통해 사운딩을 불러올 수 있습니다.
활용 예시
- 관측 사운딩 분석: UWyo 스테이션에서 사운딩을 가져와 스큐-T 및 호도그래프로 분석합니다.
- 예보 모델 사운딩: HRRR, GFS 등 모델 포인트 사운딩을 가져와 대류 환경을 예측합니다.
- 재분석 데이터: ERA5 포인트 사운딩을 추출하여 과거 사례를 분석합니다.
- 일괄 렌더링:
sharpmod-render로 여러 사운딩을 PNG 이미지로 변환합니다.
지원 환경 및 요구사항
- Python 3.11 이상 (소스 설치 시)
- Windows x64, Linux x64, macOS (Apple Silicon 및 Intel)용 독립 실행 파일 제공
- GUI 실행에는 Qt6/PySide6 필요
- 모델 데이터 추출에는 GRIB 스택 및 CDS API 자격 증명이 필요할 수 있습니다.
버전 및 업데이트
현재 버전은 v0.3.2이며, 전체 변경 사항은 GitHub 릴리스 페이지에서 확인할 수 있습니다.
라이선스 및 확인사항
- 이 프로젝트는 BSD-3-Clause 라이선스로 배포됩니다.
- SHARPpy의 독립 포크이며, 상위 프로젝트의 보증을 받지 않습니다.
- Rusty Weather 모델 백엔드는 MIT 라이선스로 배포됩니다.
- 네이티브 분석 확장은 sharppyrs, sharprs, ecape-rs를 통합하며, 각각의 라이선스 조건을 따릅니다.
시스템 요구사항
Python 3.11 이상 (소스 설치 시), Windows x64, Linux x64, macOS (Apple Silicon 및 Intel)용 독립 실행 파일 제공. GUI 실행에는 Qt6/PySide6 필요.


