Skip to content

Releases

SUYA 0.1.11

Choose a tag to compare

@github-actions github-actions released this 13 Nov 08:48

Download / 내려받기

OS File / 파일 Size First run / 처음 실행
Windows 10/11 x64 SUYA-0.1.11-windows-x64-setup.exe ≈ 50 MB Installer (English/Korean). SmartScreen: More info → Run anyway / "추가 정보 → 실행"
macOS 12+ Apple Silicon (M1–M4) SUYA-0.1.11-macos-arm64.dmg ≈ 58 MB Drag to Applications. macOS 15+: open once, then System Settings → Privacy & Security → Open Anyway; macOS 12–14: right-click → Open / macOS 15 이상: 한 번 연 뒤 시스템 설정 → 개인정보 보호 및 보안 → 그래도 열기, 12~14: 우클릭 → 열기
macOS 12+ Intel SUYA-0.1.11-macos-x86_64.dmg ≈ 64 MB Same / 위와 같음
Linux x86_64 (glibc ≥ 2.35) SUYA-0.1.11-linux-x86_64.tar.gz ≈ 109 MB Extract, run ./install.sh / 풀고 ./install.sh

Not sure which Mac you have? Apple menu → About This Mac: "Chip Apple M…" → Apple Silicon, "Processor … Intel" → Intel. / Apple 메뉴 → 이 Mac에 관하여: "칩 Apple M…"이면 Apple Silicon, "프로세서 … Intel"이면 Intel.

Already on 0.1.2 to 0.1.10? You do not need to download anything. SUYA finds this release by itself when it starts and at its regular check: every 6 hours on 0.1.10, once a day on earlier versions. 0.1.5 to 0.1.10 install it by themselves after a 20-second prompt that lets you postpone; 0.1.2, 0.1.3 and 0.1.4 ask before installing (Help ▸ Check for updates… looks right away).
0.1.2~0.1.10을 쓰고 있으면 내려받을 필요가 없습니다. 시작할 때와 정기 확인 때 이 릴리스를 스스로 찾습니다. 정기 확인은 0.1.10이 6시간마다, 그 전 버전이 하루 한 번입니다. 0.1.5~0.1.10은 20초 동안 미룰 수 있게 물어본 뒤 스스로 설치하고, 0.1.2·0.1.3·0.1.4는 설치 전에 물어봅니다(*도움말 ▸ 업데이트 확인…*으로 바로 확인).

Checksums: SHA256SUMS.txt (below, under Assets). Every file is built by GitHub Actions from this tag (.github/workflows/release.yml) and installed on the build machine, where the installed copy has to pass its self-test before the file is attached. The builds are unsigned, hence the first-run warning.
Updating from 0.1.0 or 0.1.1: install over the old version. Your database, settings and Excel workbooks stay where they are.
Python users: pip install "suya[gui] @ git+https://github.com/jongsu-king/SUYA.git@v0.1.11" then run suya. Without [gui] you get the collector alone, with no Qt.
Containers: docker build -t suya https://github.com/jongsu-king/SUYA.git#v0.1.11, then docker run -d --name suya --restart unless-stopped -v suya-data:/data suya.
macOS with Homebrew: brew install --cask jongsu-king/suya/suya installs the same disk image, with the same first-run warning.
Homebrew를 쓰는 macOS: brew install --cask jongsu-king/suya/suya로 같은 디스크 이미지를 설치합니다. 처음 실행 경고도 같습니다.


SUYA 0.1.11 — Antarctic Ocean Monitor: Southern Ocean temperature, salinity and air temperature collected continuously from public APIs into SQLite and monthly Excel; south-polar map, profiles, T-S diagrams; English/Korean.
SUYA 0.1.11 — 남극해 수온·염분·기온 실시간 수집 프로그램.

Copyright © 2026 Jongsu Lim (Department of Physics, HMOL, Incheon National University; imjongsu1102@gmail.com; ORCID 0009-0000-3395-1484) and Suyeon Park (Department of Materials Science and Engineering, CELLMATE, Incheon National University; dbsnt110@inu.ac.kr) · MIT License

DOI — all versions (concept DOI): 10.5281/zenodo.23937852 · this version: 10.5281/zenodo.24189873 · archived on Zenodo
DOI — 전체 버전(개념 DOI): 10.5281/zenodo.23937852 · 이 버전: 10.5281/zenodo.24189873

This release keeps collection going through network outages and storage failures. A source that cannot reach its server is tried again within 5 minutes, a database that cannot be written no longer stops a source until the next start, and the log records when the program starts and stops.
이번 릴리스는 네트워크가 끊기거나 저장에 실패해도 수집이 이어지게 합니다. 서버에 닿지 못한 소스는 5분 안에 다시 시도하고, 데이터베이스에 쓸 수 없어도 소스가 다음 시작 때까지 멈춰 있지 않으며, 프로그램이 시작하고 끝난 때를 로그에 남깁니다.

Added / 더한 것

  • Start and stop are written to the log. monitor.log records when the collecting program starts, with its version and process number, and when it stops. When the run before did not stop in the usual way, the next start says so and gives the time of the last collection attempt, so a gap in the data can be traced to the moment the program went away. suya daemon writes the same lines.
    시작과 종료를 로그에 남깁니다. monitor.log에 수집 프로그램이 시작한 때를 버전·프로세스 번호와 함께 적고, 끝난 때도 적습니다. 앞선 실행이 정상적으로 끝나지 않았으면 다음 시작 때 그 사실과 마지막 수집 시도 시각을 적으므로, 데이터가 빈 구간을 프로그램이 사라진 때까지 거슬러 찾을 수 있습니다. suya daemon도 같은 줄을 남깁니다.
  • Errors nothing handled are written to the log. An error that reaches the top of the window program, or that ends one of its threads, is recorded in monitor.log with its traceback and then reported the usual way.
    처리되지 않은 오류를 로그에 남깁니다. 창 프로그램의 맨 위까지 올라온 오류나 스레드 하나를 끝낸 오류를 monitor.log에 트레이스백과 함께 적고, 그 뒤에는 전과 같이 알립니다.

Changed / 바꾼 것

  • A source that cannot reach its server is tried again within 5 minutes. A failed collection was repeated after 1, 2, 4, 8 … minutes up to the source's own interval, so after a long network outage a source could wait hours for its next attempt. A failure in which no request reached a server now waits 5 minutes at most, and as soon as one source collects again, the sources that were waiting for the same reason are woken straight away. A failure in which the server answered keeps the old schedule.
    서버에 닿지 못한 소스는 5분 안에 다시 시도합니다. 실패한 수집은 1, 2, 4, 8 … 분 뒤에 다시 했고 이 간격은 소스의 원래 주기까지 늘어났습니다. 그래서 네트워크가 오래 끊긴 뒤에는 다음 시도까지 몇 시간을 기다리기도 했습니다. 이제 요청이 하나도 서버에 닿지 못한 실패는 길어야 5분을 기다리고, 소스 하나가 다시 수집하면 같은 이유로 기다리던 소스들을 바로 깨웁니다. 서버가 답한 실패는 전과 같은 일정을 따릅니다.
  • A long outage no longer fills the log. While a source stays unreachable only its first failure is logged as a warning, and the log says when collection works again. A database that refuses writes is reported the same way: once, and once more when it accepts them again.
    긴 장애가 로그를 채우지 않습니다. 소스가 계속 닿지 않는 동안에는 첫 실패만 경고로 적고, 수집이 다시 되면 그 사실을 적습니다. 쓰기를 거부하는 데이터베이스도 같은 방식으로 알립니다. 한 번 적고, 다시 쓸 수 있게 되면 한 번 더 적습니다.
  • HYCOM, Open-Meteo Marine and Windy tell an unreachable server from a failed answer. These collectors reported every failure alike. They now report "unreachable" when none of their requests reached a server, which is what the shorter retry above relies on.
    HYCOM, Open-Meteo Marine, Windy가 닿지 않는 서버와 실패한 응답을 구별합니다. 이 수집기들은 모든 실패를 똑같이 보고했습니다. 이제 요청이 하나도 서버에 닿지 못했으면 "닿지 않음"으로 보고하며, 위의 짧은 재시도가 이 구별에 기대고 있습니다.
  • The write-ahead log beside the database stays small. SQLite cuts the -wal file back to 16 MB after a checkpoint and no longer leaves it at its largest size.
    데이터베이스 옆의 미리 쓰기 로그(WAL)가 작게 유지됩니다. SQLite가 체크포인트 뒤에 -wal 파일을 16 MB로 줄이고, 가장 커졌던 크기로 남겨 두지 않습니다.

Fixed / 고친 것

  • A server that cannot be reached is given up on within about a minute. Every request passed its own response limit (90 to 180 seconds, 900 for a download) in a way that also replaced the 20-second limit for opening the connection, so three attempts at a server that did not answer the connection took up to 9 minutes before the failure was recorded. On 2026-11-13 one Open-Meteo run took 4 minutes 37 seconds to fail this way. The connection limit is 20 seconds again and the response limits are unchanged.
    닿지 않는 서버는 1분쯤 안에 포기합니다. 요청마다 응답 제한 시간(90~180초, 내려받기는 900초)을 넘겨주던 방식이 연결을 여는 20초 제한까지 바꿔 버렸습니다. 그래서 연결에 답하지 않는 서버에 세 번 시도하면 실패가 기록되기까지 길게는 9분이 걸렸습니다. 2026-11-13에는 Open-Meteo 수집 한 번이 이렇게 실패하는 데 4분 37초가 걸렸습니다. 연결 제한은 다시 20초이고 응답 제한은 그대로입니다.
  • A write that failed midway is undone. When a write to the database failed partway, on a full disk for example, the part already done stayed pending and was saved together with the next successful write. Each write is now saved whole or undone whole.
    중간에 실패한 쓰기는 되돌립니다. 디스크가 가득 찼을 때처럼 데이터베이스에 쓰다가 중간에 실패하면, 이미 된 부분이 남아 있다가 다음에 성공한 쓰기와 함께 저장되었습니다. 이제 쓰기는 통째로 저장되거나 통째로 되돌려집니다.
  • Collection goes on when the database cannot be written. An error while saving the result of a run or the time of the next run ended that source's loop until the program was restarted, and an error in the daily clean-up ended the clean-up. Each loop now logs the failure and carries on, and the retry interval keeps growing from the loop's own count while the stored count cannot be updated.
    데이터베이스에 쓸 수 없어도 수집을 계속합니다. 수집 결과나 다음 수집 시각을 저장하다가 오류가 나면 그 소스의 반복이 프로그램을 다시 시작할 때까지 끝나 있었고, 하루 한 번의 정리에서 오류가 나면 정리가 끝나 있었습니다. 이제 각 반복은 실패를 로그에 적고 계속 돌며, 저장된 실패 횟수를 고칠 수 없는 동안에는 반복이 스스로 센 횟수로 재시도 간격을 계속 늘립니다.

After updating / 올린 뒤

  • Nothing has to be done by hand. From this version on, monitor.log has a line for each start and each stop of the program.
    손으로 할 일은 없습니다. 이 버전부터 monitor.log에 프로그램이 시작할 때와 끝날 때마다 한 줄씩 남습니다.

Full list: CHANGELOG.md.

SUYA 0.1.10

Choose a tag to compare

@github-actions github-actions released this 12 Nov 09:59

Download / 내려받기

