{
  "kind": "ideal_model_not_observation",
  "inputs": {
    "latitude_deg": 0,
    "declination_deg": 0,
    "rotation_deg_per_h": 15,
    "elongations_deg": [
      0,
      90,
      180,
      270
    ],
    "reference": "local solar model; not KST",
    "omitted": [
      "lunar daily motion",
      "refraction",
      "parallax",
      "apparent radius",
      "terrain",
      "weather",
      "orbital inclination"
    ]
  },
  "method": "Event formula compared with rotating observer / fixed lunar unit-vector dot product; sign crossing at rise/set; transit dot=1. Four pattern checks against NASA/NAOJ; not date/location accuracy.",
  "event_checks": [
    {
      "phase": "삭",
      "event": "rise",
      "solar_hour": 6.0,
      "dot_at_event": 6.123233995736766e-17,
      "dot_before": -0.0026179908874177696,
      "dot_after": 0.002617990887417892
    },
    {
      "phase": "삭",
      "event": "set",
      "solar_hour": 18.0,
      "dot_at_event": 6.123233995736766e-17,
      "dot_before": 0.002617990887418336,
      "dot_after": -0.0026179908874182137
    },
    {
      "phase": "상현",
      "event": "rise",
      "solar_hour": 12.0,
      "dot_at_event": 6.123233995736766e-17,
      "dot_before": -0.0026179908874178768,
      "dot_after": 0.002617990887417999
    },
    {
      "phase": "상현",
      "event": "set",
      "solar_hour": 0.0,
      "dot_at_event": -1.8369701987210297e-16,
      "dot_before": 0.0026179908874180914,
      "dot_after": -0.0026179908874180142
    },
    {
      "phase": "보름",
      "event": "rise",
      "solar_hour": 18.0,
      "dot_at_event": 6.123233995736766e-17,
      "dot_before": -0.0026179908874182137,
      "dot_after": 0.002617990887418336
    },
    {
      "phase": "보름",
      "event": "set",
      "solar_hour": 6.0,
      "dot_at_event": -1.8369701987210297e-16,
      "dot_before": 0.0026179908874176473,
      "dot_after": -0.0026179908874180142
    },
    {
      "phase": "하현",
      "event": "rise",
      "solar_hour": 0.0,
      "dot_at_event": 3.0616169978683826e-16,
      "dot_before": -0.0026179908874179687,
      "dot_after": 0.002617990887418137
    },
    {
      "phase": "하현",
      "event": "set",
      "solar_hour": 12.0,
      "dot_at_event": -1.8369701987210297e-16,
      "dot_before": 0.002617990887417754,
      "dot_after": -0.002617990887418122
    }
  ],
  "phase_patterns": [
    {
      "phase": "삭",
      "elongation_deg": 0,
      "rise_solar_h": 6.0,
      "transit_solar_h": 12.0,
      "set_solar_h": 18.0
    },
    {
      "phase": "상현",
      "elongation_deg": 90,
      "rise_solar_h": 12.0,
      "transit_solar_h": 18.0,
      "set_solar_h": 0.0
    },
    {
      "phase": "보름",
      "elongation_deg": 180,
      "rise_solar_h": 18.0,
      "transit_solar_h": 0.0,
      "set_solar_h": 6.0
    },
    {
      "phase": "하현",
      "elongation_deg": 270,
      "rise_solar_h": 0.0,
      "transit_solar_h": 6.0,
      "set_solar_h": 12.0
    }
  ],
  "tolerance": 1e-12,
  "all_pass": true,
  "official_example": {
    "date": "2026-11-17",
    "location": "서울(한국천문연구원 도시 기준 좌표)",
    "timezone": "Asia/Seoul (KST, UTC+09:00)",
    "moonrise": "13:09",
    "transit": "18:32",
    "moonset_same_date": null,
    "moonset_next_date": "2026-11-18T00:01:00+09:00",
    "sunset": "17:20",
    "first_quarter": "2026-11-17T20:48:00+09:00",
    "source_url": "https://astro.kasi.re.kr/kor/life/pageView/6",
    "phase_source_url": "https://astro.kasi.re.kr/kor/life/pageView/7",
    "checked_on": "2026-11-08 KST",
    "timezone_verification": "USNO official API tz=9, isdst=false: Rise13:09/UpperTransit18:32/FirstQuarter20:48 match KASI",
    "record_type": "official_calculated_timetable_not_observation",
    "columns_read": [
      "陽暦(일)",
      "월출몰/출",
      "월출몰/남중",
      "월출몰/몰"
    ],
    "notes": "17일의 --:--는 해당 날짜 0~24시에 월몰이 없다는 뜻. 이어지는 월몰은 18일 00:01. 위상 시각은 별도 월별천문현상으로 확인."
  },
  "transcription_checks": {
    "source_rows": [
      "17",
      "18"
    ],
    "moon_columns_index": [
      5,
      6,
      7
    ],
    "values_match_saved_rendered_cells": true,
    "phase_and_rise_are_distinct": true,
    "date_boundary_explicit": true,
    "not_observed": true
  }
}
