{
  "slug": "moc-tiet-khi-1900-2100",
  "ten": "Mốc bắt đầu 24 tiết khí, 1900 tới 2100",
  "ten_en": "Start moments of the 24 solar terms, 1900 to 2100",
  "ten_zh": "二十四节气交节时刻，1900 至 2100",
  "mo_ta": "Thời điểm bắt đầu từng tiết khí trong 201 năm, tính theo giờ Việt Nam, kèm kinh độ mặt trời của mốc và cờ đánh dấu những mốc rơi sát nửa đêm.",
  "mo_ta_en": "The start moment of each solar term across 201 years in Vietnam time, with the solar longitude of the mark and a flag for moments falling close to midnight.",
  "mo_ta_zh": "201 年间每个节气的起始时刻，按越南时间计，附该节气对应的太阳黄经，以及落在午夜前后的时刻标记。",
  "giay_phep": "CC-BY-4.0",
  "giay_phep_url": "https://creativecommons.org/licenses/by/4.0/",
  "phien_ban": "1.2.4",
  "cap_nhat": "2026-09-30",
  "so_dong": 4824,
  "cot": [
    {
      "ten": "id",
      "kieu": "string",
      "moTa": "Định danh ổn định của dòng, không đổi giữa các phiên bản",
      "moTaEn": "Stable row identifier, unchanged across versions",
      "moTaZh": "行的稳定标识符, 各版本间不变"
    },
    {
      "ten": "nam",
      "kieu": "int",
      "moTa": "Năm dương lịch",
      "moTaEn": "Solar year",
      "moTaZh": "公历年",
      "loai_bang_chung": "A",
      "epistemic_status": "verifiable"
    },
    {
      "ten": "ten",
      "kieu": "string",
      "moTa": "Tên tiết khí",
      "moTaEn": "Name of the solar term",
      "moTaZh": "节气名称",
      "loai_bang_chung": "A",
      "epistemic_status": "verifiable"
    },
    {
      "ten": "ten_en",
      "kieu": "string",
      "moTa": "Tên tiết khí, tiếng Anh",
      "moTaEn": "Name of the solar term, in English",
      "moTaZh": "节气名称，英文",
      "loai_bang_chung": "A",
      "epistemic_status": "verifiable"
    },
    {
      "ten": "kinh_do",
      "kieu": "int",
      "moTa": "Kinh độ mặt trời tại mốc, tính bằng độ",
      "moTaEn": "Solar longitude at the mark, in degrees",
      "moTaZh": "该标记点的太阳黄经，以度计",
      "loai_bang_chung": "A",
      "epistemic_status": "verifiable"
    },
    {
      "ten": "ngay_bat_dau",
      "kieu": "string",
      "moTa": "Ngày bắt đầu, dạng YYYY-MM-DD, giờ Việt Nam",
      "moTaEn": "Start date, format YYYY-MM-DD, Vietnam time",
      "moTaZh": "开始日期，格式 YYYY-MM-DD，越南时间",
      "loai_bang_chung": "A",
      "epistemic_status": "verifiable"
    },
    {
      "ten": "gio",
      "kieu": "int",
      "moTa": "Giờ trong ngày, 0 tới 23",
      "moTaEn": "Hour of the day, 0 to 23",
      "moTaZh": "一天中的时辰，0到23",
      "loai_bang_chung": "A",
      "epistemic_status": "verifiable"
    },
    {
      "ten": "phut",
      "kieu": "int",
      "moTa": "Phút, 0 tới 59",
      "moTaEn": "Minute, 0 to 59",
      "moTaZh": "分钟，0到59",
      "loai_bang_chung": "A",
      "epistemic_status": "verifiable"
    },
    {
      "ten": "sat_nua_dem",
      "kieu": "string",
      "moTa": "co khi mốc cách nửa đêm dưới ba mươi phút, tức sai số có thể đổi cả ngày; phía trước nửa đêm tính cả mốc đúng 23:30 (phut_toi_nua_dem từ -30 tới 29)",
      "moTaEn": "co when the mark is less than thirty minutes from midnight, meaning the error can change the whole day, khong otherwise; before midnight a mark at exactly 23:30 also counts (phut_toi_nua_dem from -30 to 29)",
      "moTaZh": "co 表示距午夜不足三十分钟，即误差可能改变整日，khong 表示不是；午夜之前恰为 23:30 的时刻也计入（phut_toi_nua_dem 为 -30 至 29）",
      "loai_bang_chung": "A",
      "epistemic_status": "verifiable"
    },
    {
      "ten": "phut_toi_nua_dem",
      "kieu": "int",
      "moTa": "Khoảng cách có dấu từ mốc tới nửa đêm gần nhất, tính bằng phút: dương là sau nửa đêm đầu ngày ngay_bat_dau, âm là trước nửa đêm cuối ngày ấy",
      "moTaEn": "Signed distance from the mark to the nearest midnight, in minutes: positive is after the midnight opening ngay_bat_dau, negative is before the midnight closing that day",
      "moTaZh": "该时刻距最近午夜的有符号分钟数：正值为 ngay_bat_dau 当日开始的午夜之后，负值为该日结束的午夜之前",
      "loai_bang_chung": "A",
      "epistemic_status": "verifiable"
    },
    {
      "ten": "lech_so_voi_imcce_phut",
      "kieu": "float",
      "moTa": "Giờ của bộ này trừ giờ IMCCE (Đài Thiên văn Paris, lịch thiên văn INPOP), tính bằng phút, một chữ số thập phân; âm là sớm hơn thiên văn",
      "moTaEn": "This dataset's time minus the IMCCE time (Paris Observatory, INPOP ephemeris), in minutes, one decimal place; negative means earlier than the astronomical value",
      "moTaZh": "本数据集时刻减 IMCCE（巴黎天文台 INPOP 星历）时刻，以分钟计，保留一位小数；负值表示早于天文值",
      "loai_bang_chung": "A",
      "epistemic_status": "verifiable"
    },
    {
      "ten": "sai_so_uoc_phut",
      "kieu": "int",
      "moTa": "Biên sai số của mô hình, phút: phép kiểm chéo ép mọi mốc 1900 tới 2100 lệch IMCCE không quá số này (đo thực sớm nhất 14, muộn nhất 9)",
      "moTaEn": "Error bound of the model, in minutes: the cross-check requires every mark from 1900 to 2100 to be within this of IMCCE (measured: at most 14 early, 9 late)",
      "moTaZh": "模型误差上限（分钟）：交叉核对要求 1900 至 2100 年每个时刻与 IMCCE 相差不超过此数（实测最多偏早 14、偏晚 9）",
      "loai_bang_chung": "A",
      "epistemic_status": "verifiable"
    },
    {
      "ten": "rui_ro_bien",
      "kieu": "string",
      "moTa": "Rủi ro ngày bắt đầu bị lệch vì sai số: cao khi cách nửa đêm dưới sai_so_uoc_phut, trung-binh ở phần còn lại của dải sat_nua_dem, thap ở mọi mốc khác",
      "moTaEn": "Risk that the start date is off because of the error: cao when less than sai_so_uoc_phut from midnight, trung-binh for the rest of the sat_nua_dem band, thap for every other mark",
      "moTaZh": "因误差导致起始日期偏差的风险：距午夜不足 sai_so_uoc_phut 为 cao，sat_nua_dem 区间内其余为 trung-binh，其余时刻为 thap",
      "loai_bang_chung": "A",
      "epistemic_status": "verifiable"
    },
    {
      "ten": "nguon",
      "kieu": "string",
      "moTa": "Loại nguồn của dòng, một hay nhiều phần ngăn bằng dấu chấm phẩy, mỗi phần là tinh-toan (lõi tính ra), quy-uoc-truyen-thong, quy-uoc-he-hien-dai (quy ước của một truyền thống hay một hệ hiện đại), van-ban (kèm tác phẩm sau dấu hai chấm) hoặc bien-tap (kèm chi tiết); chi tiết tĩnh cũng ở nguon_chi_tiet của meta, và hai bộ lớn nhất chỉ ghi ở đó; cột nào thuộc phần nào xem loai_bang_chung của từng cột trong meta",
      "moTaEn": "Kind of source for this row, one or more parts separated by semicolons, each being tinh-toan (computed by the engine), quy-uoc-truyen-thong, quy-uoc-he-hien-dai (convention of a tradition or of a modern system), van-ban (with the work after a colon) or bien-tap (with details); static details are also in the metadata nguon_chi_tiet, and the two largest datasets give them only there; which column belongs to which part is given by each column's loai_bang_chung in the metadata",
      "moTaZh": "该行的来源类别，一个或多个部分，以分号分隔，每部分为 tinh-toan（引擎推算）、quy-uoc-truyen-thong、quy-uoc-he-hien-dai（传统或现代体系的约定）、van-ban（冒号后为著作）或 bien-tap（附说明）；固定说明亦见元数据 nguon_chi_tiet，两个最大的数据集只在那里给出；各列属于哪一部分，见元数据中每列的 loai_bang_chung"
    },
    {
      "ten": "ghi_chu",
      "kieu": "string",
      "moTa": "Điểm các trường phái bất đồng ở dòng này, rỗng nếu không có",
      "moTaEn": "Where the schools disagree on this row; empty when they do not",
      "moTaZh": "各流派在该行的分歧之处；没有则留空"
    }
  ],
  "nguon_thu_tich": [],
  "ghi_chu_chung": "SAI SỐ ĐO ĐƯỢC: SỚM TRUNG BÌNH 3,2 PHÚT, NHIỀU NHẤT 14 PHÚT so với giá trị thiên văn. Đối chiếu ngày 27/09/2026 trên cả 4.824 mốc năm 1900 tới 2100 với kinh độ biểu kiến của mặt trời theo lịch thiên văn INPOP của IMCCE (Đài Thiên văn Paris), và 804 mốc phân chí với USNO: mốc của bộ này sớm nhất 14 phút, muộn nhất 9 phút, gần bốn phần năm số mốc sớm. Bản 1.0.0 sớm trung bình 8,4 phút, nhiều nhất 20 phút (đo trên 148 mốc năm 2024 tới 2030); bản 1.1.0 thêm hiệu chỉnh quang sai, chương động và ΔT; bản 1.1.1 chỉ đổi nguồn đối chiếu, dữ liệu không đổi; bản 1.2.0 thêm bốn cột sai số theo từng mốc, mô tả ở cuối ghi chú này. Ngày bắt đầu tiết khí khớp 4.814 trên 4.824 mốc; 10 mốc lệch ngày đều cách nửa đêm dưới 15 phút. Phần sai số còn lại là do mô hình vị trí mặt trời của lõi tính dùng chuỗi rút gọn, đủ cho việc xác định NGÀY của tiết khí nhưng chưa đủ để gọi là chính xác tới phút. Cột sat_nua_dem đánh dấu những mốc cách nửa đêm dưới ba mươi phút: ở đúng những dòng ấy, sai số trên có thể đổi cả NGÀY bắt đầu tiết khí, nên đừng dùng chúng để chốt việc mà không đối lại nguồn thiên văn. Giờ ghi theo múi giờ Việt Nam UTC+7. Mốc là lúc kinh độ mặt trời chạm đúng bội số của 15 độ, tìm bằng phép chia đôi khoảng tới khi còn dưới một phút. Mỗi dòng mang độ lệch của chính nó: lech_so_voi_imcce_phut là giờ của bộ này trừ giờ IMCCE (âm là sớm), nên cộng ngược lại là ra giờ thiên văn tới khoảng một phút; phut_toi_nua_dem là khoảng cách có dấu tới nửa đêm gần nhất; sai_so_uoc_phut là biên sai số 15 phút mà phép kiểm chéo ép trên mọi mốc; rui_ro_bien là cao khi mốc cách nửa đêm dưới 15 phút (sai số có thể đổi ngày), trung-binh ở phần còn lại của dải sat_nua_dem (tới 30 phút), thap ở mọi mốc khác.",
  "ghi_chu_chung_en": "MEASURED ERROR: 3.2 MINUTES EARLY ON AVERAGE, 14 MINUTES AT MOST relative to astronomical values. Checked on 27 September 2026 over all 4,824 marks from 1900 to 2100 against the Sun's apparent longitude from the INPOP ephemeris of IMCCE (Paris Observatory), and over 804 equinox and solstice marks against USNO: the marks here are at most 14 minutes early and 9 minutes late, and close to four in five are early. Version 1.0.0 was 8.4 minutes early on average and 20 at most (measured over 148 marks from 2024 to 2030); version 1.1.0 adds aberration, nutation and ΔT; version 1.1.1 only changes the reference source, the data is unchanged; version 1.2.0 adds four per-mark error columns, described at the end of this note. Start dates match for 4,814 of the 4,824 marks; the 10 that differ by a day are all less than 15 minutes from midnight. The remaining error is because the engine's solar position model uses a truncated series, good enough to fix the DAY of a term but not enough to call this minute-accurate. The sat_nua_dem column flags moments within thirty minutes of midnight: on exactly those rows the error above can shift the starting DAY, so do not settle anything on them without checking an astronomical source. Times are Vietnam time, UTC+7. The mark is the instant solar longitude reaches an exact multiple of 15 degrees, found by bisection down to under one minute. Each row carries its own error: lech_so_voi_imcce_phut is this dataset's time minus the IMCCE time (negative means early), so subtracting it gives the astronomical time to about a minute; phut_toi_nua_dem is the signed distance to the nearest midnight; sai_so_uoc_phut is the 15-minute error bound the cross-check enforces on every mark; rui_ro_bien is cao when the mark is less than 15 minutes from midnight (the error can change the day), trung-binh for the rest of the sat_nua_dem band (up to 30 minutes), and thap for every other mark.",
  "ghi_chu_chung_zh": "实测误差：平均偏早 3.2 分钟，最多 14 分钟。2026 年 9 月 27 日以巴黎天文台 IMCCE 的 INPOP 星历太阳视黄经比对 1900 至 2100 年全部 4,824 个时刻，并以美国海军天文台比对 804 个二分二至时刻：本数据集的时刻最多偏早 14 分钟、偏晚 9 分钟，近五分之四偏早。1.0.0 版平均偏早 8.4 分钟，最多 20 分钟（以 2024 至 2030 年 148 个时刻测得）；1.1.0 版加入光行差、章动与 ΔT 修正；1.1.1 版只更换比对来源，数据不变；1.2.0 版新增四列逐时刻误差，说明见本注末尾。4,824 个节气起始日期中 4,814 个一致，相差一天的 10 个均距午夜不足 15 分钟。其余误差是因为引擎的太阳位置模型采用截断级数，足以确定节气所在的日期，但还不足以称为精确到分。sat_nua_dem 一列标出距午夜不足三十分钟的时刻：恰恰在这些行上，上述误差可能改变节气起始的日期，因此不要在未核对天文数据的情况下据此定事。时间为越南时间 UTC+7。交节时刻指太阳黄经正好到达 15 度整数倍的瞬间，用二分法求到一分钟以内。每行附其自身误差：lech_so_voi_imcce_phut 为本数据集时刻减 IMCCE 时刻（负值为偏早），反减即得约一分钟精度的天文时刻；phut_toi_nua_dem 为距最近午夜的有符号分钟数；sai_so_uoc_phut 为交叉核对对每个时刻强制的 15 分钟误差上限；rui_ro_bien 在距午夜不足 15 分钟时为 cao（误差可能改变日期），sat_nua_dem 区间内其余部分（至 30 分钟）为 trung-binh，其余时刻为 thap。",
  "ghi_nguon_yeu_cau": "Nguồn: Nhật Nguyệt (nhatnguyet.org), CC BY 4.0",
  "ghi_nguon_yeu_cau_en": "Source: Nhật Nguyệt (nhatnguyet.org), CC BY 4.0",
  "ghi_nguon_yeu_cau_zh": "来源：Nhật Nguyệt (nhatnguyet.org)，CC BY 4.0",
  "trang": "/du-lieu/24-tiet-khi",
  "ma_hoa": "UTF-8 không BOM",
  "gioi_han_su_dung": "Bộ dữ liệu này ghi lại quy ước văn hoá và lịch pháp, không phải phát biểu khoa học. Nó dùng được cho nghiên cứu văn hoá, xử lý ngôn ngữ và ứng dụng lịch. Nó không dùng để dự đoán sự kiện, đánh giá con người, hay ra quyết định ảnh hưởng tới ai.",
  "gioi_han_su_dung_en": "This dataset records cultural and calendrical conventions, not scientific claims. It is suitable for cultural research, NLP, and calendar applications. It is not intended for predicting events, evaluating people, or making decisions that affect anyone.",
  "gioi_han_su_dung_zh": "本数据集记录的是文化与历法约定，而非科学论断。它适用于文化研究、自然语言处理和历法应用，不用于预测事件、评价他人，或作出影响任何人的决定。",
  "trich_dan": "Nhật Nguyệt (2026). Mốc bắt đầu 24 tiết khí, 1900 tới 2100. Phiên bản 1.2.4. CC-BY-4.0. https://nhatnguyet.org/du-lieu/moc-tiet-khi-1900-2100.csv",
  "trich_dan_en": "Nhật Nguyệt (2026). Start moments of the 24 solar terms, 1900 to 2100. Version 1.2.4. CC-BY-4.0. https://nhatnguyet.org/du-lieu/moc-tiet-khi-1900-2100.csv",
  "co_parquet": false,
  "nguon_goc_du_lieu": "tinh-toan",
  "nguon_goc_du_lieu_mo_ta": "Giá trị do lõi tính của site tính ra bằng thuật toán thiên văn, lịch pháp hoặc số học; không chép từ bảng in sẵn nào.",
  "nguon_goc_du_lieu_mo_ta_en": "Values computed by the site's engine with astronomical, calendrical or arithmetic algorithms; not copied from any printed table.",
  "nguon_goc_du_lieu_mo_ta_zh": "数值由本站推算引擎以天文、历法或算术算法算出，未抄自任何印刷表格。",
  "mui_gio": "Asia/Ho_Chi_Minh",
  "mo_hinh": [
    "tiet-khi-meeus-c25-bieu-kien-v2"
  ],
  "quy_uoc": [
    "mui-gio",
    "tiet-khi"
  ],
  "ho_so_mo_hinh": [
    {
      "ma": "tiet-khi-meeus-c25-bieu-kien-v2",
      "phien_ban": "2.2.0",
      "loai": "tiet-khi",
      "ten": "Giờ giao 24 tiết khí",
      "ten_en": "Solar term moments",
      "ten_zh": "二十四节气交节时刻",
      "mui_gio": "Asia/Ho_Chi_Minh",
      "utc_offset_gio": 7,
      "phu_thuoc": [],
      "lich_thien_van": "meeus-c25-rut-gon: Meeus, Astronomical Algorithms chương 25, kinh độ Mặt Trời theo phương trình tâm ba số hạng (chuỗi rút gọn, độ chính xác chừng 0,01 độ), không phải VSOP87 đầy đủ",
      "quang_sai_do": -0.00569,
      "chuong_dong": "chuong_dong_do = -0.00478 * sin(Ω), Ω = 125.04 - 1934.136 T (độ), T tính bằng thế kỷ Julius từ J2000 theo giờ TT",
      "delta_t": "espenak-meeus-2006: đa thức ΔT = TT - UT theo từng khoảng năm của Espenak và Meeus (NASA, 2006), lấy ở giữa năm dương lịch",
      "cach_giai": "chia-doi",
      "nguong_dung_giai_phut": 1,
      "dung_sai_phut": 15,
      "thong_ke_sai_so": [
        {
          "nguon": "IMCCE",
          "ten_nguon": "IMCCE (Đài Thiên văn Paris), dịch vụ Miriade ephemcc, lý thuyết hành tinh INPOP",
          "so_moc": 4824,
          "dinh_nghia": "loi_tinh - nguon",
          "mae_phut": 4.2,
          "rmse_phut": 5.1,
          "trung_vi_tuyet_doi_phut": 3.7,
          "p95_tuyet_doi_phut": 9.7,
          "p99_tuyet_doi_phut": 12.3,
          "lech_trung_binh_phut": -3.2,
          "nho_nhat_phut": -14.4,
          "lon_nhat_phut": 9,
          "so_moc_som": 3758,
          "phan_bo": [
            {
              "tu_phut": -16,
              "den_phut": -14,
              "so_moc": 8
            },
            {
              "tu_phut": -14,
              "den_phut": -12,
              "so_moc": 53
            },
            {
              "tu_phut": -12,
              "den_phut": -10,
              "so_moc": 138
            },
            {
              "tu_phut": -10,
              "den_phut": -8,
              "so_moc": 397
            },
            {
              "tu_phut": -8,
              "den_phut": -6,
              "so_moc": 603
            },
            {
              "tu_phut": -6,
              "den_phut": -4,
              "so_moc": 845
            },
            {
              "tu_phut": -4,
              "den_phut": -2,
              "so_moc": 893
            },
            {
              "tu_phut": -2,
              "den_phut": 0,
              "so_moc": 821
            },
            {
              "tu_phut": 0,
              "den_phut": 2,
              "so_moc": 544
            },
            {
              "tu_phut": 2,
              "den_phut": 4,
              "so_moc": 338
            },
            {
              "tu_phut": 4,
              "den_phut": 6,
              "so_moc": 126
            },
            {
              "tu_phut": 6,
              "den_phut": 8,
              "so_moc": 52
            },
            {
              "tu_phut": 8,
              "den_phut": 10,
              "so_moc": 6
            },
            {
              "tu_phut": 10,
              "den_phut": 12,
              "so_moc": 0
            },
            {
              "tu_phut": 12,
              "den_phut": 14,
              "so_moc": 0
            },
            {
              "tu_phut": 14,
              "den_phut": 16,
              "so_moc": 0
            }
          ]
        },
        {
          "nguon": "USNO",
          "ten_nguon": "U.S. Naval Observatory, Astronomical Applications API (seasons)",
          "so_moc": 804,
          "dinh_nghia": "loi_tinh - nguon",
          "mae_phut": 4.3,
          "rmse_phut": 5.3,
          "trung_vi_tuyet_doi_phut": 4,
          "p95_tuyet_doi_phut": 10,
          "p99_tuyet_doi_phut": 12,
          "lech_trung_binh_phut": -3.3,
          "nho_nhat_phut": -13,
          "lon_nhat_phut": 9,
          "so_moc_som": 608,
          "phan_bo": [
            {
              "tu_phut": -16,
              "den_phut": -14,
              "so_moc": 0
            },
            {
              "tu_phut": -14,
              "den_phut": -12,
              "so_moc": 2
            },
            {
              "tu_phut": -12,
              "den_phut": -10,
              "so_moc": 21
            },
            {
              "tu_phut": -10,
              "den_phut": -8,
              "so_moc": 70
            },
            {
              "tu_phut": -8,
              "den_phut": -6,
              "so_moc": 92
            },
            {
              "tu_phut": -6,
              "den_phut": -4,
              "so_moc": 127
            },
            {
              "tu_phut": -4,
              "den_phut": -2,
              "so_moc": 149
            },
            {
              "tu_phut": -2,
              "den_phut": 0,
              "so_moc": 147
            },
            {
              "tu_phut": 0,
              "den_phut": 2,
              "so_moc": 94
            },
            {
              "tu_phut": 2,
              "den_phut": 4,
              "so_moc": 56
            },
            {
              "tu_phut": 4,
              "den_phut": 6,
              "so_moc": 32
            },
            {
              "tu_phut": 6,
              "den_phut": 8,
              "so_moc": 12
            },
            {
              "tu_phut": 8,
              "den_phut": 10,
              "so_moc": 2
            },
            {
              "tu_phut": 10,
              "den_phut": 12,
              "so_moc": 0
            },
            {
              "tu_phut": 12,
              "den_phut": 14,
              "so_moc": 0
            },
            {
              "tu_phut": 14,
              "den_phut": 16,
              "so_moc": 0
            }
          ]
        }
      ],
      "doi_chieu": [
        {
          "nguon": "IMCCE (Đài Thiên văn Paris), dịch vụ Miriade ephemcc, lý thuyết hành tinh INPOP",
          "url": "https://ssp.imcce.fr/webservices/miriade/api/ephemcc.php",
          "tep": "services/api/internal/coreengine/testdata/lichphap/imcce_tiet_khi_1900_2100.tsv",
          "sha256": "3f6fad729304ae8631ed2ef495f4867c56f5d1195de56c2eb3b2c45243c2b1da",
          "ngay_truy_cap": "2026-09-27",
          "so_moc": 4824,
          "dung_sai_phut": 15,
          "test": "TestKiemCheoGioTietKhi"
        },
        {
          "nguon": "U.S. Naval Observatory, Astronomical Applications API (seasons)",
          "url": "https://aa.usno.navy.mil/api/seasons",
          "tep": "services/api/internal/coreengine/testdata/lichphap/usno_phan_chi_1900_2100.tsv",
          "sha256": "ef70a6694d2764f13f8409b2dade5fb87ade9161d0fdccc683b6993f472d8419",
          "ngay_truy_cap": "2026-09-27",
          "so_moc": 804,
          "dung_sai_phut": 15,
          "test": "TestKiemCheoGioTietKhi"
        }
      ],
      "kiem_dinh": [
        {
          "ma": "gio-giao-tiet-imcce",
          "loai": "doi-chieu-so",
          "trang_thai": "dat",
          "tham_chieu": "IMCCE",
          "co_mau": 4824,
          "don_vi": "phut",
          "dung_sai": 15,
          "mae": 4.2,
          "rmse": 5.1,
          "trung_vi": 3.7,
          "p95": 9.7,
          "p99": 12.3,
          "max": 14.4,
          "lech": -3.2,
          "so_ngoai_le": 0,
          "test": "TestKiemCheoGioTietKhi",
          "mo_ta": "Giờ giao tiết của lõi tính trừ giờ IMCCE trên 4.824 mốc 1900 tới 2100, tính bằng phút; âm là lõi tính sớm.",
          "mo_ta_en": "The engine's solar term moment minus the IMCCE moment over 4,824 moments from 1900 to 2100, in minutes; negative means the engine is early.",
          "mo_ta_zh": "1900 至 2100 年 4,824 个时刻，引擎交节时刻减 IMCCE 时刻，单位为分钟；负值表示引擎偏早。"
        },
        {
          "ma": "gio-giao-tiet-usno",
          "loai": "doi-chieu-so",
          "trang_thai": "dat",
          "tham_chieu": "USNO",
          "co_mau": 804,
          "don_vi": "phut",
          "dung_sai": 15,
          "mae": 4.3,
          "rmse": 5.3,
          "trung_vi": 4,
          "p95": 10,
          "p99": 12,
          "max": 13,
          "lech": -3.3,
          "so_ngoai_le": 0,
          "test": "TestKiemCheoGioTietKhi",
          "mo_ta": "Giờ giao tiết của lõi tính trừ giờ USNO trên 804 mốc 1900 tới 2100, tính bằng phút; âm là lõi tính sớm.",
          "mo_ta_en": "The engine's solar term moment minus the USNO moment over 804 moments from 1900 to 2100, in minutes; negative means the engine is early.",
          "mo_ta_zh": "1900 至 2100 年 804 个时刻，引擎交节时刻减 USNO 时刻，单位为分钟；负值表示引擎偏早。"
        },
        {
          "ma": "ngay-giao-tiet-imcce",
          "loai": "doi-chieu-ngay",
          "trang_thai": "dat-co-ngoai-le",
          "tham_chieu": "IMCCE",
          "co_mau": 4824,
          "don_vi": "ngay",
          "dung_sai": 0,
          "so_ngoai_le": 10,
          "test": "TestKiemCheoNgayTietKhiIMCCE",
          "mo_ta": "Ngày giao tiết theo giờ Việt Nam của lõi tính so với ngày chứa mốc IMCCE, 4.824 mốc; 10 mốc khác ngày, mọi mốc ấy cách nửa đêm dưới 15 phút và được kê ở ngoai-le-doi-chieu.csv.",
          "mo_ta_en": "The engine's solar term date in Vietnam time against the date containing the IMCCE moment, 4,824 moments; 10 fall on a different date, all within 15 minutes of midnight, and each is listed in ngoai-le-doi-chieu.csv.",
          "mo_ta_zh": "按越南时间比较引擎的交节日期与 IMCCE 时刻所在日期，共 4,824 个时刻；10 个日期不同，均距午夜不足 15 分钟，逐一列于 ngoai-le-doi-chieu.csv。"
        },
        {
          "ma": "ngay-giao-tiet-usno",
          "loai": "doi-chieu-ngay",
          "trang_thai": "dat-co-ngoai-le",
          "tham_chieu": "USNO",
          "co_mau": 804,
          "don_vi": "ngay",
          "dung_sai": 0,
          "so_ngoai_le": 4,
          "test": "TestKiemDinhNgayGiaoTietUSNO",
          "mo_ta": "Ngày giao tiết theo giờ Việt Nam của lõi tính so với ngày chứa mốc USNO, 804 mốc; 4 mốc khác ngày, mọi mốc ấy cách nửa đêm dưới 15 phút và được kê ở ngoai-le-doi-chieu.csv.",
          "mo_ta_en": "The engine's solar term date in Vietnam time against the date containing the USNO moment, 804 moments; 4 fall on a different date, all within 15 minutes of midnight, and each is listed in ngoai-le-doi-chieu.csv.",
          "mo_ta_zh": "按越南时间比较引擎的交节日期与 USNO 时刻所在日期，共 804 个时刻；4 个日期不同，均距午夜不足 15 分钟，逐一列于 ngoai-le-doi-chieu.csv。"
        }
      ],
      "ghi_chu": "Mốc là lúc kinh độ biểu kiến của Mặt Trời chạm đúng bội số của 15 độ, tìm bằng phép chia đôi, làm tròn tới phút theo giờ Việt Nam. Đo 27/09/2026 trên 4.824 mốc: sớm trung bình 3,2 phút, sớm nhất 14 phút, muộn nhất 9 phút so với IMCCE.",
      "ghi_chu_en": "A moment is when the Sun's apparent longitude reaches an exact multiple of 15 degrees, found by bisection and rounded to the minute in Vietnam time. Measured on 27 September 2026 over 4,824 moments: 3.2 minutes early on average, at most 14 minutes early and 9 minutes late relative to IMCCE.",
      "ghi_chu_zh": "交节时刻指太阳视黄经正好到达 15 度整数倍的瞬间，以二分法求得，按越南时间取整到分钟。2026 年 9 月 27 日以 4,824 个时刻测得：与 IMCCE 相比平均偏早 3.2 分钟，最多偏早 14 分钟、偏晚 9 分钟。"
    }
  ],
  "vai_tro": "tri-thuc",
  "vai_tro_mo_ta": "Bộ ghi lại tri thức: lịch pháp, bảng tra hay nội dung biên tập, dùng lại được như nguồn tham chiếu (trong giới hạn sử dụng đã nêu).",
  "vai_tro_mo_ta_en": "A knowledge dataset: calendrical values, lookup tables or edited content, reusable as a reference (within the stated limits of use).",
  "vai_tro_mo_ta_zh": "知识类数据集：历法数值、查表或编辑内容，可作为参考资料转用（以所列使用限制为限）。",
  "thay_doi_gan_nhat": {
    "phien_ban": "1.2.4",
    "ngay": "2026-09-30",
    "loai": "documentation",
    "mo_ta": "Hồ sơ mô hình (tiết khí 2.2.0, lịch âm 1.2.0, Quái khí 1.2.0) thêm kiem_dinh theo khuôn chung: trạng thái, tham chiếu, cỡ mẫu, dung sai, MAE, RMSE, trung vị, P95, P99, lớn nhất, lệch, số ngoại lệ; từng ngoại lệ kê ở tệp kèm ngoai-le-doi-chieu.csv, mọi phép kiểm của mọi bộ ở kiem-dinh.csv. Dữ liệu không đổi byte nào. Meta thêm source_ids (sổ nguồn nguon-thu-tich.csv), rule_ids (sổ luật quy-tac.json), danh_muc_tu_vung_nguon (tám loại của cột nguon kèm từ tương đương tiếng Anh), epistemic_status của từng cột và danh_muc_epistemic_status; dữ liệu không đổi byte nào.",
    "mo_ta_en": "The model profiles (solar terms 2.2.0, lunar calendar 1.2.0, Gua Qi 1.2.0) add kiem_dinh in a common layout: status, reference, sample size, tolerance, MAE, RMSE, median, P95, P99, maximum, bias, number of exceptions; each exception is listed in the companion file ngoai-le-doi-chieu.csv, and every check of every dataset in kiem-dinh.csv. The data is unchanged byte for byte. Metadata adds source_ids (source register nguon-thu-tich.csv), rule_ids (rule register quy-tac.json), danh_muc_tu_vung_nguon (the eight kinds of the nguon column with their English equivalents), a per-column epistemic_status and danh_muc_epistemic_status; the data is unchanged byte for byte.",
    "mo_ta_zh": "模型档案（节气 2.2.0、农历 1.2.0、卦气 1.2.0）新增通用格式的 kiem_dinh：状态、参照、样本量、容差、MAE、RMSE、中位数、P95、P99、最大值、偏差、例外数；每个例外逐行列于附带文件 ngoai-le-doi-chieu.csv，所有数据集的所有检验列于 kiem-dinh.csv。数据逐字节未变。元数据新增 source_ids（来源登记册 nguon-thu-tich.csv）、rule_ids（规则登记册 quy-tac.json）、danh_muc_tu_vung_nguon（nguon 列的八种类别及英文对应词）、每列的 epistemic_status 与 danh_muc_epistemic_status；数据逐字节未变。"
  },
  "loai_bo": "tinh-toan",
  "loai_bo_tuong_duong": "computed",
  "loai_bang_chung": [
    "A"
  ],
  "danh_muc_loai_bang_chung": [
    {
      "ma": "A",
      "ten": "tai-tinh-duoc",
      "mo_ta": "Tái tính được: thuật toán thiên văn, lịch pháp hay số học cho ra giá trị, ai có thuật toán là tính lại được, và lõi tính đã đối chiếu với nguồn độc lập khi có (hồ sơ mô hình).",
      "mo_ta_en": "Recomputable: an astronomical, calendrical or arithmetic algorithm yields the value, anyone with the algorithm can recompute it, and the engine has been checked against independent sources where they exist (model profile).",
      "mo_ta_zh": "可重算：数值由天文、历法或算术算法得出，掌握算法者可自行重算；凡有独立来源处，引擎均已对照（见模型档案）。"
    },
    {
      "ma": "B",
      "ten": "kiem-bang-van-ban",
      "mo_ta": "Kiểm bằng văn bản nguồn: giá trị đối chiếu được với một văn bản cụ thể nêu ở cột nguon (tác phẩm, quyển, bản), và test của site đã đối chiếu.",
      "mo_ta_en": "Checked against a source text: the value can be compared with a specific text named in the nguon column (work, juan, edition), and the site's tests make that comparison.",
      "mo_ta_zh": "以原典核对：数值可与 nguon 列所列的具体文本（著作、卷、版本）对照，本站测试已作对照。"
    },
    {
      "ma": "C",
      "ten": "quy-uoc",
      "mo_ta": "Quy ước của một truyền thống hay một hệ hiện đại: đúng theo quy ước ấy, không đúng hay sai theo nghĩa thực nghiệm; chỗ các phái khác nhau ghi ở bộ diem-bat-dong-giua-cac-phai.",
      "mo_ta_en": "Convention of a tradition or of a modern system: correct by that convention, neither true nor false in an empirical sense; where schools differ is recorded in the diem-bat-dong-giua-cac-phai dataset.",
      "mo_ta_zh": "某一传统或现代体系的约定：按该约定为准，不存在经验意义上的真假；各派分歧记于 diem-bat-dong-giua-cac-phai 数据集。"
    },
    {
      "ma": "D",
      "ten": "bien-tap-van-hoa",
      "mo_ta": "Biên tập văn hoá: Nhật Nguyệt tuyển chọn, tóm tắt hay ghi lại từ bài viết, kho lịch lễ hội, hay bộ câu hỏi của chính site.",
      "mo_ta_en": "Cultural editing: selected, summarised or recorded by Nhật Nguyệt from the site's articles, festival store or question set.",
      "mo_ta_zh": "文化编辑：由 Nhật Nguyệt 从本站文章、节庆库或问题集中选取、概括或记录。"
    },
    {
      "ma": "E",
      "ten": "dien-giai",
      "mo_ta": "Diễn giải: lời giải nghĩa, từ khoá hay luận do site viết theo một truyền thống; không kiểm được đúng sai, đọc như lời của site.",
      "mo_ta_en": "Interpretation: explanations, keywords or readings written by the site within a tradition; not verifiable, read them as the site's words.",
      "mo_ta_zh": "解读：本站依某一传统撰写的释义、关键词或论述；无从验证真假，应视为本站的说法。"
    }
  ],
  "tu_vung_nguon": [
    "tinh-toan",
    "suy-ra",
    "quy-uoc-truyen-thong",
    "quy-uoc-he-hien-dai",
    "van-ban",
    "bien-tap",
    "tham-chieu-ngoai",
    "danh-gia"
  ],
  "phu_thuoc_bo": [],
  "mo_hinh_bac_cau": [
    "tiet-khi-meeus-c25-bieu-kien-v2"
  ],
  "danh_muc_tu_vung_nguon": [
    {
      "ma": "tinh-toan",
      "tuong_duong_en": "computed",
      "mo_ta": "Lõi tính của site tính ra bằng thuật toán thiên văn, lịch pháp hay số học.",
      "mo_ta_en": "Computed by the site's engine with an astronomical, calendrical or arithmetic algorithm.",
      "mo_ta_zh": "由本站推算引擎以天文、历法或算术算法算出。"
    },
    {
      "ma": "suy-ra",
      "tuong_duong_en": "derived",
      "mo_ta": "Quy tắc tra truyền thống áp lên giá trị tính được, cho ra giá trị không sách nào in sẵn.",
      "mo_ta_en": "A traditional lookup rule applied to a computed value, giving a value no book prints as such.",
      "mo_ta_zh": "将传统查法套用于推算所得的数值，得出书中并无现成印本的数值。"
    },
    {
      "ma": "quy-uoc-truyen-thong",
      "tuong_duong_en": "traditional_mapping",
      "mo_ta": "Quy ước của một truyền thống: bảng gán hay phép tra truyền lại, đúng theo quy ước ấy.",
      "mo_ta_en": "A convention of a tradition: an inherited mapping or lookup, correct by that convention.",
      "mo_ta_zh": "传统约定：流传下来的对应或查法，以该约定为准。"
    },
    {
      "ma": "quy-uoc-he-hien-dai",
      "tuong_duong_en": "modern_system_convention",
      "mo_ta": "Quy ước của một hệ hiện đại (Tarot Rider-Waite-Smith, thần số học), không phải truyền thống cổ.",
      "mo_ta_en": "A convention of a modern system (Rider-Waite-Smith Tarot, numerology), not of an ancient tradition.",
      "mo_ta_zh": "现代体系（韦特塔罗、数字命理）的约定，而非古代传统。"
    },
    {
      "ma": "van-ban",
      "tuong_duong_en": "textual_source",
      "mo_ta": "Chép hay đối chiếu với một văn bản cụ thể, nêu tên sau dấu hai chấm hoặc ở nguon_chi_tiet.",
      "mo_ta_en": "Copied from or checked against a specific text, named after the colon or in nguon_chi_tiet.",
      "mo_ta_zh": "录自或对照某一具体文本，名称见冒号之后或 nguon_chi_tiet。"
    },
    {
      "ma": "bien-tap",
      "tuong_duong_en": "editorial",
      "mo_ta": "Nhật Nguyệt tuyển chọn, tóm tắt, ghi lại hay viết.",
      "mo_ta_en": "Selected, summarised, recorded or written by Nhật Nguyệt.",
      "mo_ta_zh": "由 Nhật Nguyệt 选取、概括、记录或撰写。"
    },
    {
      "ma": "tham-chieu-ngoai",
      "tuong_duong_en": "external_reference",
      "mo_ta": "Dữ liệu tham chiếu của một cơ quan bên ngoài (IMCCE, USNO, NASA) dùng để đối chiếu, có băm tệp ở sổ nguồn.",
      "mo_ta_en": "Reference data from an outside institution (IMCCE, USNO, NASA) used for cross-checking, with the file hash in the source register.",
      "mo_ta_zh": "外部机构（IMCCE、USNO、NASA）的参考数据，用于对照，文件哈希见来源登记册。"
    },
    {
      "ma": "danh-gia",
      "tuong_duong_en": "evaluation",
      "mo_ta": "Mục dùng để đo một hệ thống của site, không phải lời khẳng định tri thức.",
      "mo_ta_en": "An item used to measure one of the site's systems, not a knowledge claim.",
      "mo_ta_zh": "用于衡量本站某一系统的条目，并非知识性论断。"
    }
  ],
  "danh_muc_epistemic_status": [
    {
      "ma": "verifiable",
      "loai_bang_chung": "A",
      "ten": "kiểm chứng được",
      "mo_ta": "Kiểm lại được bằng thuật toán hay đo đạc độc lập; sai số (nếu có) ghi ở hồ sơ mô hình.",
      "mo_ta_en": "Can be rechecked by an algorithm or an independent measurement; any error margin is in the model profile.",
      "mo_ta_zh": "可用算法或独立测量复核；误差（如有）见模型档案。"
    },
    {
      "ma": "textually_attested",
      "loai_bang_chung": "B",
      "ten": "có trong văn bản",
      "mo_ta": "Đúng theo nghĩa khớp văn bản nguồn đã nêu, không theo nghĩa thực nghiệm.",
      "mo_ta_en": "True in the sense of matching the named source text, not in an empirical sense.",
      "mo_ta_zh": "其真是指与所列原典相符，而非经验意义上的真。"
    },
    {
      "ma": "conventional",
      "loai_bang_chung": "C",
      "ten": "quy ước",
      "mo_ta": "Đúng theo một quy ước; các phái có thể quy ước khác (bộ diem-bat-dong-giua-cac-phai).",
      "mo_ta_en": "Correct by a convention; other schools may follow another (dataset diem-bat-dong-giua-cac-phai).",
      "mo_ta_zh": "依某一约定为准；其他流派可能另有约定（数据集 diem-bat-dong-giua-cac-phai）。"
    },
    {
      "ma": "editorial",
      "loai_bang_chung": "D",
      "ten": "biên tập",
      "mo_ta": "Nhật Nguyệt ghi lại hay tuyển chọn; đúng sai tuỳ nguồn của từng dòng.",
      "mo_ta_en": "Recorded or selected by Nhật Nguyệt; accuracy depends on each row's source.",
      "mo_ta_zh": "由 Nhật Nguyệt 记录或选取；正确与否取决于各行来源。"
    },
    {
      "ma": "interpretive",
      "loai_bang_chung": "E",
      "ten": "diễn giải",
      "mo_ta": "Lời diễn giải trong một hệ niềm tin; không kiểm được đúng sai, không phải phát biểu khoa học.",
      "mo_ta_en": "An interpretation within a belief system; not verifiable, not a scientific claim.",
      "mo_ta_zh": "某一信仰体系内的解读；无从验证真假，并非科学论断。"
    }
  ],
  "source_ids": [
    "src.espenak-meeus.delta-t-2006",
    "src.imcce.miriade",
    "src.meeus.astronomical-algorithms",
    "src.usno.seasons"
  ],
  "rule_ids": [
    "rule.lunar.utc7",
    "rule.solar-term.apparent-longitude"
  ]
}