OS File / 파일 Size First run / 처음 실행
Windows 10/11 x64 SUYA-0.1.10-windows-x64-setup.exe ≈ 50 MB Installer (English/Korean). SmartScreen: More info → Run anyway / "추가 정보 → 실행"
macOS 12+ Apple Silicon (M1–M4) SUYA-0.1.10-macos-arm64.dmg ≈ 59 MB Drag to Applications. macOS 15+: open once, then System Settings → Privacy & Security → Open Anyway; macOS 12–14: right-click → Open / macOS 15 이상: 한 번 연 뒤 시스템 설정 → 개인정보 보호 및 보안 → 그래도 열기, 12~14: 우클릭 → 열기
macOS 12+ Intel SUYA-0.1.10-macos-x86_64.dmg ≈ 64 MB Same / 위와 같음
Linux x86_64 (glibc ≥ 2.35) SUYA-0.1.10-linux-x86_64.tar.gz ≈ 109 MB Extract, run ./install.sh / 풀고 ./install.sh

Not sure which Mac you have? Apple menu → About This Mac: "Chip Apple M…" → Apple Silicon, "Processor … Intel" → Intel. / Apple 메뉴 → 이 Mac에 관하여: "칩 Apple M…"이면 Apple Silicon, "프로세서 … Intel"이면 Intel.

Already on 0.1.2 to 0.1.9? You do not need to download anything. SUYA finds this release by itself when it starts and once a day. 0.1.5 to 0.1.9 install it by themselves after a 20-second prompt that lets you postpone; 0.1.2, 0.1.3 and 0.1.4 ask before installing (Help ▸ Check for updates… looks right away).
0.1.2~0.1.9를 쓰고 있으면 내려받을 필요가 없습니다. 시작할 때와 하루 한 번 이 릴리스를 스스로 찾습니다. 0.1.5~0.1.9는 20초 동안 미룰 수 있게 물어본 뒤 스스로 설치하고, 0.1.2·0.1.3·0.1.4는 설치 전에 물어봅니다(*도움말 ▸ 업데이트 확인…*으로 바로 확인).

Checksums: SHA256SUMS.txt (below, under Assets). Every file is built by GitHub Actions from this tag (.github/workflows/release.yml) and installed on the build machine, where the installed copy has to pass its self-test before the file is attached. The builds are unsigned, hence the first-run warning.
Updating from 0.1.0 or 0.1.1: install over the old version. Your database, settings and Excel workbooks stay where they are.
Python users: pip install "suya[gui] @ git+https://github.com/jongsu-king/SUYA.git@v0.1.10" then run suya. Without [gui] you get the collector alone, with no Qt.
Containers: docker build -t suya https://github.com/jongsu-king/SUYA.git#v0.1.10, then docker run -d --name suya --restart unless-stopped -v suya-data:/data suya.
macOS with Homebrew: brew install --cask jongsu-king/suya/suya installs the same disk image, with the same first-run warning.
Homebrew를 쓰는 macOS: brew install --cask jongsu-king/suya/suya로 같은 디스크 이미지를 설치합니다. 처음 실행 경고도 같습니다.


SUYA 0.1.10 — Antarctic Ocean Monitor: Southern Ocean temperature, salinity and air temperature collected continuously from public APIs into SQLite and monthly Excel; south-polar map, profiles, T-S diagrams; English/Korean.
SUYA 0.1.10 — 남극해 수온·염분·기온 실시간 수집 프로그램.

Copyright © 2026 Jongsu Lim (Department of Physics, HMOL, Incheon National University; imjongsu1102@gmail.com; ORCID 0009-0000-3395-1484) and Suyeon Park (Department of Materials Science and Engineering, CELLMATE, Incheon National University; dbsnt110@inu.ac.kr) · MIT License

DOI — all versions (concept DOI): 10.5281/zenodo.23937852 · this version: 10.5281/zenodo.24157651 · archived on Zenodo
DOI — 전체 버전(개념 DOI): 10.5281/zenodo.23937852 · 이 버전: 10.5281/zenodo.24157651

This release makes the update check dependable. A check that failed is repeated within minutes, an interrupted download continues where it stopped, and nothing is installed without a SHA-256. It also adds suya update-check and shows the last check in the Settings dialog.
이번 릴리스는 업데이트 확인을 믿을 수 있게 만듭니다. 실패한 확인은 몇 분 안에 다시 하고, 끊긴 내려받기는 멈춘 곳부터 이어받으며, SHA-256 없이는 아무것도 설치하지 않습니다. suya update-check 명령을 더했고, 설정 창에 마지막 확인을 보여 줍니다.

Added / 더한 것

  • suya update-check. Prints this program's version, the latest release, whether it is newer and the link of the release. Nothing is downloaded or installed, and the exit code is 1 when the check failed.
    suya update-check. 이 프로그램의 버전, 최신 릴리스, 그것이 더 새 버전인지, 릴리스 주소를 출력합니다. 아무것도 내려받거나 설치하지 않으며, 확인에 실패하면 종료 코드가 1입니다.
  • The last update check in the Settings dialog. A line shows when the last check ran, what it found (up to date, a new version, or the reason it failed) and when the next automatic check is due.
    설정 창의 마지막 업데이트 확인. 마지막 확인이 언제였는지, 무엇을 찾았는지(최신 버전임, 새 버전 있음, 실패한 이유), 다음 자동 확인이 언제인지를 한 줄로 보여 줍니다.
  • The update check is written to the log. monitor.log records the latest release each check found, or the reason of a failure with the time of the next attempt.
    업데이트 확인을 로그에 남깁니다. monitor.log에 확인할 때마다 찾은 최신 릴리스를 적고, 실패하면 이유와 다음 시도 시각을 적습니다.

Changed / 바꾼 것

  • A failed update check is repeated soon. Until now a check that failed was not repeated for a day and left no trace, so a copy that met GitHub's request limit at each daily check stayed on its old version. A failed check is now repeated after 10 minutes, then after 30 minutes, 1 hour and 2 hours, and every 2 hours after that until one succeeds; from the third failure in a row on, the status bar says so. Successful checks are 6 hours apart, no longer a day, and the schedule is compared with the clock every minute, so a computer that slept through a check catches up when it wakes.
    실패한 업데이트 확인을 곧 다시 합니다. 지금까지는 실패한 확인을 하루 동안 다시 하지 않았고 흔적도 남기지 않았습니다. 그래서 하루 한 번의 확인마다 GitHub 요청 한도에 걸린 설치본은 옛 버전에 머물렀습니다. 이제 실패한 확인은 10분 뒤에, 그다음에는 30분, 1시간, 2시간 뒤에 다시 하고, 성공할 때까지 2시간마다 되풀이합니다. 연속 세 번째 실패부터는 상태 표시줄에 알립니다. 성공한 확인의 간격은 하루가 아니라 6시간이고, 일정을 1분마다 시계와 비교하므로 확인 시각에 잠들어 있던 컴퓨터는 깨어나면 따라잡습니다.
  • The release page answers whenever the API does not. The version was read from the release page only when GitHub's request limit was reached. It is now read from there after a server error, a failed connection or an answer that cannot be read as well.
    API가 답하지 못하면 언제나 릴리스 페이지에서 읽습니다. 지금까지는 GitHub 요청 한도에 걸렸을 때만 릴리스 페이지에서 버전을 읽었습니다. 이제 서버 오류, 연결 실패, 읽을 수 없는 응답일 때도 거기서 읽습니다.
  • An interrupted download continues where it stopped. A download is tried up to three times and each try asks for the rest of the file (HTTP Range). The part already received is kept while the program runs, so the next check continues from it. A connection that stays silent for 60 seconds counts as broken (15 minutes before). A file put together from parts whose SHA-256 is wrong is downloaded once more from the start, and an installer that was already downloaded and verified is not downloaded again when its installation is tried again.
    끊긴 내려받기는 멈춘 곳부터 이어받습니다. 내려받기를 세 번까지 시도하고, 시도마다 파일의 나머지만 요청합니다(HTTP Range). 이미 받은 부분은 프로그램이 실행되는 동안 남겨 두므로 다음 확인이 거기서 이어갑니다. 60초 동안 아무것도 오지 않는 연결은 끊긴 것으로 봅니다(전에는 15분). 이어 붙인 파일의 SHA-256이 맞지 않으면 처음부터 한 번 더 받고, 이미 내려받아 검증한 설치 파일은 설치를 다시 시도할 때 다시 받지 않습니다.
  • Nothing is installed without a SHA-256. A file that SHA256SUMS.txt did not list was installed unchecked. The update now stops with "The release's SHA-256 list has no entry for this file" before the installer is downloaded.
    SHA-256 없이는 아무것도 설치하지 않습니다. 지금까지는 SHA256SUMS.txt에 없는 파일을 검사 없이 설치했습니다. 이제 설치 파일을 내려받기 전에 "릴리스의 SHA-256 목록에서 이 파일을 찾을 수 없습니다"로 멈춥니다.
  • macOS: a copy that cannot replace itself says so before downloading. A copy running from a temporary location (opened from the Downloads folder without being moved) or from a folder that is not writable (opened from the disk image) downloaded the whole disk image at every check and failed afterwards. It now names the reason and asks whether to open the download page.
    macOS: 스스로 교체할 수 없는 설치본은 내려받기 전에 알립니다. 임시 위치에서 실행 중이거나(내려받기 폴더에서 옮기지 않고 연 경우) 쓸 수 없는 폴더에서 실행 중인(디스크 이미지에서 바로 연 경우) 설치본은 확인할 때마다 디스크 이미지를 통째로 내려받은 뒤에 실패했습니다. 이제 이유를 밝히고 내려받기 페이지를 열지 묻습니다.
  • The question about the download page is asked once. A copy that cannot update itself, for example one installed with pip, asked at every automatic check. It now asks once for each version while the program runs; Help ▸ Check for updates… still asks every time.
    내려받기 페이지를 열지는 한 번만 묻습니다. pip로 설치한 것처럼 스스로 업데이트할 수 없는 설치본은 자동 확인 때마다 물었습니다. 이제 프로그램이 실행되는 동안 버전마다 한 번만 묻습니다. *도움말 ▸ 업데이트 확인…*은 전과 같이 매번 묻습니다.

After updating / 올린 뒤

  • Nothing has to be done by hand. From this version on, Settings shows when the last update check ran and when the next one is due.
    손으로 할 일은 없습니다. 이 버전부터 설정에 마지막 업데이트 확인 시각과 다음 확인 시각이 나옵니다.

Full list: CHANGELOG.md.

SUYA 0.1.9

Choose a tag to compare

@github-actions github-actions released this 12 Nov 01:34

Download / 내려받기

OS File / 파일 Size First run / 처음 실행
Windows 10/11 x64 SUYA-0.1.9-windows-x64-setup.exe ≈ 50 MB Installer (English/Korean). SmartScreen: More info → Run anyway / "추가 정보 → 실행"
macOS 12+ Apple Silicon (M1–M4) SUYA-0.1.9-macos-arm64.dmg ≈ 59 MB Drag to Applications. macOS 15+: open once, then System Settings → Privacy & Security → Open Anyway; macOS 12–14: right-click → Open / macOS 15 이상: 한 번 연 뒤 시스템 설정 → 개인정보 보호 및 보안 → 그래도 열기, 12~14: 우클릭 → 열기
macOS 12+ Intel SUYA-0.1.9-macos-x86_64.dmg ≈ 64 MB Same / 위와 같음
Linux x86_64 (glibc ≥ 2.35) SUYA-0.1.9-linux-x86_64.tar.gz ≈ 109 MB Extract, run ./install.sh / 풀고 ./install.sh

Not sure which Mac you have? Apple menu → About This Mac: "Chip Apple M…" → Apple Silicon, "Processor … Intel" → Intel. / Apple 메뉴 → 이 Mac에 관하여: "칩 Apple M…"이면 Apple Silicon, "프로세서 … Intel"이면 Intel.

Already on 0.1.2 to 0.1.8? You do not need to download anything. SUYA finds this release by itself when it starts and once a day. 0.1.5 to 0.1.8 install it by themselves after a 20-second prompt that lets you postpone; 0.1.2, 0.1.3 and 0.1.4 ask before installing (Help ▸ Check for updates… looks right away).
0.1.2~0.1.8을 쓰고 있으면 내려받을 필요가 없습니다. 시작할 때와 하루 한 번 이 릴리스를 스스로 찾습니다. 0.1.5~0.1.8은 20초 동안 미룰 수 있게 물어본 뒤 스스로 설치하고, 0.1.2·0.1.3·0.1.4는 설치 전에 물어봅니다(*도움말 ▸ 업데이트 확인…*으로 바로 확인).

Checksums: SHA256SUMS.txt (below, under Assets). Every file is built by GitHub Actions from this tag (.github/workflows/release.yml) and installed on the build machine, where the installed copy has to pass its self-test before the file is attached. The builds are unsigned, hence the first-run warning.
Updating from 0.1.0 or 0.1.1: install over the old version. Your database, settings and Excel workbooks stay where they are.
Python users: pip install "suya[gui] @ git+https://github.com/jongsu-king/SUYA.git@v0.1.9" then run suya. Without [gui] you get the collector alone, with no Qt.
Containers: docker build -t suya https://github.com/jongsu-king/SUYA.git#v0.1.9, then docker run -d --name suya --restart unless-stopped -v suya-data:/data suya.
macOS with Homebrew: brew install --cask jongsu-king/suya/suya installs the same disk image, with the same first-run warning.
Homebrew를 쓰는 macOS: brew install --cask jongsu-king/suya/suya로 같은 디스크 이미지를 설치합니다. 처음 실행 경고도 같습니다.


SUYA 0.1.9 — Antarctic Ocean Monitor: Southern Ocean temperature, salinity and air temperature collected continuously from public APIs into SQLite and monthly Excel; south-polar map, profiles, T-S diagrams; English/Korean.
SUYA 0.1.9 — 남극해 수온·염분·기온 실시간 수집 프로그램.

Copyright © 2026 Jongsu Lim (Department of Physics, HMOL, Incheon National University; imjongsu1102@gmail.com; ORCID 0009-0000-3395-1484) and Suyeon Park (Department of Materials Science and Engineering, CELLMATE, Incheon National University; dbsnt110@inu.ac.kr) · MIT License

DOI — all versions (concept DOI): 10.5281/zenodo.23937852 · this version: 10.5281/zenodo.24149153 · archived on Zenodo
DOI — 전체 버전(개념 DOI): 10.5281/zenodo.23937852 · 이 버전: 10.5281/zenodo.24149153

This release fixes the "Unhandled exception in script" window that could appear on Windows while the monthly workbooks were being saved. It also removes the temporary files a failed save left behind, checks the free disk space before a save, and keeps the update check working when GitHub's API limit is reached.
이번 릴리스는 월별 엑셀을 저장하는 중에 Windows에서 뜰 수 있던 "Unhandled exception in script" 오류 창을 고칩니다. 실패한 저장이 남기던 임시 파일을 지우고, 저장 전에 디스크 여유 공간을 확인하며, GitHub API 한도에 걸려도 업데이트 확인이 되게 했습니다.

Fixed / 고친 것

  • The "Unhandled exception in script" window on Windows. When the program was closed, or a save ran past its time limit, while the monthly workbooks were being written, the program removed the temporary folder of the save but left the saving process running. That process finished its work, could not write its result file into the folder that no longer existed, and ended with FileNotFoundError: [Errno 2] No such file or directory: '…\Temp\tmp…\result.json' in an error window. The saving process is now stopped and waited for before its folder is removed, an unfinished .tmp.xlsx it leaves in the Excel folder is deleted, and a failure inside the saving process is passed back in the result file and shown in the status tab, not in an error window.
    Windows의 "Unhandled exception in script" 오류 창. 월별 엑셀을 쓰는 중에 프로그램을 닫거나 저장이 제한 시간을 넘기면, 프로그램은 저장용 임시 폴더를 지우면서 저장 프로세스는 그대로 두었습니다. 그 프로세스는 일을 마친 뒤 이미 없어진 폴더에 결과 파일을 쓰지 못해 FileNotFoundError: [Errno 2] No such file or directory: '…\Temp\tmp…\result.json'을 오류 창으로 띄우며 끝났습니다. 이제 저장 프로세스를 먼저 멈추고 끝나기를 기다린 뒤에 폴더를 지우고, 엑셀 폴더에 남은 미완성 .tmp.xlsx를 지우며, 저장 프로세스 안의 실패는 결과 파일로 넘겨받아 오류 창이 아니라 상태 탭에 보여 줍니다.
  • A save that was stopped is written again. A save that was stopped or failed after its first workbook was complete could be taken for a finished one: when the Excel folder had been empty and no new data came in, the remaining workbooks were not written until the next data arrived. The mark of a finished save is now cleared when a save starts and set only when all workbooks are written.
    멈춘 저장은 다시 씁니다. 첫 엑셀이 완성된 뒤에 멈추거나 실패한 저장이 끝난 저장으로 여겨질 수 있었습니다. 엑셀 폴더가 비어 있었고 새 자료가 들어오지 않으면, 나머지 엑셀은 다음 자료가 올 때까지 쓰이지 않았습니다. 이제 끝난 저장의 표시는 저장을 시작할 때 지우고, 모든 엑셀을 다 쓴 뒤에만 남깁니다.
  • Temporary files left behind by a failed save. The workbook writer keeps the rows of every sheet in temporary files until the workbook is complete: up to 14 times the size of the finished workbook, 468 MB for one month of Argo levels in a measurement on 2026-11-12. When a save failed partway, for example because the disk filled up, these files stayed in the system's temporary folder and added up with every attempt. Each workbook now keeps its pieces in a folder of its own (suya-excel-…) that is removed whether the save succeeds or fails. A folder of that name older than a day, left by a process that was killed, is removed at the start of the next save.
    실패한 저장이 남기던 임시 파일. 엑셀을 쓰는 도구는 엑셀 하나가 완성될 때까지 모든 시트의 행을 임시 파일에 둡니다. 완성된 엑셀 크기의 최대 14배이고, 2026-11-12에 잰 값으로는 Argo 수심별 자료 한 달에 468 MB입니다. 디스크가 가득 차는 등으로 저장이 도중에 실패하면 이 파일들이 시스템 임시 폴더에 남아 시도할 때마다 쌓였습니다. 이제 엑셀마다 조각을 자기 폴더(suya-excel-…)에 두고, 저장이 성공하든 실패하든 그 폴더를 지웁니다. 강제 종료된 프로세스가 남긴, 하루가 넘은 같은 이름의 폴더는 다음 저장을 시작할 때 지웁니다.
  • A save no longer starts without room for it. Before writing, the free space of the temporary folder and of the Excel folder is compared with what the largest workbook of the months to write needs: 20 times its size for the pieces and twice its size for the new file, at least 128 MB and 32 MB. When it is short nothing is written and the status tab shows "Not enough disk space to save: … has … MB free, … MB needed".
    공간이 모자라면 저장을 시작하지 않습니다. 쓰기 전에 임시 폴더와 엑셀 폴더의 여유 공간을, 쓸 달 가운데 가장 큰 엑셀에 필요한 크기와 비교합니다. 조각에는 그 크기의 20배, 새 파일에는 2배이고 최소 128 MB와 32 MB입니다. 모자라면 아무것도 쓰지 않고 상태 탭에 "저장할 공간이 부족합니다: … 여유 … MB, 필요 … MB"를 보여 줍니다.

Changed / 바꾼 것

  • The update check works when GitHub's API limit is reached. The check asks the GitHub API for the latest release, which allows 60 requests an hour for each address; when the limit was reached, the check stopped with "GitHub's request limit was reached". It now reads the version from the address the public release page releases/latest points to and builds the file links from the release naming. The download is still checked against SHA256SUMS.txt; when that file cannot be read, nothing is installed.
    GitHub API 한도에 걸려도 업데이트 확인이 됩니다. 업데이트 확인은 GitHub API에 최신 릴리스를 묻는데, 이 API는 주소 하나에 한 시간 60번까지만 답합니다. 한도에 걸리면 확인이 "GitHub 요청 한도에 걸렸습니다"로 멈췄습니다. 이제 공개 릴리스 페이지 releases/latest가 가리키는 주소에서 버전을 읽고, 릴리스 파일 이름 규칙으로 내려받을 주소를 만듭니다. 내려받은 파일은 전과 같이 SHA256SUMS.txt와 대조하고, 그 파일을 읽지 못하면 아무것도 설치하지 않습니다.

After updating / 올린 뒤

  • Temporary files left by 0.1.8 and earlier carry no name of their own, so SUYA does not touch them. The disk cleanup of the operating system removes them (Windows: Settings ▸ System ▸ Storage ▸ Temporary files). Nothing else has to be done by hand.
    0.1.8까지의 버전이 남긴 임시 파일은 이름에 표시가 없어 SUYA가 건드리지 않습니다. 운영체제의 디스크 정리가 지웁니다(Windows: 설정 ▸ 시스템 ▸ 저장소 ▸ 임시 파일). 그 밖에 손으로 할 일은 없습니다.

Full list: CHANGELOG.md.

SUYA 0.1.8

Choose a tag to compare

@github-actions github-actions released this 11 Nov 09:19

Download / 내려받기

OS File / 파일 Size First run / 처음 실행
Windows 10/11 x64 SUYA-0.1.8-windows-x64-setup.exe ≈ 50 MB Installer (English/Korean). SmartScreen: More info → Run anyway / "추가 정보 → 실행"
macOS 12+ Apple Silicon (M1–M4) SUYA-0.1.8-macos-arm64.dmg ≈ 59 MB Drag to Applications. macOS 15+: open once, then System Settings → Privacy & Security → Open Anyway; macOS 12–14: right-click → Open / macOS 15 이상: 한 번 연 뒤 시스템 설정 → 개인정보 보호 및 보안 → 그래도 열기, 12~14: 우클릭 → 열기
macOS 12+ Intel SUYA-0.1.8-macos-x86_64.dmg ≈ 64 MB Same / 위와 같음
Linux x86_64 (glibc ≥ 2.35) SUYA-0.1.8-linux-x86_64.tar.gz ≈ 109 MB Extract, run ./install.sh / 풀고 ./install.sh

Not sure which Mac you have? Apple menu → About This Mac: "Chip Apple M…" → Apple Silicon, "Processor … Intel" → Intel. / Apple 메뉴 → 이 Mac에 관하여: "칩 Apple M…"이면 Apple Silicon, "프로세서 … Intel"이면 Intel.

Already on 0.1.2 to 0.1.7? You do not need to download anything. SUYA finds this release by itself when it starts and once a day. 0.1.5, 0.1.6 and 0.1.7 install it by themselves after a 20-second prompt that lets you postpone; 0.1.2, 0.1.3 and 0.1.4 ask before installing (Help ▸ Check for updates… looks right away).
0.1.2~0.1.7을 쓰고 있으면 내려받을 필요가 없습니다. 시작할 때와 하루 한 번 이 릴리스를 스스로 찾습니다. 0.1.5·0.1.6·0.1.7은 20초 동안 미룰 수 있게 물어본 뒤 스스로 설치하고, 0.1.2·0.1.3·0.1.4는 설치 전에 물어봅니다(*도움말 ▸ 업데이트 확인…*으로 바로 확인).

Checksums: SHA256SUMS.txt (below, under Assets). Every file is built by GitHub Actions from this tag (.github/workflows/release.yml) and installed on the build machine, where the installed copy has to pass its self-test before the file is attached. The builds are unsigned, hence the first-run warning.
Updating from 0.1.0 or 0.1.1: install over the old version. Your database, settings and Excel workbooks stay where they are.
Python users: pip install "suya[gui] @ git+https://github.com/jongsu-king/SUYA.git@v0.1.8" then run suya. Without [gui] you get the collector alone, with no Qt.
Containers: docker build -t suya https://github.com/jongsu-king/SUYA.git#v0.1.8, then docker run -d --name suya --restart unless-stopped -v suya-data:/data suya.
macOS with Homebrew: brew install --cask jongsu-king/suya/suya installs the same disk image, with the same first-run warning.
Homebrew를 쓰는 macOS: brew install --cask jongsu-king/suya/suya로 같은 디스크 이미지를 설치합니다. 처음 실행 경고도 같습니다.


SUYA 0.1.8 — Antarctic Ocean Monitor: Southern Ocean temperature, salinity and air temperature collected continuously from public APIs into SQLite and monthly Excel; south-polar map, profiles, T-S diagrams; English/Korean.
SUYA 0.1.8 — 남극해 수온·염분·기온 실시간 수집 프로그램.

Copyright © 2026 Jongsu Lim (Department of Physics, HMOL, Incheon National University; imjongsu1102@gmail.com; ORCID 0009-0000-3395-1484) and Suyeon Park (Department of Materials Science and Engineering, CELLMATE, Incheon National University; dbsnt110@inu.ac.kr) · MIT License

DOI — all versions (concept DOI): 10.5281/zenodo.23937852 · this version: 10.5281/zenodo.24131554 · archived on Zenodo
DOI — 전체 버전(개념 DOI): 10.5281/zenodo.23937852 · 이 버전: 10.5281/zenodo.24131554

This release adds one data source, NOAA OSMC: the in situ reports that reach the WMO Global Telecommunication System in real time, south of 50°S. Drifting buoys, ice buoys, ships, uncrewed surface vehicles and tagged animals now add measured sea-surface temperature and salinity, air temperature, dew point and sea-level pressure to the database and the workbook every hour. No key and no account are needed.
이번 릴리스는 자료원 하나를 더합니다. NOAA OSMC, 곧 세계기상통신망(GTS)으로 실시간으로 들어오는 50°S 이남의 현장 보고입니다. 표류 부이·해빙 부이·선박·무인 수상정·계측 동물이 잰 표층 수온·염분, 기온, 이슬점, 해면 기압이 한 시간마다 데이터베이스와 엑셀에 쌓입니다. 키도 계정도 필요 없습니다.

Unchecked observations. OSMC carries no quality flags. SUYA keeps a value when it passes a range check and a few position rules, and that is all. A single wrong report inside the allowed range stays in: a warm value from an otherwise cold buoy, for example. For that reason OSMC is never chosen as the representative value of a point and is left out of the monthly summary.
검사를 거치지 않은 관측입니다. OSMC에는 품질 플래그가 없습니다. SUYA는 범위 검사와 위치 규칙 몇 가지를 통과한 값을 그대로 둡니다. 허용 범위 안의 잘못된 보고 하나는 걸러지지 않습니다. 줄곧 차갑던 부이가 한 번 보낸 따뜻한 값이 그런 예입니다. 그래서 OSMC는 지점의 대표값으로 쓰지 않고 월간 요약에도 넣지 않습니다.

Added / 더한 것

  • A new source: real-time in situ reports from NOAA OSMC. The collector osmc reads the dataset OSMC_30day of the OSMC ERDDAP server (CC0) south of 50°S every hour: sea-surface temperature and salinity, air temperature, dew point and sea-level pressure from drifting buoys, ice buoys, ships and uncrewed surface vehicles, and temperature and salinity at depth from tagged animals. Profiling floats are left out because the Argo collector already has them. The last 3 days are asked for every hour and all 30 days once a day, so late reports are picked up.
    새 자료원: NOAA OSMC의 실시간 현장 보고. 수집기 osmc가 OSMC ERDDAP 서버의 데이터셋 OSMC_30day(CC0)에서 50°S 이남을 한 시간마다 읽습니다. 표류 부이·해빙 부이·선박·무인 수상정의 표층 수온·염분, 기온, 이슬점, 해면 기압과 계측 동물의 수심별 수온·염분입니다. 프로파일링 플로트는 Argo 수집기가 이미 받으므로 뺐습니다. 한 시간마다 최근 3일을, 하루에 한 번 30일 전체를 받아 늦게 들어온 보고를 채웁니다.
    • A first run on 2026-11-11 stored 46,096 values from 71 platforms in 52 seconds. Most of them are sea-surface temperature (27,031 values, 56 platforms) and sea-level pressure (15,287, 44 platforms). Air temperature has 1,693 values and dew point 1,172. Salinity is sparse: 407 surface values from one platform and 253 values at depth from seven platforms.
      2026-11-11의 첫 수집에서 플랫폼 71개의 값 46,096개를 52초에 저장했습니다. 대부분은 표층 수온(27,031개, 플랫폼 56개)과 해면 기압(15,287개, 플랫폼 44개)입니다. 기온은 1,693개, 이슬점은 1,172개입니다. 염분은 적습니다. 표층 염분은 플랫폼 한 개의 407개, 수심별 염분은 플랫폼 일곱 개의 253개입니다.
  • Quality rules for a source without flags. The values pass range checks only: water −3…40 °C, salinity 20–42 PSU, air −95…30 °C, sea-level pressure 890–1070 hPa, and a dew point above the air temperature drops both. Sea values south of 79°S are dropped. So are the sea values of a drifting buoy that stayed within 0.002° for 12 hourly reports (stranded or recovered; values stored before the buoy was recognised are removed again) and reports dated more than 6 hours ahead.
    플래그 없는 자료를 위한 품질 규칙. 값은 범위 검사만 거칩니다. 수온 −340 °C, 염분 2042 PSU, 기온 −9530 °C, 해면 기압 8901070 hPa이고, 이슬점이 기온보다 높으면 둘 다 버립니다. 79°S 이남의 해수 값은 버립니다. 한 시간 간격 보고 12회 동안 0.002° 안에 머문 표류 부이의 해수 값(좌초했거나 회수된 부이. 알아채기 전에 저장된 값도 다시 지웁니다)과 6시간 넘게 앞선 시각의 보고도 버립니다.
  • OSMC in the workbook, the point inspector and the ion composition.
    엑셀, 지점 조회, 이온 조성에 들어가는 OSMC.
    • Workbook: a new sheet, OSMC obs, holds one row per time, platform, position and depth: platform, kind, position, depth, water temperature, salinity, air temperature, dew point and sea-level pressure.
      엑셀: 새 시트 OSMC관측. 시각·플랫폼·위치·수심마다 한 행씩 플랫폼, 종류, 위치, 수심, 수온, 염분, 기온, 이슬점, 해면 기압을 적습니다.
    • Point inspector: a click on the map lists the nearest OSMC surface values within 300 km and 30 days in the Surface tab, down to 10 m depth. They are shown for comparison only.
      지점 조회: 지도를 누르면 표층 탭에 300 km 안, 최근 30일, 수심 10 m까지의 가장 가까운 OSMC 값이 나옵니다. 비교용으로만 보여 줍니다.
    • Ion composition: OSMC salinity is converted to ions like every other salinity.
      이온 조성: OSMC 염분도 다른 염분과 똑같이 이온으로 환산합니다.

After updating / 올린 뒤

  • The first collection after the update asks OSMC for all 30 days it keeps, so tens of thousands of rows arrive at once and the OSMC obs sheet also appears in last month's workbook. After that the collector asks for the last 3 days every hour. Nothing has to be done by hand.
    올린 뒤 첫 수집은 OSMC가 가진 30일 전체를 받으므로 수만 행이 한꺼번에 들어오고, 지난달 엑셀에도 OSMC관측 시트가 생깁니다. 그 뒤로는 한 시간마다 최근 3일을 받습니다. 손으로 할 일은 없습니다.

Full list: CHANGELOG.md.

SUYA 0.1.7

Choose a tag to compare

@github-actions github-actions released this 11 Nov 02:51

Download / 내려받기

OS File / 파일 Size First run / 처음 실행
Windows 10/11 x64 SUYA-0.1.7-windows-x64-setup.exe ≈ 50 MB Installer (English/Korean). SmartScreen: More info → Run anyway / "추가 정보 → 실행"
macOS 12+ Apple Silicon (M1–M4) SUYA-0.1.7-macos-arm64.dmg ≈ 59 MB Drag to Applications. macOS 15+: open once, then System Settings → Privacy & Security → Open Anyway; macOS 12–14: right-click → Open / macOS 15 이상: 한 번 연 뒤 시스템 설정 → 개인정보 보호 및 보안 → 그래도 열기, 12~14: 우클릭 → 열기
macOS 12+ Intel SUYA-0.1.7-macos-x86_64.dmg ≈ 64 MB Same / 위와 같음
Linux x86_64 (glibc ≥ 2.35) SUYA-0.1.7-linux-x86_64.tar.gz ≈ 109 MB Extract, run ./install.sh / 풀고 ./install.sh

Not sure which Mac you have? Apple menu → About This Mac: "Chip Apple M…" → Apple Silicon, "Processor … Intel" → Intel. / Apple 메뉴 → 이 Mac에 관하여: "칩 Apple M…"이면 Apple Silicon, "프로세서 … Intel"이면 Intel.

Already on 0.1.2 to 0.1.6? You do not need to download anything. SUYA finds this release by itself when it starts and once a day. 0.1.5 and 0.1.6 install it by themselves after a 20-second prompt that lets you postpone; 0.1.2, 0.1.3 and 0.1.4 ask before installing (Help ▸ Check for updates… looks right away).
0.1.2~0.1.6을 쓰고 있으면 내려받을 필요가 없습니다. 시작할 때와 하루 한 번 이 릴리스를 스스로 찾습니다. 0.1.5와 0.1.6은 20초 동안 미룰 수 있게 물어본 뒤 스스로 설치하고, 0.1.2·0.1.3·0.1.4는 설치 전에 물어봅니다(*도움말 ▸ 업데이트 확인…*으로 바로 확인).

Checksums: SHA256SUMS.txt (below, under Assets). Every file is built by GitHub Actions from this tag (.github/workflows/release.yml) and installed on the build machine, where the installed copy has to pass its self-test before the file is attached. The builds are unsigned, hence the first-run warning.
Updating from 0.1.0 or 0.1.1: install over the old version. Your database, settings and Excel workbooks stay where they are.
Python users: pip install "suya[gui] @ git+https://github.com/jongsu-king/SUYA.git@v0.1.7" then run suya. Without [gui] you get the collector alone, with no Qt.
Containers: docker build -t suya https://github.com/jongsu-king/SUYA.git#v0.1.7, then docker run -d --name suya --restart unless-stopped -v suya-data:/data suya.
macOS with Homebrew: brew install --cask jongsu-king/suya/suya installs the same disk image, with the same first-run warning.
Homebrew를 쓰는 macOS: brew install --cask jongsu-king/suya/suya로 같은 디스크 이미지를 설치합니다. 처음 실행 경고도 같습니다.


SUYA 0.1.7 — Antarctic Ocean Monitor: Southern Ocean temperature, salinity and air temperature collected continuously from public APIs into SQLite and monthly Excel; south-polar map, profiles, T-S diagrams; English/Korean.
SUYA 0.1.7 — 남극해 수온·염분·기온 실시간 수집 프로그램.

Copyright © 2026 Jongsu Lim (Department of Physics, HMOL, Incheon National University; imjongsu1102@gmail.com; ORCID 0009-0000-3395-1484) and Suyeon Park (Department of Materials Science and Engineering, CELLMATE, Incheon National University; dbsnt110@inu.ac.kr) · MIT License

DOI — all versions (concept DOI): 10.5281/zenodo.23937852 · this version: 10.5281/zenodo.24123936 · archived on Zenodo
DOI — 전체 버전(개념 DOI): 10.5281/zenodo.23937852 · 이 버전: 10.5281/zenodo.24123936

The ion conversion now covers the whole-area salinity grids behind the map as well as the point values. Every stored salinity carries a range check, amounts per litre are given where a temperature is paired, and two collection errors are fixed. No new data source is called.
이번 릴리스부터 이온 환산이 지점값뿐 아니라 지도에 쓰는 전범위 염분 격자에도 적용됩니다. 저장되는 모든 염분에 범위 검사 결과가 붙고, 짝이 되는 수온이 있으면 리터당 양도 나오며, 수집 쪽 오류 두 가지를 고쳤습니다. 새로 부르는 자료원은 없습니다.

Derived, not measured. The ion values are calculated from salinity with a fixed composition, for the grids as for the points. No instrument here measures ions, so an ion map is the salinity map read on another scale. Real seawater differs slightly, and the changed ratios in sea-ice brine or where river water or meltwater mixes in are not modelled.
측정값이 아니라 환산값입니다. 이온 값은 지점이든 격자든 염분에 고정된 조성 비율을 곱해 계산합니다. 이온을 직접 재는 자료는 없으므로, 이온 지도는 염분 지도를 다른 눈금으로 읽은 것입니다. 실제 바닷물은 조금 다르고, 해빙 주변 브라인이나 강물·융빙수가 섞이는 곳의 비율 변화는 반영하지 않습니다.

Added / 더한 것

  • Ion conversion of the whole-area grids. The salinity grids behind the map (HYCOM salinity at each depth, SMOS, SMAP) are converted with the same factors as the point values.
    전범위 격자의 이온 환산. 지도에 쓰는 염분 격자(HYCOM 수심별 염분, SMOS, SMAP)를 지점값과 같은 계수로 환산합니다.
    • Map: a Show box on the salinity layers reads the map as one of the eight major ions in g/kg or mmol/kg. The colours stay the same; the colour-bar ticks, the cursor value and the caption change.
      지도: 염분 레이어의 표시 상자에서 주요 이온 여덟 가지 가운데 하나와 단위(g/kg, mmol/kg)를 고릅니다. 색은 그대로이고 범례 눈금, 커서 값, 설명줄이 바뀝니다.
    • Workbook: a new sheet, Grid ions, with one row per grid time for the whole area south of 60°S and for each of the five sectors: valid cells, mean salinity, reference salinity, the eight ions in g/kg and mmol/kg and the range check for the layer depth.
      엑셀: 새 시트 격자이온. 격자 시각마다 60°S 이남 전체와 해역 다섯 곳에 한 행씩, 유효 칸 수, 평균 염분, 기준 염분, 이온 여덟 가지의 g/kg·mmol/kg, 레이어 수심으로 본 범위 검사를 적습니다.
    • Database: the new view grid_ions gives the same rows. Nothing is stored for it; the amounts are computed from grids when read.
      데이터베이스: 새 뷰 grid_ions가 같은 행을 줍니다. 따로 저장하는 것은 없고 읽을 때 grids에서 계산합니다.
    • CSV: suya export grid-ions --layer hycom_salt_0 --out salt0_ions.csv and the menu entry File ▸ Export CSV ▸ Current layer ions… write every cell of the latest grid of a salinity layer with its ions. Other layers are refused.
      CSV: suya export grid-ions --layer hycom_salt_0 --out salt0_ions.csv와 메뉴 *파일 ▸ CSV 내보내기 ▸ 현재 레이어 이온…*이 염분 레이어 최신 격자의 모든 칸을 이온 값과 함께 씁니다. 염분이 아닌 레이어는 거절합니다.
    • The conversion is proportional to salinity, so the ions of a mean salinity equal the mean of the cell ions. The stored means have three decimals. The grids have no mmol/L, because no paired temperature is used.
      환산이 염분에 비례하므로 평균 염분을 환산한 값이 칸마다 환산해 평균한 값과 같습니다. 저장된 평균은 소수 셋째 자리까지입니다. 짝이 되는 수온을 쓰지 않으므로 격자에는 mmol/L이 없습니다.
  • Salinity range check. Every stored salinity is compared with the Southern Ocean range for its depth from Boyer and Levitus (1994), NOAA Technical Report NESDIS 81 (Appendix A, Table 3f). The verdict (ok, low, high) is kept in the new column salinity_check of seawater_ions and in the view argo_level_ions, and shown as a Range check column in the Ion composition sheet, the Argo levels workbook and both ion CSV exports. A new sheet, Salinity ranges, lists the table. It is a label only: no value is dropped or changed, and the ranges are broad on purpose, so only gross errors are caught.
    염분 범위 검사. 저장되는 모든 염분을 Boyer와 Levitus(1994), NOAA Technical Report NESDIS 81(부록 A, 표 3f)의 남극해 수심별 범위와 견줍니다. 결과(ok, low, high)는 seawater_ions의 새 열 salinity_check와 뷰 argo_level_ions에 남고, 이온조성 시트, Argo 층별 엑셀, 이온 CSV 두 가지에 범위 검사 열로 나옵니다. 새 시트 염분범위에 쓰인 표가 있습니다. 표시만 할 뿐 값을 버리거나 고치지 않으며, 범위를 일부러 넓게 잡아 큰 오류만 걸러냅니다.
  • Volume basis. Where a salinity row has a temperature from the same source, place, level and time, the Ion composition sheet and suya export ions add that temperature, the density at 1 atm (Millero and Poisson 1981) and the eight major ions in mmol/L. In-situ pressure is not included, and the cells stay blank without a paired temperature.
    부피 기준. 염분 행에 같은 자료·위치·층·시각의 수온이 있으면 이온조성 시트와 suya export ions에 그 수온, 1기압 밀도(Millero와 Poisson 1981), 주요 이온 여덟 가지의 mmol/L이 붙습니다. 현장 압력은 넣지 않았고, 짝이 되는 수온이 없으면 칸을 비워 둡니다.
  • Command: suya ions takes --temperature (adds the density at 1 atm and mmol/L) and --depth (adds the range check); --json carries both.
    명령: suya ions에 --temperature(1기압 밀도와 mmol/L 추가)와 --depth(범위 검사 추가)가 생겼습니다. --json에도 둘 다 들어갑니다.

Fixed / 고친 것

  • Argo surface values. The surface temperature and salinity of a profile were taken from the first row the listing request returned, which was not always the shallowest good level. They are now the shallowest quality-controlled level within 100 dbar of the stored profile, chosen separately for temperature and salinity, and the row records that depth. Rows written by earlier versions are corrected once, on the first collection after the update. On a copy of a real database this changed 10 of 781 profiles: one surface salinity went from 27.581 to 33.995, and a salinity of 39.063 was removed because that profile has no usable value within 100 dbar.
    Argo 표층 값. 프로파일의 표층 수온·염분을 목록 요청이 돌려준 첫 행에서 가져왔는데, 그 행이 늘 가장 얕은 정상 층은 아니었습니다. 이제 저장된 프로파일에서 100 dbar 안의 가장 얕은 품질 검사 통과 층을 수온과 염분 따로 고르고, 그 수심을 행에 적습니다. 이전 버전이 쓴 행은 올린 뒤 첫 수집 때 한 번 바로잡습니다. 실제 데이터베이스 사본에서는 781개 프로파일 가운데 10개가 바뀌었습니다. 표층 염분 하나가 27.581에서 33.995로 바뀌었고, 100 dbar 안에 쓸 값이 없는 프로파일의 염분 39.063은 빠졌습니다.
  • GOSUD outages recorded as "no ship observations". Every HTTP 404 from the GOSUD server was taken as an empty answer, including the 404 the server sends while it cannot find the dataset. Only the "no matching results" 404 now means no observations; any other 404 is recorded as a failure, as for Argo.
    GOSUD 장애가 "선박 관측 없음"으로 기록되던 문제. GOSUD 서버의 HTTP 404를 모두 빈 응답으로 받아들였는데, 서버가 자료 집합을 찾지 못할 때 보내는 404도 여기에 들어갔습니다. 이제 "일치하는 결과 없음" 404만 관측 없음으로 보고, 나머지 404는 Argo와 같이 실패로 기록합니다.

After updating / 올린 뒤

  • The first time 0.1.7 opens an existing database it adds the range-check column and recalculates the ion rows of the salinity already collected. Nothing has to be done by hand.
    0.1.7이 기존 데이...
Read more

SUYA 0.1.6

Choose a tag to compare

@github-actions github-actions released this 10 Nov 11:46

Download / 내려받기

OS File / 파일 Size First run / 처음 실행
Windows 10/11 x64 SUYA-0.1.6-windows-x64-setup.exe ≈ 50 MB Installer (English/Korean). SmartScreen: More info → Run anyway / "추가 정보 → 실행"
macOS 12+ Apple Silicon (M1–M4) SUYA-0.1.6-macos-arm64.dmg ≈ 59 MB Drag to Applications. macOS 15+: open once, then System Settings → Privacy & Security → Open Anyway; macOS 12–14: right-click → Open / macOS 15 이상: 한 번 연 뒤 시스템 설정 → 개인정보 보호 및 보안 → 그래도 열기, 12~14: 우클릭 → 열기
macOS 12+ Intel SUYA-0.1.6-macos-x86_64.dmg ≈ 64 MB Same / 위와 같음
Linux x86_64 (glibc ≥ 2.35) SUYA-0.1.6-linux-x86_64.tar.gz ≈ 109 MB Extract, run ./install.sh / 풀고 ./install.sh

Not sure which Mac you have? Apple menu → About This Mac: "Chip Apple M…" → Apple Silicon, "Processor … Intel" → Intel. / Apple 메뉴 → 이 Mac에 관하여: "칩 Apple M…"이면 Apple Silicon, "프로세서 … Intel"이면 Intel.

Already on 0.1.2 to 0.1.5? You do not need to download anything. SUYA finds this release by itself when it starts and once a day. 0.1.5 installs it by itself after a 20-second prompt that lets you postpone; 0.1.2, 0.1.3 and 0.1.4 ask before installing (Help ▸ Check for updates… looks right away).
0.1.2~0.1.5를 쓰고 있으면 내려받을 필요가 없습니다. 시작할 때와 하루 한 번 이 릴리스를 스스로 찾습니다. 0.1.5는 20초 동안 미룰 수 있게 물어본 뒤 스스로 설치하고, 0.1.2·0.1.3·0.1.4는 설치 전에 물어봅니다(*도움말 ▸ 업데이트 확인…*으로 바로 확인).

Checksums: SHA256SUMS.txt (below, under Assets). Every file is built by GitHub Actions from this tag (.github/workflows/release.yml) and installed on the build machine, where the installed copy has to pass its self-test before the file is attached. The builds are unsigned, hence the first-run warning.
Updating from 0.1.0 or 0.1.1: install over the old version. Your database, settings and Excel workbooks stay where they are.
Python users: pip install "suya[gui] @ git+https://github.com/jongsu-king/SUYA.git@v0.1.6" then run suya. Without [gui] you get the collector alone, with no Qt.
Containers: docker build -t suya https://github.com/jongsu-king/SUYA.git#v0.1.6, then docker run -d --name suya --restart unless-stopped -v suya-data:/data suya.
macOS with Homebrew: brew install --cask jongsu-king/suya/suya installs the same disk image, with the same first-run warning.
Homebrew를 쓰는 macOS: brew install --cask jongsu-king/suya/suya로 같은 디스크 이미지를 설치합니다. 처음 실행 경고도 같습니다.


SUYA 0.1.6 — Antarctic Ocean Monitor: Southern Ocean temperature, salinity and air temperature collected continuously from public APIs into SQLite and monthly Excel; south-polar map, profiles, T-S diagrams; English/Korean.
SUYA 0.1.6 — 남극해 수온·염분·기온 실시간 수집 프로그램.

Copyright © 2026 Jongsu Lim (Department of Physics, HMOL, Incheon National University; imjongsu1102@gmail.com; ORCID 0009-0000-3395-1484) and Suyeon Park (Department of Materials Science and Engineering, CELLMATE, Incheon National University; dbsnt110@inu.ac.kr) · MIT License

DOI — all versions (concept DOI): 10.5281/zenodo.23937852 · this version: 10.5281/zenodo.24106903 · archived on Zenodo
DOI — 전체 버전(개념 DOI): 10.5281/zenodo.23937852 · 이 버전: 10.5281/zenodo.24106903

Every stored salinity is now also converted to the eight major ions, and the result is kept in the database, the workbooks and a new tab. Data collection is unchanged; no new data source is called.
이번 릴리스부터 저장되는 모든 염분을 주요 이온 여덟 가지로도 환산해 데이터베이스, 엑셀, 새 탭에 남깁니다. 수집 방식은 그대로이고 새로 부르는 자료원은 없습니다.

Derived, not measured. The ion values are calculated from salinity with a fixed composition. No instrument here measures ions. Real seawater differs slightly, and the changed ratios in sea-ice brine or where river water or meltwater mixes in are not modelled.
측정값이 아니라 환산값입니다. 이온 값은 염분에 고정된 조성 비율을 곱해 계산합니다. 이온을 직접 재는 자료는 없습니다. 실제 바닷물은 조금 다르고, 해빙 주변 브라인이나 강물·융빙수가 섞이는 곳의 비율 변화는 반영하지 않습니다.

Added / 더한 것

  • Ion composition derived from salinity. The eight major ions (Cl⁻, Na⁺, SO₄²⁻, Mg²⁺, Ca²⁺, K⁺, HCO₃⁻, Br⁻) come from the Reference Composition of Millero, Feistel, Wright and McDougall (2008, doi:10.1016/j.dsr.2007.10.001): reference salinity S_R = (35.16504 / 35) × S_P times each ion's mass fraction. At salinity 35 that is 19.3527 g/kg of chloride and 10.7815 g/kg of sodium.
    염분에서 환산하는 이온 조성. 주요 이온 여덟 가지(Cl⁻, Na⁺, SO₄²⁻, Mg²⁺, Ca²⁺, K⁺, HCO₃⁻, Br⁻)를 Millero, Feistel, Wright, McDougall(2008)의 기준 조성으로 구합니다. 기준 염분 S_R = (35.16504 / 35) × S_P 에 이온별 질량 분율을 곱합니다. 염분 35라면 염화 이온 19.3527 g/kg, 나트륨 이온 10.7815 g/kg입니다.
  • A seawater_ions table that fills itself. Triggers add, change and remove the ion row together with its salinity row. Salinity collected before the upgrade is filled in once, the first time 0.1.6 opens the database. Two views use no storage: seawater_ions_mmol (the same rows in mmol/kg) and argo_level_ions (the ions of every Argo level, derived when read).
    스스로 채워지는 seawater_ions 표. 염분 행을 넣고 고치고 지울 때 트리거가 이온 행을 함께 처리합니다. 올리기 전에 쌓인 염분은 0.1.6이 데이터베이스를 처음 열 때 한 번 채웁니다. 저장 공간을 쓰지 않는 뷰가 둘 있습니다: seawater_ions_mmol(같은 행의 mmol/kg), argo_level_ions(Argo 모든 층의 이온, 읽을 때 계산).
  • An Ion composition tab in the point window: reference salinity, chlorinity and ionic strength, fifteen components in g/kg, mmol/kg and mass share, and the eight major ions for each source's salinity. It reuses the Surface query, so it makes no extra calls.
    지점 창의 이온 조성 탭: 기준 염분, 염소량, 이온 세기, 성분 열다섯 가지의 g/kg·mmol/kg·질량 비율, 자료별 염분에서 환산한 주요 이온 여덟 가지. 표층 조회 결과를 다시 쓰므로 호출이 늘지 않습니다.
  • Two new sheets in the monthly workbook, Ion composition and Ion factors, and a note on the Info sheet saying the values are derived. The Argo levels workbook gains reference salinity and the eight ions in g/kg for every level.
    월별 엑셀의 새 시트 둘, 이온조성과 이온환산계수, 그리고 정보 시트에 환산값이라는 안내. Argo 층별 파일에는 층마다 기준 염분과 이온 여덟 가지(g/kg)가 붙습니다.
  • Commands: suya ions 34.5 converts one salinity (--json for machine-readable output); suya export ions and suya export argo-ions write the derived values as CSV; suya self-test also checks that the database derives an ion row.
    명령: suya ions 34.5는 염분 하나를 환산합니다(--json은 기계가 읽는 출력). suya export ions와 suya export argo-ions는 환산값을 CSV로 씁니다. suya self-test는 데이터베이스가 이온 행을 만드는지도 확인합니다.

Changed / 바뀐 것

  • The Argo levels workbook is about 1.9 times larger and takes about 1.8 times longer to write because of the nine new columns (measured on 433,396 levels: 17.8 MB in 10.2 s before, 33.7 MB in 17.8 s after). The background process still writes it, so the window stays responsive.
    Argo 층별 엑셀은 새 열 아홉 개 때문에 크기가 약 1.9배, 쓰는 시간이 약 1.8배가 됩니다(433,396개 층으로 잰 값: 이전 17.8 MB·10.2초, 이후 33.7 MB·17.8초). 여전히 뒤에서 도는 프로세스가 쓰므로 창은 멈추지 않습니다.

Full list: CHANGELOG.md.

SUYA 0.1.5

Choose a tag to compare

@github-actions github-actions released this 10 Nov 03:13

Download / 내려받기

OS File / 파일 Size First run / 처음 실행
Windows 10/11 x64 SUYA-0.1.5-windows-x64-setup.exe ≈ 50 MB Installer (English/Korean). SmartScreen: More info → Run anyway / "추가 정보 → 실행"
macOS 12+ Apple Silicon (M1–M4) SUYA-0.1.5-macos-arm64.dmg ≈ 59 MB Drag to Applications. macOS 15+: open once, then System Settings → Privacy & Security → Open Anyway; macOS 12–14: right-click → Open / macOS 15 이상: 한 번 연 뒤 시스템 설정 → 개인정보 보호 및 보안 → 그래도 열기, 12~14: 우클릭 → 열기
macOS 12+ Intel SUYA-0.1.5-macos-x86_64.dmg ≈ 64 MB Same / 위와 같음
Linux x86_64 (glibc ≥ 2.35) SUYA-0.1.5-linux-x86_64.tar.gz ≈ 109 MB Extract, run ./install.sh / 풀고 ./install.sh

Not sure which Mac you have? Apple menu → About This Mac: "Chip Apple M…" → Apple Silicon, "Processor … Intel" → Intel. / Apple 메뉴 → 이 Mac에 관하여: "칩 Apple M…"이면 Apple Silicon, "프로세서 … Intel"이면 Intel.

Already on 0.1.2, 0.1.3 or 0.1.4? You do not need to download anything. SUYA finds this release by itself when it starts and once a day, and asks before installing it (Help ▸ Check for updates… looks right away). From 0.1.5 on, updates install themselves (see below).
0.1.2·0.1.3·0.1.4를 쓰고 있으면 내려받을 필요가 없습니다. 시작할 때와 하루 한 번 이 릴리스를 스스로 찾아 설치 전에 물어봅니다(*도움말 ▸ 업데이트 확인…*으로 바로 확인). 0.1.5부터는 업데이트가 스스로 설치됩니다(아래 참고).

Checksums: SHA256SUMS.txt (below, under Assets). Every file is built by GitHub Actions from this tag (.github/workflows/release.yml) and installed on the build machine, where the installed copy has to pass its self-test before the file is attached. The builds are unsigned, hence the first-run warning.
Updating from 0.1.0 or 0.1.1: install over the old version. Your database, settings and Excel workbooks stay where they are.
Python users: pip install "suya[gui] @ git+https://github.com/jongsu-king/SUYA.git@v0.1.5" then run suya. Without [gui] you get the collector alone, with no Qt.
Containers: docker build -t suya https://github.com/jongsu-king/SUYA.git#v0.1.5, then docker run -d --name suya --restart unless-stopped -v suya-data:/data suya.
macOS with Homebrew: brew install --cask jongsu-king/suya/suya installs the same disk image, with the same first-run warning.
Homebrew를 쓰는 macOS: brew install --cask jongsu-king/suya/suya로 같은 디스크 이미지를 설치합니다. 처음 실행 경고도 같습니다.


SUYA 0.1.5 — Antarctic Ocean Monitor: Southern Ocean temperature, salinity and air temperature collected continuously from public APIs into SQLite and monthly Excel; south-polar map, profiles, T-S diagrams; English/Korean.
SUYA 0.1.5 — 남극해 수온·염분·기온 실시간 수집 프로그램.

Copyright © 2026 Jongsu Lim (Department of Physics, HMOL, Incheon National University; imjongsu1102@gmail.com; ORCID 0009-0000-3395-1484) and Suyeon Park (Department of Materials Science and Engineering, CELLMATE, Incheon National University; dbsnt110@inu.ac.kr) · MIT License

DOI — all versions (concept DOI): 10.5281/zenodo.23937852 · this version: 10.5281/zenodo.24096560 · archived on Zenodo
DOI — 전체 버전(개념 DOI): 10.5281/zenodo.23937852 · 이 버전: 10.5281/zenodo.24096560

Updates now install themselves by default. Data collection is unchanged.
이번 릴리스부터 업데이트가 기본으로 스스로 설치됩니다. 수집 방식은 그대로입니다.

Changed / 바뀐 것

  • Automatic updates are on by default. When the daily check finds a newer release, SUYA downloads the installer for this computer, checks it against the release's SHA256SUMS.txt, installs it and starts again. A 20-second prompt lets you postpone; Settings ▸ Updates still offers ask first and off, and a choice you saved there is kept. Collection pauses only for the restart.
    자동 업데이트가 기본값이 되었습니다. 하루 한 번 확인에서 새 버전을 찾으면 이 컴퓨터용 설치 파일을 내려받아 SHA256SUMS.txt와 대조하고, 설치한 뒤 다시 시작합니다. 20초 안에 미룰 수 있고, 설정 ▸ 업데이트에서 먼저 물어보기나 끄기를 고를 수 있으며 거기서 저장한 선택은 유지됩니다. 수집은 다시 시작하는 동안만 멈춥니다.
  • suya self-test never checks for updates. / suya self-test는 업데이트를 확인하지 않습니다.

Fixed / 고친 것

  • The Open-Meteo budget message no longer reads "used up (5998/9000)" when the GFS map is held back by its 30 % reserve; it names the calls needed and the share the map may use.
    GFS 지도가 30 % 예비분 때문에 보류될 때 Open-Meteo 예산 안내가 "다 씀(5998/9000)"으로 나오던 문제. 필요한 호출 수와 지도에 쓸 수 있는 몫을 보여 줍니다.

Full list: CHANGELOG.md.

SUYA 0.1.4

Choose a tag to compare

@github-actions github-actions released this 08 Nov 14:52

Download / 내려받기

OS File / 파일 Size First run / 처음 실행
Windows 10/11 x64 SUYA-0.1.4-windows-x64-setup.exe ≈ 50 MB Installer (English/Korean). SmartScreen: More info → Run anyway / "추가 정보 → 실행"
macOS 12+ Apple Silicon (M1–M4) SUYA-0.1.4-macos-arm64.dmg ≈ 59 MB Drag to Applications. macOS 15+: open once, then System Settings → Privacy & Security → Open Anyway; macOS 12–14: right-click → Open / macOS 15 이상: 한 번 연 뒤 시스템 설정 → 개인정보 보호 및 보안 → 그래도 열기, 12~14: 우클릭 → 열기
macOS 12+ Intel SUYA-0.1.4-macos-x86_64.dmg ≈ 64 MB Same / 위와 같음
Linux x86_64 (glibc ≥ 2.35) SUYA-0.1.4-linux-x86_64.tar.gz ≈ 109 MB Extract, run ./install.sh / 풀고 ./install.sh

Not sure which Mac you have? Apple menu → About This Mac: "Chip Apple M…" → Apple Silicon, "Processor … Intel" → Intel. / Apple 메뉴 → 이 Mac에 관하여: "칩 Apple M…"이면 Apple Silicon, "프로세서 … Intel"이면 Intel.

Already on 0.1.2 or 0.1.3? You do not need to download anything. SUYA finds this release by itself when it starts and once a day, and asks before installing it (Help ▸ Check for updates… looks right away).
0.1.2나 0.1.3을 쓰고 있으면 내려받을 필요가 없습니다. 시작할 때와 하루 한 번 이 릴리스를 스스로 찾아 설치 전에 물어봅니다(*도움말 ▸ 업데이트 확인…*으로 바로 확인).

Checksums: SHA256SUMS.txt (below, under Assets). Every file is built by GitHub Actions from this tag (.github/workflows/release.yml) and installed on the build machine, where the installed copy has to pass its self-test before the file is attached. The builds are unsigned, hence the first-run warning.
Updating from 0.1.0 or 0.1.1: install over the old version. Your database, settings and Excel workbooks stay where they are.
Python users: pip install "suya[gui] @ git+https://github.com/jongsu-king/SUYA.git@v0.1.4" then run suya. Without [gui] you get the collector alone, with no Qt.
Containers: docker build -t suya https://github.com/jongsu-king/SUYA.git#v0.1.4, then docker run -d --name suya --restart unless-stopped -v suya-data:/data suya.
macOS with Homebrew: brew install --cask jongsu-king/suya/suya installs the same disk image, with the same first-run warning.
Homebrew를 쓰는 macOS: brew install --cask jongsu-king/suya/suya로 같은 디스크 이미지를 설치합니다. 처음 실행 경고도 같습니다.


SUYA 0.1.4 — Antarctic Ocean Monitor: Southern Ocean temperature, salinity and air temperature collected continuously from public APIs into SQLite and monthly Excel; south-polar map, profiles, T-S diagrams; English/Korean.
SUYA 0.1.4 — 남극해 수온·염분·기온 실시간 수집 프로그램.

Copyright © 2026 Jongsu Lim (Department of Physics, HMOL, Incheon National University; imjongsu1102@gmail.com; ORCID 0009-0000-3395-1484) and Suyeon Park (Department of Materials Science and Engineering, CELLMATE, Incheon National University; dbsnt110@inu.ac.kr) · MIT License

DOI — all versions (concept DOI): 10.5281/zenodo.23937852 · this version: 10.5281/zenodo.24054813 · archived on Zenodo
DOI — 전체 버전(개념 DOI): 10.5281/zenodo.23937852 · 이 버전: 10.5281/zenodo.24054813

This release fixes values that were stored wrong. The database corrects itself at the first collection after the update; nothing has to be done by hand.
이번 릴리스는 잘못 저장되던 값을 바로잡습니다. 업데이트 뒤 첫 수집 때 DB가 스스로 고쳐지며 손으로 할 일은 없습니다.

Fixed / 고친 것

  • Garbled METAR reports no longer reach the air temperature and dew point series. NOAA's JSON loses the minus sign of a malformed report, so M048/M08 at Marambio became +48 °C and M04/09 a dew point of +9 °C above an air temperature of -4 °C. Values outside -95 to 30 °C, and pairs whose dew point is above the air temperature, are dropped. Rows of this kind already stored are removed at the next METAR collection, so the Excel files written after that no longer contain them.
    형식이 깨진 METAR 보고가 부호를 잃은 채 저장되던 문제(마람비오 +48 °C 등). -95~30 °C 밖의 값과 이슬점이 기온보다 높은 쌍은 버리고, 이미 저장된 행은 다음 METAR 수집 때 지웁니다.
  • METAR pressure is stored as sea-level pressure. The value is the sea-level reduced pressure (SLP, or QNH when SLP is missing) but was saved as surface_pressure, so the South Pole read about 963 hPa under the same name as Open-Meteo's station-level 676 hPa. It is now sea_level_pressure; stored rows are relabelled at the next collection, and the station sheet of the monthly Excel file calls the column Sea-level pressure hPa. If you read the SQLite file yourself, METAR pressure is under the new name from now on.
    METAR 기압(해면 보정값)이 지표 기압 이름으로 저장되던 문제. 이제 sea_level_pressure로 저장하고 기존 행도 다음 수집 때 옮기며, 월별 엑셀 기지기온 시트의 열 이름은 해면 기압 hPa입니다. SQLite를 직접 읽는 경우 METAR 기압은 새 이름으로 찾아야 합니다.
  • A network outage no longer uses up the daily call budget. Open-Meteo and Windy calls were counted before they were sent and not given back when every attempt failed to connect, so after a long outage the GFS map stayed blocked as "budget used up" even once the connection was back. Calls that never reached the server are now given back; a failure after the server answered still counts.
    연결조차 안 된 Open-Meteo·Windy 호출이 일일 예산에서 빠져, 긴 장애 뒤 GFS 지도가 "예산 소진"으로 막히던 문제. 서버에 닿지 못한 호출은 돌려주고, 서버가 답한 뒤의 실패는 그대로 셉니다.

Added / 추가

  • A Homebrew tap: brew install --cask jongsu-king/suya/suya installs the macOS disk image. / macOS용 Homebrew 탭.

Full list: CHANGELOG.md.

Data credits / 자료 출처

NOAA (GFS, OISST, METAR, WOA23) · NASA JPL (MUR, SMAP) · ESA (SMOS) · US Naval Research Laboratory / HYCOM.org · International Argo Program (Ifremer GDAC) · GOSUD · ECMWF (ERA5, IFS) · DWD · ECCC · JMA · Open-Meteo (CC BY 4.0) · Natural Earth · cmocean. Details in THIRD_PARTY_NOTICES.md.

SUYA 0.1.3

Choose a tag to compare

@github-actions github-actions released this 05 Nov 13:59

Download / 내려받기

OS File / 파일 Size First run / 처음 실행
Windows 10/11 x64 SUYA-0.1.3-windows-x64-setup.exe ≈ 50 MB Installer (English/Korean). SmartScreen: More info → Run anyway / "추가 정보 → 실행"
macOS 12+ Apple Silicon (M1–M4) SUYA-0.1.3-macos-arm64.dmg ≈ 59 MB Drag to Applications. macOS 15+: open once, then System Settings → Privacy & Security → Open Anyway; macOS 12–14: right-click → Open / macOS 15 이상: 한 번 연 뒤 시스템 설정 → 개인정보 보호 및 보안 → 그래도 열기, 12~14: 우클릭 → 열기
macOS 12+ Intel SUYA-0.1.3-macos-x86_64.dmg ≈ 64 MB Same / 위와 같음
Linux x86_64 (glibc ≥ 2.35) SUYA-0.1.3-linux-x86_64.tar.gz ≈ 109 MB Extract, run ./install.sh / 풀고 ./install.sh

Not sure which Mac you have? Apple menu → About This Mac: "Chip Apple M…" → Apple Silicon, "Processor … Intel" → Intel. / Apple 메뉴 → 이 Mac에 관하여: "칩 Apple M…"이면 Apple Silicon, "프로세서 … Intel"이면 Intel.

Already on 0.1.2? You do not need to download anything. SUYA finds this release by itself when it starts and once a day, and asks before installing it (Help ▸ Check for updates… looks right away).
0.1.2를 쓰고 있으면 내려받을 필요가 없습니다. 시작할 때와 하루 한 번 이 릴리스를 스스로 찾아 설치 전에 물어봅니다(*도움말 ▸ 업데이트 확인…*으로 바로 확인).

Checksums: SHA256SUMS.txt (below, under Assets). Every file is built by GitHub Actions from this tag (.github/workflows/release.yml) and installed on the build machine, where the installed copy has to pass its self-test before the file is attached. The builds are unsigned, hence the first-run warning.
Updating from 0.1.0 or 0.1.1: install over the old version. Your database, settings and Excel workbooks stay where they are.
Python users: pip install "suya[gui] @ git+https://github.com/jongsu-king/SUYA.git@v0.1.3" then run suya. Without [gui] you get the collector alone, with no Qt.
Containers: docker build -t suya https://github.com/jongsu-king/SUYA.git#v0.1.3, then docker run -d --name suya --restart unless-stopped -v suya-data:/data suya.
macOS with Homebrew: brew install --cask jongsu-king/suya/suya installs the same disk image, with the same first-run warning.
Homebrew를 쓰는 macOS: brew install --cask jongsu-king/suya/suya로 같은 디스크 이미지를 설치합니다. 처음 실행 경고도 같습니다.


SUYA 0.1.3 — Antarctic Ocean Monitor: Southern Ocean temperature, salinity and air temperature collected continuously from public APIs into SQLite and monthly Excel; south-polar map, profiles, T-S diagrams; English/Korean.
SUYA 0.1.3 — 남극해 수온·염분·기온 실시간 수집 프로그램.

Copyright © 2026 Jongsu Lim (Department of Physics, HMOL, Incheon National University; imjongsu1102@gmail.com; ORCID 0009-0000-3395-1484) and Suyeon Park (Department of Materials Science and Engineering, CELLMATE, Incheon National University; dbsnt110@inu.ac.kr) · MIT License

DOI — all versions (concept DOI): 10.5281/zenodo.23937852 · this version: 10.5281/zenodo.23981834 · archived on Zenodo
DOI — 전체 버전(개념 DOI): 10.5281/zenodo.23937852 · 이 버전: 10.5281/zenodo.23981834

Added / 추가

  • Map playback. A layer with two or more stored times shows a slider and a play button below the map, with the colour range fixed to the latest grid.
    저장 시각이 둘 이상인 지도 레이어에 슬라이더와 재생 버튼. 색 범위는 최신 격자에 고정.
  • Monthly summary sheet at the front of each monthly workbook: samples, mean, minimum, maximum, standard deviation, first and last time per point, source and item, with last month's mean and the change.
    월별 엑셀 맨 앞에 지점·출처·항목별 통계와 전월 대비 변화를 담은 월간요약 시트.
  • Missed satellite days are filled in. OISST, SMOS and SMAP fetch the days that appeared while the program was off or the server was down, oldest first, three per run and up to seven days back.
    프로그램이 꺼져 있었거나 서버가 멈췄던 날의 OISST·SMOS·SMAP을 오래된 날부터 한 번에 3일, 최대 7일 전까지 보충.
  • Collector without Qt, and a container image. pip install of the Git URL now brings only httpx, numpy and XlsxWriter; the window needs the gui extra. A Dockerfile runs the daemon with everything under /data. The installers are unchanged.
    Qt 없이 수집기만 설치 가능(창은 gui 묶음 필요), /data에 모두 저장하는 Dockerfile 추가. 설치 파일은 그대로.
  • Release builds test themselves. Each build installs its own installer on the build machine and runs the installed copy's self-test before anything is attached.
    릴리스 빌드가 자기 설치 파일을 실제로 설치해 self-test를 통과해야 첨부.

Changed / 바뀐 것

  • HYCOM jobs may run for 60 minutes. On a slow day the grid job keeps the layers it has after 20 minutes and continues 30 seconds later, instead of ending in a timeout with nothing recorded. / HYCOM 작업 제한을 60분으로 늘리고, 느린 날에는 받은 층을 남기고 이어서 받음.
  • Closing the window during an update now asks first. It used to cancel the update without a word. / 업데이트 중 창을 닫으면 먼저 물어봄.
  • The air-temperature tab lists values two per row, so a narrow window no longer cuts them off. / 기온 탭의 현재값을 한 줄에 둘씩 표시.
  • The first-run instructions describe macOS 15 and later: System Settings ▸ Privacy & Security ▸ Open Anyway. / macOS 15 이상의 처음 실행 안내 수정.
  • The land outline on the map is built once and moved with one transform. The drawing is unchanged. / 지도 해안선을 한 번만 만들고 변환으로 옮김. 그림은 같음.

Fixed / 고친 것

  • Argo profiles no longer go missing. A profile that came back empty once was stored as empty and never fetched again. Empty profiles are now asked for again a day later while they are within the 30-day list, so a database from an earlier version recovers its recent ones by itself.
    한 번 비어 온 프로파일을 다시 받지 않던 문제. 30일 목록 안의 빈 프로파일은 하루 뒤 다시 물어, 이전 버전의 DB도 최근 것은 스스로 복구됨.
  • An Argo server outage is no longer read as "no data". ERDDAP answers 404 both for no results and for a dataset it briefly cannot find. Only the first now counts as no data; the second is a failure that is retried soon, and a completely empty list is no longer recorded as a success.
    ERDDAP의 일시 장애 404를 "데이터 없음"으로 읽지 않고 실패로 기록해 곧 재시도.
  • On Python 3.11, stopping the collector could hang when a manual collection or a job end met the cancel. The installers and the container use Python 3.12 and were not affected. / Python 3.11에서 수집기 종료가 멈출 수 있던 문제(설치 파일과 컨테이너는 3.12라 해당 없음).
  • On Linux with Python 3.11, map playback could abort with Fatal Python error: deallocating None. The abort no longer appears in the test runs; the installers and the container were not affected. / Linux + Python 3.11에서 지도 재생 중 프로그램이 중단되던 문제(설치 파일과 컨테이너는 해당 없음).

Full list: CHANGELOG.md.

Data credits / 자료 출처

NOAA (GFS, OISST, METAR, WOA23) · NASA JPL (MUR, SMAP) · ESA (SMOS) · US Naval Research Laboratory / HYCOM.org · International Argo Program (Ifremer GDAC) · GOSUD · ECMWF (ERA5, IFS) · DWD · ECCC · JMA · Open-Meteo (CC BY 4.0) · Natural Earth · cmocean. Details in THIRD_PARTY_NOTICES.md.

SUYA 0.1.2

Choose a tag to compare

@github-actions github-actions released this 05 Nov 01:40

Download / 내려받기

OS File / 파일 Size First run / 처음 실행
Windows 10/11 x64 SUYA-0.1.2-windows-x64-setup.exe ≈ 50 MB Installer (English/Korean). SmartScreen: More info → Run anyway / "추가 정보 → 실행"
macOS 12+ Apple Silicon (M1–M4) SUYA-0.1.2-macos-arm64.dmg ≈ 59 MB Drag to Applications. macOS 15+: open once, then System Settings → Privacy & Security → Open Anyway; macOS 12–14: right-click → Open / macOS 15 이상: 한 번 연 뒤 시스템 설정 → 개인정보 보호 및 보안 → 그래도 열기, 12~14: 우클릭 → 열기
macOS 12+ Intel SUYA-0.1.2-macos-x86_64.dmg ≈ 64 MB Same / 위와 같음
Linux x86_64 (glibc ≥ 2.35) SUYA-0.1.2-linux-x86_64.tar.gz ≈ 109 MB Extract, run ./install.sh / 풀고 ./install.sh

Not sure which Mac you have? Apple menu → About This Mac: "Chip Apple M…" → Apple Silicon, "Processor … Intel" → Intel. / Apple 메뉴 → 이 Mac에 관하여: "칩 Apple M…"이면 Apple Silicon, "프로세서 … Intel"이면 Intel.

This is the last version you need to download by hand. From 0.1.2 on, SUYA checks GitHub for a new release when it starts and once a day, downloads the installer for your system, verifies its SHA-256 and installs it (Settings ▸ Updates: off / notify and ask / automatic).
손으로 내려받는 마지막 버전입니다. 0.1.2부터 SUYA가 시작할 때와 하루 한 번 새 릴리스를 확인해 이 컴퓨터용 설치 파일을 받아 SHA-256을 검증하고 설치합니다(설정 ▸ 업데이트: 확인 안 함 / 알리고 물어봄 / 자동).

Checksums: SHA256SUMS.txt (below, under Assets). Every file is built by GitHub Actions from this tag (.github/workflows/release.yml); the builds are unsigned, hence the first-run warning.
Updating from 0.1.0 or 0.1.1: install over the old version. Your database, settings and Excel workbooks stay where they are.
Python users: pip install git+https://github.com/jongsu-king/SUYA.git@v0.1.2 then run suya.


SUYA 0.1.2 — Antarctic Ocean Monitor: Southern Ocean temperature, salinity and air temperature collected continuously from public APIs into SQLite and monthly Excel; south-polar map, profiles, T-S diagrams; English/Korean.
SUYA 0.1.2 — 남극해 수온·염분·기온 실시간 수집 프로그램.

Copyright © 2026 Jongsu Lim (Department of Physics, HMOL, Incheon National University; imjongsu1102@gmail.com; ORCID 0009-0000-3395-1484) and Suyeon Park (Department of Materials Science and Engineering, CELLMATE, Incheon National University; dbsnt110@inu.ac.kr) · MIT License

DOI — all versions (concept DOI): 10.5281/zenodo.23937852 · this version: 10.5281/zenodo.23967499 · archived on Zenodo
DOI — 전체 버전(개념 DOI): 10.5281/zenodo.23937852 · 이 버전: 10.5281/zenodo.23967499

Added / 추가

  • In-app updates. New releases are found on GitHub, downloaded for the running platform (Windows installer, macOS disk image, Linux archive), verified against SHA256SUMS.txt, installed and the program restarted. Default: notify and ask; Settings ▸ Updates also offers do not check and automatic (20-second prompt to postpone). Help ▸ Check for updates… runs the check on demand. pip installations are only pointed to the download page.
    프로그램 안 자동 업데이트. 설정에서 확인 안 함 / 알리고 물어봄(기본) / 자동 중 선택.
  • One instance per data folder. A second start explains that SUYA is already running instead of collecting everything twice.
    같은 데이터 폴더로 두 번 실행되지 않습니다.
  • WOA23 climatology kept in the database per grid point and month: the profile tab shows it at once for any point seen before, even while the NCEI server is slow.
    WOA23 기후값을 DB에 보관해 한 번 본 지점은 바로 표시.
  • Mixed-layer depth in the vertical-profile note (0.2 °C from the 10 m temperature, de Boyer Montégut et al. 2004).
    수직 프로파일 안내에 혼합층 깊이.
  • crash.log in the data folder records native crashes. / 네이티브 충돌을 crash.log에 기록.

Changed / 바뀐 것

  • Chart legends sit above the plot, outside the axes, so they never cover the data. / 차트 범례를 축 밖 위로.
  • Argo fetches up to 120 profile level sets per hourly run (was 60). / Argo 시간당 120개.
  • The macOS bundle reports its real version in Finder. / macOS 번들 버전 표기 수정.
  • When GitHub's request limit stops the update check, the status bar says how many minutes to wait instead of showing the raw API response. / 업데이트 확인이 GitHub 요청 한도에 걸리면 원문 대신 몇 분 뒤 다시 확인하라고 안내.

Fixed / 고친 것

  • Nested error messages, such as Argo's "profile not found", read as plain text in the source table, status bar and monitor.log instead of the raw stored form. / Argo "프로파일 없음"처럼 메시지 안에 든 메시지가 원문 그대로가 아니라 읽을 수 있는 글로 표시.
  • A collection job that hits the 30-minute limit is recorded as "stopped after 30 min without finishing" instead of an empty TimeoutError:. / 30분 제한에 걸린 수집은 빈 TimeoutError: 대신 "30분 안에 끝나지 않아 중단했습니다"로 기록.

Full list: CHANGELOG.md.

Data credits / 자료 출처

NOAA (GFS, OISST, METAR, WOA23) · NASA JPL (MUR, SMAP) · ESA (SMOS) · US Naval Research Laboratory / HYCOM.org · International Argo Program (Ifremer GDAC) · GOSUD · ECMWF (ERA5, IFS) · DWD · ECCC · JMA · Open-Meteo (CC BY 4.0) · Natural Earth · cmocean. Details in THIRD_PARTY_NOTICES.md.