제2장부터 제4장까지는 DAC 레코드가 어떤 모양이고 시스템 사이를 어떻게 오가는지를 다뤘다. 이 장은 그 레코드들이 증명하려는 대상, 곧 플랜트에서 실제로 무슨 일이 있었는가로 넘어간다. PHASE-3-PROTOCOL은 운전 전 점검, 흡착제 층의 적재와 탈착, CO2의 정제·압축·계량, 저장, 누출과 비상 대응, 데이터 품질 관리를 기술한다. 이를 데이터 표준으로 읽으면, 모든 절차의 모든 단계는 검증기관이 나중에 확인할 수 있는 형태로 무언가를 기록해야 하는 지점이 된다.
제거량 주장은 저장 이벤트보다 훨씬 앞에서 시작되는 증거 사슬 위에 서 있다. 교정되지 않은 계량기 하나, 의심 판정을 받은 데이터 구간 하나가 그 뒤에 오는 모든 톤의 신뢰도를 떨어뜨린다. 그래서 이 장은 프로토콜을 포집 사슬의 순서대로 따라가며, 각 프로토콜이 어떤 레코드를 내보내야 하고 검증기가 그 레코드에 어떤 검사를 돌릴 수 있는지를 묻는다.
앞 장들과 마찬가지로 세 종류의 서술을 구분한다. 명세 서술은 PHASE-3-PROTOCOL(또는 다른 WIA 문서)이 말하는 내용이며 절 번호와 함께 인용한다. 외부 참조는 공개된 표준이나 확립된 물리 사실이다. 이 책의 권고는 명세의 빈틈을 메우기 위한 제안이며 그렇다고 명시한다. PHASE-3-PROTOCOL에 나오는 수치 대부분, 즉 지속 시간·온도·임계값은 시설이 자기 설계값으로 바꿔 넣어야 하는 예시 구성값이다.
PHASE-3-PROTOCOL은 모든 절차에 DAC-<영역>-<주제>-<NNN> 형식의 식별자와 버전 번호를 붙인다(현재 초안에서는 모두 1.0이다). 영역은 포집 사슬을 따라 포집 운전, 저장, 안전, 검증, 데이터 관리, 유지보수로 나뉜다. 검증(DAC-MRV-001)은 제6장에서 다루고, 나머지 다섯 영역을 이 장에서 다룬다.
| 영역 | 프로토콜 ID | 범위 | 명세 절 |
|---|---|---|---|
| 포집 | DAC-CAPTURE-PRE-001 | 운전 전 점검표, 운전 범위 | §2.1 |
DAC-CAPTURE-ADS-001 | 흡착(고체 흡착제)과 흡수(액체 용매) | §2.2 | |
DAC-CAPTURE-REG-001 | 재생: 열 탈착 또는 소성 | §2.3 | |
DAC-CAPTURE-COL-001 | 순도 확인, 압축, 탈수, 계량, 완충 저장 | §2.4 | |
| 저장 | DAC-STORAGE-GEO-001 | 지중 저장: 부지 기준, 주입, 모니터링 | §3.1 |
DAC-STORAGE-MIN-001 | 현장 광물화 | §3.2 | |
DAC-STORAGE-UTI-001 | 활용 경로와 영구성 등급 | §3.3 | |
| 안전 | DAC-SAFETY-GEN-001 | 위험 요소, 보호구, 비상 장비 | §4.1 |
DAC-SAFETY-ESD-001 | 비상 정지 조건과 절차 | §4.2 | |
DAC-SAFETY-LEAK-001 | CO2 누출 감지, 경보 단계, 누출 규모별 대응 | §4.3 | |
| 검증 | DAC-MRV-001 | 모니터링·보고·검증(제6장) | §5.1 |
| 데이터 | DAC-DATA-COL-001 | 자동 수집, UTC 타임스탬프, 백업 | §6.1 |
DAC-DATA-QC-001 | 품질 검사와 데이터 플래그 | §6.2 | |
DAC-DATA-SEC-001 | 암호화, 접근 제어, 감사 로그 | §6.3 | |
| 유지보수 | DAC-MAINT-PREV-001 | 일 단위부터 연 단위까지의 예방 정비 | §7.1 |
DAC-MAINT-CORR-001 | 고장 처리와 P1–P4 우선순위 | §7.2 |
PHASE-3-PROTOCOL은 데이터가 아니라 절차의 형태로 쓰여 있다. 이 문서가 직접 정의하는 페이로드는 §2.2.1의 흡착 사이클 레코드 하나뿐이고, 나머지 스키마는 PHASE-2-DATA에 기댄다. 그런데 검증기관이 묻는 것은 바로 그 절차들이다. 점검표는 완료되었는가, 재생 온도에 도달했는가, 계량 시점에 CO2 흐름이 순도 기준을 만족했는가.
그래서 이 책은 단순한 규칙 하나를 권고한다. 플랜트의 상태, CO2 재고, 데이터의 신뢰성 중 하나라도 바꾸는 프로토콜 단계는 그 단계를 지배한 프로토콜 ID와 버전을 담은 레코드를 남긴다. ID와 버전이 있어야 감사인이 레코드를 당시에 적용된 절차 개정판과 짝지을 수 있다. 레코드는 추가만 가능하다. 정정은 원래 레코드를 가리키는 새 레코드로 하며, 기존 레코드를 고쳐 쓰지 않는다.
이 책이 제안하는 공통 이벤트 봉투는 PHASE-2-DATA가 허용하는 확장 영역에 담으며, 최소 형태는 다음과 같다.
{
"eventType": "protocol-step",
"protocolId": "DAC-CAPTURE-REG-001",
"protocolVersion": "1.0",
"facilityId": "dac-example-reykjanes-01",
"moduleId": "m03",
"timestamp": "2026-03-14T06:42:10Z",
"step": "heat-up-complete",
"recordedBy": { "type": "system", "id": "plc-m03" },
"supersedes": null
}
recordedBy 필드는 기계가 만든 이벤트와 운전원 입력을 구분한다. DAC-DATA-COL-001은 1차 데이터의 수기 입력을 금지한다. 점검 서명이나 운전원 판단은 정당한 수기 레코드이지만 측정값과 섞여서는 안 된다.
DAC-CAPTURE-PRE-001은 세 가지 점검표를 정한다. 일일 점검표는 흡착제 포화도(새 사이클 시작 전 90 % 미만), 에너지 공급, 주변 조건, 풍량, 데이터 기록 계통, CO2 순도 센서 교정, 저장 설비 가용성, 향후 24시간 기상 예보를 다룬다. 주간 점검표는 여기에 흡착제의 물리적 열화 점검, 압력 용기 건전성, 안전 계통과 비상 정지 계통 시험, 온도 센서 교정, 정비 기록 검토를 더한다. 월간 점검표는 전체 센서 교정, 흡착제 성능 분석, 에너지 효율 감사, 제3자 설비 검사, 안전 훈련, 규제 준수 점검을 더한다.
종이 점검표는 증명하는 것이 거의 없다. 반면 타임스탬프와 서명이 있고, 근거가 된 교정 성적서와 연결된 점검 레코드는 많은 것을 증명한다. 이 책은 완료된 점검표 하나를 레코드 하나로 저장하되, 항목마다 한 줄씩 두고 각 항목에 pass, fail, 또는 사유를 붙인 not-applicable 중 하나를 명시하도록 권고한다. 빈칸으로 남은 항목은 WIA 적합성 부속서가 건너뛴 시험을 다루는 방식과 똑같이 실패로 간주한다(Annex G).
{
"eventType": "checklist",
"protocolId": "DAC-CAPTURE-PRE-001",
"protocolVersion": "1.0",
"checklist": "weekly",
"facilityId": "dac-example-reykjanes-01",
"completedAt": "2026-03-09T07:15:00Z",
"items": [
{ "item": "esd-system-test", "result": "pass",
"evidence": "work-order/WO-2026-0311" },
{ "item": "temperature-sensor-calibration", "result": "pass",
"evidence": "calibration/CAL-TT-104-2026-03" },
{ "item": "pressure-vessel-integrity", "result": "not-applicable",
"reason": "module m05 isolated for maintenance" }
],
"signedBy": "operator:op-017"
}
주간 비상 정지 시험과 월간 안전 훈련 기록은 특히 가치가 크다. §5.6에서 설명하는 안전 계통이 실제로 작동한다는 것을 보여주는 증거는 이 기록뿐이기 때문이다.
§2.1.2는 다섯 가지 주변 조건 변수의 허용 범위를 제시한다. 표 5-2는 이를 표준의 예시 구성값으로서 옮긴 것이다.
| 변수 | 최소 | 최적 | 최대 | 비고 |
|---|---|---|---|---|
| 주변 CO2 | 350 ppm | 400–420 ppm | 500 ppm | 최솟값이 현재 전 지구 배경 농도보다 낮으므로 실제 운전 한계가 될 수 없다. 부지별로 정하는 센서 타당성 범위로 취급한다 |
| 기온 | −10 °C | 15–25 °C | 40 °C | 흡착제 종류와 동결 방지 설계에 크게 좌우된다 |
| 상대 습도 | 20 % | 40–70 % | 95 % | 습도는 아민계 흡착제와 생산 CO2의 수분 부하에 영향을 준다 |
| 풍속 | 0 m/s | 2–5 m/s | 15 m/s | 팬 부하와 구조 한계에 관련된다 |
| 기압 | 900 hPa | 1000–1020 hPa | 1100 hPa | 부지 고도에 따라 범위 전체가 이동한다 |
명세는 이어서 세 단계의 대응을 정한다. 5–10 %의 경미한 이탈은 경고로 기록하고 운전을 계속한다. 10–20 %의 중간 이탈은 포집 속도를 낮추고 감시를 강화한다. 20 %를 넘는 중대한 이탈은 제어된 정지를 시작한다. 문제는 이 백분율이 무엇에 대한 비율인지 명세에 없다는 점이다. 최적 기온 20 °C에 대한 10 %(2 °C)와 최대 40 °C를 넘어선 10 %(4 °C)는 전혀 다른 뜻이며, 최솟값이 0 m/s인 변수에서는 상대 편차가 정의되지 않는다.
이 책은 편차를 “가장 가까운 한계 밖으로 벗어난 거리를 허용 범위의 폭으로 나눈 값”으로 정의하고, 그 정의를 시설의 구성 레코드에 명시하도록 권고한다. 이 정의에 따르면 허용 범위 −10~40 °C에서 43 °C는 (43 − 40) / 50 = 6 %로 경미한 이탈이다. 시설이 어떤 정의를 택하든 운전 범위 자체는 버전이 붙은 구성 레코드, 즉 데이터여야 한다. 그래야 각 이탈 이벤트가 어떤 한계를 기준으로 판정되었는지 밝힐 수 있다. 이탈 이벤트에는 측정값, 한계값, 계산된 편차, 취한 조치, 프로토콜 참조가 들어가야 한다.
고체 흡착제 DAC에서 포집은 회분식 공정이다. 접촉기 모듈은 흡착 중에 CO2를 적재하고, 격리된 뒤 재생 단계에서 가열되어 CO2를 내놓으며, 냉각을 거쳐 다시 흡착으로 돌아간다. PHASE-2-DATA는 현재 단계를 status.operationalState에 기록하며, 그 값은 adsorption, regeneration, idle, maintenance, error이다. PHASE-3-PROTOCOL은 이 상태들 안에서 일어나는 일을 기술한다.
명세의 예시에서 흡착 단계는 8–12시간 동안 이어진다. 처음 15분은 초기화 구간이다. 흡입 밸브를 열고, 팬을 목표 풍량(예시값 5,000 m³/min)까지 올리고, 접촉기 전후 압력 강하를 확인하며(예시값 500 Pa 미만), 1분 간격으로 데이터 기록을 시작한다. 흡착 중에는 풍량을 일정하게 유지하면서 입구와 출구의 CO2 농도 차를 추적하고, 물질 수지로 포화도를 따라간다. 순간 포집 효율은 다음과 같이 정의된다.
efficiency = (CO2_in − CO2_out) / CO2_in
여기서 CO2_in과 CO2_out은 접촉기 입구와 출구의 농도이다. 명세는 흡착제를 최대 용량의 80–90 %까지 적재하는 것을 목표로 하고, 포화도가 85 %에 이르면 재생을 시작한다. 흡착이 끝나면 약 10분에 걸쳐 팬을 줄이고, 흡입 밸브를 닫고, 모듈을 격리한다.
이를 데이터로 옮길 때 주의할 점이 두 가지 있다. 첫째, 위 효율 공식은 순간값을 준다. 흡착제가 차오를수록 공기가 한 번 지나갈 때 제거되는 CO2가 줄어들므로, 효율은 대개 사이클이 진행되면서 떨어진다. 사이클 레코드에 efficiency 필드가 하나만 있다면, 그것이 종료 시점 값인지 평균인지 밝히지 않는 한 모호하다. 둘째, 재생을 촉발하는 포화도 역시 직접 측정한 값이 아니라 물질 수지로 추정한 값이다. 따라서 레코드에 그 산출 방법을 적어야 한다.
명세 예시에서 고체 흡착제의 재생은 2–4시간이 걸리며 세 구간으로 나뉜다. 승온 구간(처음 약 30분)에서는 모듈을 외기와 차단하고 전기나 증기로 약 25 °C에서 설계 온도(예시값 100 °C)까지 분당 2–5 °C로 가열한다. CO2 방출 구간에서는 재생 온도(예시값 80–120 °C)를 유지하면서 방출되는 흐름을 모으고, 순도(목표 95 % 초과)를 감시하며 유량을 측정한다. 냉각 구간에서는 가열을 멈추고 분당 1–3 °C로 40 °C 미만까지 식히며, 필요하면 건조 공기로 퍼지한다. 승온·냉각 속도와 온도는 서로 맞아떨어진다. 75 °C를 분당 2–5 °C로 올리면 15–38분, 60 °C를 분당 1–3 °C로 내리면 20–60분이 걸린다.
재생은 재생 효율 확인으로 끝난다.
regen_efficiency = CO2_released / CO2_captured
목표는 95 % 초과이다. 이 값이 계속 목표에 못 미치면 CO2가 흡착제에 남아 있다는 뜻이고, 다음 사이클은 줄어든 작동 용량으로 시작한다. 100 %를 넘는 값은 좋은 소식이 아니다. 포집량이나 방출량 중 하나가 틀렸다는 뜻이기 때문이다. 이 비율은 흡착 측 물질 수지와 생산 측 유량계라는 서로 독립된 두 측정을 교차 확인하는 수단이 되므로, 검증기는 값을 상한으로 잘라내지 말고 타당한 범위를 벗어난 값을 표시해야 한다.
명세는 폐열 회수와, 전기가 싸거나 재생에너지가 많은 시간대에 재생을 배치하는 방안도 권한다(제7장). 에너지 대부분이 재생에 쓰이므로 재생 에너지 소비는 플랜트 합계만이 아니라 사이클마다 기록해야 한다.
그림 5-1은 다섯 가지 operationalState 값과 프로토콜의 단계를 한데 묶은 것이다. PHASE-2-DATA에서 승온·방출·냉각은 모두 regeneration 상태 안에 있다. 이 책은 세부 구간을 확장 필드(예: x-phase)에 기록하도록 권고한다. 그래야 승온 중의 에너지 급증이 방출 중의 이상으로 오인되지 않는다.
하루 시작: DAC-CAPTURE-PRE-001 점검표 통과
|
v
+--------------+ 포화도 >= 0.85 +-----------------------+
| adsorption | --------------------> | regeneration |
| 초기화 15분 | | 승온 (2-5 C/분) |
| 적재 | | 방출 (80-120 C) |
| 감속 | <-------------------- | 냉각 (< 40 C) |
+--------------+ 흡착제 < 40 C, +-----------------------+
| 재생 효율 확인 완료 |
| |
v v
+--------+ 수요 없음 / 에너지 부족 +-------------+
| idle | <--------------------------- | maintenance |
+--------+ ---------------------------> +-------------+
^ 계획 정비(MAINT) ^
| |
+------------------+ +-------------------+
| |
+---------+
| error | <-- ESD 발동, QC 실패,
+---------+ 설비 고장(모든 상태에서)
operationalState 열거형을 사용한 흡착–재생 상태 기계. 상자 안의 수치는 명세의 예시 구성값이다.그림의 모든 전이는 이전 상태, 새 상태, 시각, 원인을 담은 레코드를 남겨야 한다. error로의 전이는 원인이 된 이벤트, 곧 ESD 발동·QC 실패·고장 보고를 반드시 참조해야 한다. 그래야 뒤에 오는 수리 정비 레코드(§5.6.4)가 고리를 닫을 수 있다.
§2.2.1은 PHASE-3-PROTOCOL이 스스로 정의하는 유일한 페이로드인, 접두사 ads-를 쓰는 사이클 레코드를 제시한다. 필드는 cycleId, startTime, endTime, duration, airflowRate, co2Captured, energyConsumed, efficiency, sorbentSaturation이다. 명세는 단위를 밝히지 않는다. 앞뒤 문맥으로 보아 지속 시간은 시간(h), 풍량은 m³/min, CO2는 톤이며, 에너지는 MWh로 보이지만 명시되어 있지 않다. 이 책은 다음과 같이 주석을 단 형태를 권고한다. 값은 모두 예시이다.
{
"cycleId": "ads-20260314-m03-001",
"protocolId": "DAC-CAPTURE-ADS-001",
"protocolVersion": "1.0",
"facilityId": "dac-example-reykjanes-01",
"moduleId": "m03",
"startTime": "2026-03-13T20:05:00Z",
"endTime": "2026-03-14T06:05:00Z",
"duration": 10.0, // 시간(h)
"airflowRate": 350, // m3/min, 단계 평균
"co2Captured": 0.11, // t, 물질 수지 기반
"energyConsumed": 0.05, // MWh, 팬과 제어 계통만
"efficiency": 0.71, // 사이클 평균(종료 시점 값 아님)
"x-efficiencyBasis": "cycle-mean",
"sorbentSaturation": 0.85, // 단계 종료 시점 비율
"x-saturationMethod": "mass-balance",
"regeneration": "reg-20260314-m03-001"
}
(주석은 독자를 위한 것이며 JSON 자체는 주석을 허용하지 않는다.) 마지막 필드는 흡착 레코드를 짝이 되는 재생 레코드와 잇는다. 이 책은 재생 레코드에 접두사 reg-를 쓰고 최고 온도, 유지 시간, 가열 에너지, 방출 CO2, 평균 순도, regen_efficiency 필드를 두도록 권고한다. 두 레코드가 함께 하나의 완전한 사이클을 기술한다.
흡착 레코드로는 간단한 물리적 타당성 검사도 할 수 있다. 약 420 ppm에서 해수면 부근 공기 1 m³에는 CO2가 약 0.77 g 들어 있다. 따라서 5,000 m³/min으로 600분 동안 흐르면 약 3,000,000 m³ × 0.77 g ≈ 2.3 t의 CO2가 접촉기를 지나간다. 포집량은 이 값에 평균 효율을 곱한 것보다 클 수 없다. 명세 자체의 예시(5,000 m³/min으로 10시간, 효율 0.92, 포집 0.5 t)에서 역산한 평균 효율은 약 0.5 / 2.3 ≈ 0.22로, 0.92가 사이클 종료 시점이나 최고값일 때만 말이 된다. 위의 주석은 바로 이런 모호함을 없애기 위한 것이다. 이 책의 레코드는 가상 플랜트의 모듈 12개 중 하나를 기술하며, 그 풍량 350 m³/min은 제2장의 시설 전체 풍량 4,200 m³/min의 12분의 1이다. 같은 계산을 적용하면 210,000 m³ × 0.77 g ≈ 0.16 t이고, 0.16 t × 0.71 ≈ 0.115 t로 기록된 0.11 t를 조금 웃돈다. 검증기는 이 검사를 다음과 같이 돌릴 수 있다.
co2_mass_through = airflow_m3_per_min × minutes × c_ambient_g_per_m3 / 1e6 // t
assert co2Captured <= co2_mass_through × efficiency_mean × (1 + tolerance)
액체 용매 DAC는 회분식 모델에 맞지 않는다. 명세의 설명에 따르면 용매는 충전식 접촉기를 연속으로 순환하고, 공기는 향류로 통과하며, 용매 온도는 약 15–30 °C로 유지된다. CO2가 풍부해진 용매는 재생 설비로 보내지고 희박 용매로 보충되며, 사이클 중단 없이 운전된다. 탄산염계 용매의 재생은 약 900 °C의 소성을 거치고, 생석회를 수화시켜 용매를 되살린다. 아민계 용매에 대해서는 명세가 100–140 °C를 언급한다.
데이터 관점에서는 “사이클”을 고정된 시간 창으로 바꿔야 한다. 이 책은 용매 유량, 풍부 용매와 희박 용매의 CO2 적재량, 소성로 에너지 투입, 생산 CO2를 담은 시간 단위 레코드를 권고한다. 이런 플랜트는 대개 adsorption과 regeneration이 동시에 진행된다. PHASE-2-DATA의 열거형은 값 하나만 받으므로, 연속식 플랜트는 상태를 시설 단위가 아니라 하위 계통(접촉기, 소성로) 단위로 기록해야 한다.
DAC-CAPTURE-COL-001은 재생과 저장 사이에서 CO2 흐름에 일어나는 일을 다룬다. 순도 확인, 압축, 탈수, 계량, 임시 저장의 다섯 단계로 이루어진다.
CO2 흐름은 95 %를 넘는 CO2를 포함해야 한다. 명세는 오염물 한계로 수증기 1,000 ppm 미만, 질소 3 % 미만, 산소 1,000 ppm 미만을 든다. 관문을 통과하지 못한 흐름은 배제하거나 재처리한다. 이는 명확한 판정 지점이므로 그렇게 기록해야 한다. 측정 조성, 합격·불합격 결과, 불합격이라면 해당 배치의 처리 결과를 담은 순도 확인 레코드가 필요하다. 배제된 CO2는 저장되지 않으므로 저장 이벤트에 산입해서는 안 된다. 배제된 흐름을 대기로 배출했다면 그것은 제1장의 순제거량 계산에서 공정 손실이 된다.
한계값의 단위가 섞여 있다는 점도 짚어야 한다. 수분과 산소는 ppm, 질소와 순도는 퍼센트인데, PHASE-2-DATA 저장 이벤트 스키마의 co2Quality.contaminants 배열은 concentration을 ppm으로 받는다. 질소 3 %는 30,000 ppm이다. 이 책은 제2장에서 다른 필드에 대해 권고한 것처럼, 비교 전에 모두 한 단위로 환산하고 원래 단위는 주석으로 남기도록 권고한다.
이어서 CO2를 압축한다. 명세는 파이프라인 수송에 85–150 bar, 저장에 73 bar 초과를 제시한다. 저장 쪽 수치는 CO2의 임계점(약 31 °C, 73.8 bar)을 반영한 것으로, 이 조건을 넘으면 CO2는 밀도가 높은 초임계 유체가 된다. 그다음 동결 제거나 건조제로 수분을 50 ppm 미만까지 제거해 배관 부식을 막는다. 결국 수분 한계는 두 개다. 탈수 전 순도 관문의 1,000 ppm 미만과 탈수 후의 50 ppm 미만이다. 측정 위치를 밝히지 않고 “수분 1,000 ppm”이라고만 적은 레코드는 어느 쪽 기준으로도 확인할 수 없다. 명세의 저장 이벤트 예시는 저장된 CO2의 수분을 1,000 ppm으로 적고 있어 탈수 후 목표와 어긋나는데, 이것도 시료 채취 지점을 기록해야 하는 이유이다.
압축 에너지는 순제거량 계산에 들어간다. 압축 설비를 다른 플랜트와 공유하거나 저장 사업자가 제공하는 경우가 있으므로, 이 책은 압축 에너지를 따로 계량하도록 권고한다.
계량 단계는 ±2 % 불확도의 정확한 질량 유량 측정, 연속 기록, 검증을 위한 변조 방지 계량을 요구한다. 이 지점이 CO2가 포집 사업자의 관리를 떠나는 인수인계 지점이다. 이 책의 분명한 권고는 저장 이벤트의 양을 포집 측 추정치가 아니라 인수인계 계량기 값에서 도출한다는 것이다. 흡착제 물질 수지와 재생 유량은 운전상 유용한 교차 확인 수단이지만, 순도 관문과 배출 지점보다 상류에 있고, 대개 거래용 계량기와 같은 수준의 계량 관리를 받지 않는다.
그러므로 검증기는 보고 기간마다 다음 대조를 수행해야 한다.
재생 방출량 합계 (reg- 레코드 합계, t)
− 순도 관문 배제량 (배제 레코드 합계, t)
− 배출·손실량 (공정 손실 레코드, t)
≈ 인수인계 계량 합계 (계량기 적산값, t) ± 계량 불확도
인수인계 계량 합계
≈ sum(storageEvent.amount) + 완충 탱크 재고 변화량
앞의 두 줄 사이 차이가 결합 불확도보다 크다면 측정 문제이거나 기록되지 않은 손실이며, 어느 쪽이든 지적 사항이 되어야 한다. 두 번째 식은 제3장의 저장 이벤트를 계량기와 잇는데, 여기에는 명세가 회분식 수송을 위해 허용하는 완충 탱크(“탱크 재고 기록”)도 포함된다. 따라서 기간 시작과 끝의 탱크 재고 값은 선택 사항이 아니다. 이 값이 없으면 양쪽을 대조할 수 없다.
PHASE-3-PROTOCOL은 세 가지 저장 프로토콜을 정의한다. 그 수치 대부분은 DAC 시설이 아니라 저장 사업자에게 속하는 지질 조건과 모니터링 일정에 관한 것이다. DAC 데이터 표준이 여기서 필요로 하는 것은 작고 명확한 사실 묶음이다. 어느 부지인가, 어느 프로토콜인가, 무엇을 주입했는가, 부지를 어떻게 감시하고 있는가, 감시 결과는 무엇인가.
명세의 부지 선정 기준에는 심도 800–3,000 m, 염수층의 공극률 10 % 초과, 투과도 10–1,000 mD, 저투과성 덮개암, 반경 5 km 내 활성 단층 없음, 최소 100만 톤의 저장 용량, 하루 50–500 t의 주입 능력이 포함된다. 이 값들은 표준의 예시 구성값으로 읽어야 한다. 지중 저장의 부지 특성화와 인허가는 별도로 규제된다. 예를 들어 EU CCS 지침(2009/31/EC)이나 미국 EPA의 Class VI 주입정 규정이 있고, 지중 저장 자체는 ISO 27914가 다룬다. DAC 데이터 레코드는 이 내용을 되풀이하지 말고 부지의 허가 문서와 특성화 문서를 참조해야 한다.
주입은 세 단계로 기술된다. 주입 전에는 주입정 압력 시험, 탄성파와 지하수의 기준선 모니터링, 추적자 주입, 주입 조건 설정을 한다. 주입 중에는 주입 속도를 제어하고, 공저압을 파쇄압 아래로 유지하며, 유량을 연속 측정하고, 실시간 데이터를 MRV 시스템으로 보낸다. 주입 후에는 주입정을 닫고 압력 감쇠 분석을 수행하며 지표 누출이 없는지 확인한다. §3.1.2와 §3.1.3의 모니터링 일정은 표 5-3과 같다.
| 측정 항목 | 운영 중 | 장기(주입 종료 후) |
|---|---|---|
| 저류층 압력 | 연속 | 처음 10년은 매월, 이후 매년 |
| 탄성파 | 연 1회 미소진동 조사 | 5년마다 3D 탄성파 탐사 |
| 지하수 | 분기별 채수 | 연 1회 채수 |
| 지표·대기 CO2 | 연속 | 10년간 연속, 이후 분기별 |
| 지표 변형 | 연 1회 위성 InSAR | — |
| 주입정 건전성 | 주입 전 압력 시험 | 2년마다 점검 |
명세는 주입 종료 후 최소 30년의 모니터링을 요구한다. 따라서 저장 이벤트는 CO2가 땅속에 들어갔다고 해서 닫히는 레코드가 아니다. 각 모니터링 조사는 부지(그리고 부지를 통해 그곳의 저장 이벤트들)를 참조하는 레코드를 남기고, 결과를 “격리 상태와 부합”, “이상 징후 조사 중”, “누출 확인” 가운데 하나로 밝혀야 한다. 누출 판정이 이미 발급된 크레딧으로 어떻게 전파되는지는 제6장에서 다룬다.
광물화 프로토콜은 CO2를 물에 녹여 현무암에 주입하고, 그곳에서 칼슘·마그네슘·철과 반응해 탄산염 광물이 되게 하는 방식을 따른다. 명세는 현무암 속의 더 복잡한 광물 대신 칼슘·마그네슘 규산염을 대표로 삼아 반응식을 단순화해 제시한다.
CO2 + H2O → H2CO3 (탄산)
H2CO3 + CaSiO3 → CaCO3 + SiO2 + H2O
H2CO3 + MgSiO3 → MgCO3 + SiO2 + H2O
명세는 이 절에 여러 수치를 싣고 있다. 질량 기준 CO2 대 물 약 1:25, 탄산수 pH 약 3–4, 한 곳에서는 주입 심도 700–2,000 m, 다른 곳에서는 “500 m 초과(가급적 700 m 초과)”, 2년 이내 90 % 초과 광물화, 10,000년을 넘는 영구성 등이다. 심도 수치는 서로 어긋나고, 어느 수치에도 출처가 없다. 이 책은 이 가운데 어느 것도 과학적 주장으로 다루지 않는다. 이런 수치는 공개된 부지 연구를 근거로 저장 부지 자체의 문서와 검증기관의 평가에 담겨야 한다.
데이터 모델에 필요한 것은 모니터링의 구조이다. 명세는 주입 중에 수질(pH, 전기전도도, 주요 이온), 주입 압력과 온도, 용해 효율을 측정하고, 주입 후에는 코어 시료로 광물화를 확인하며 지구화학 모델링과 추적자 시험을 수행하고, 광물화가 확인되면 5년 뒤(명세의 예시 값)부터 모니터링을 줄이도록 한다. 광물화는 주입보다 한참 뒤에야 확인되므로, 광물화 저장 이벤트의 검증은 지연된다. 이벤트는 주입 시점에 기록되고, 주입 후 모니터링 이정표를 충족했을 때 비로소 최종 검증 상태에 이른다. 이 지연 인증서는 제7장의 저장 부지 연동에서 다룬다.
활용 프로토콜은 경로를 세 무리로 나눈다. “영구”(100년 초과)에는 콘크리트 양생, CO2 유래 골재, “폴리우레탄 생산(안정적인 경우)”이 들어간다. “장기”(10–100년)에는 풍화 촉진과 CO2 주입 바이오차가 들어간다. “단기” 경로, 곧 식음료 탄산화, 영구 저장이 없는 석유 회수 증진, 합성 연료는 명시적으로 크레딧 대상에서 제외된다.
이 분류는 합의된 과학이 아니라 표준 자체의 분류로 읽어야 한다. 논란의 여지가 있는 항목도 있다. 폴리우레탄은 수명과 폐기 후 운명이 제품마다 크게 다르고, 풍화 촉진과 바이오차는 보통 포집 CO2의 활용이 아니라 별개의 제거 방식으로 취급된다. 데이터 측면에서 분명히 중요한 것은 제외 목록과 검증 요건이다. 활용 경로가 영구 제거로 인정받으려면 (수송과 에너지를 포함해) 양의 순제거를 보여주는 전과정평가(LCA), CO2가 제품 안에 결합되어 있다는 화학적 증거, 폐기 시나리오를 포함한 제품 수명 추정, 연 단위 재인증을 포함한 독립 제3자 검증이 필요하다.
데이터로 옮기면 이렇다. storageMethod: "utilization"인 저장 이벤트는 경로, 표준상의 영구성 등급, LCA와 제품 분석 문서의 참조를 담아야 한다. 검증기는 사슬 어딘가에 제외 목록의 경로가 들어 있는 크레딧 요청을 거부해야 한다.
안전이 탄소 데이터 표준에 들어가야 하는 이유는 두 가지다. 안전 이벤트는 흔히 포집 사슬을 끊으므로 데이터가 그 공백을 설명해야 하고, 안전 이력은 검증기관과 규제기관이 검토하는 증거이기 때문이다. 그래서 이 책은 안전과 유지보수를 포집·저장 레코드와 같은 저장소에 담긴 이벤트 스트림으로 다루고, 시각과 모듈로 서로 잇도록 권고한다.
일반 안전 프로토콜은 CO2 위험(밀폐 공간 질식, 드라이아이스 동상, 고압 파열), 화학적 위험(아민 용매, 가성 KOH·NaOH, 고온 표면), 기계적 위험을 나열하고, CO2 감지기·산소 측정기·세안 설비 같은 보호구와 비상 장비를 요구한다. 이 장비들의 점검과 교정이 바로 §5.2의 점검표가 기록해야 할 내용이다.
명세는 자동 정지 조건(임계값을 넘는 CO2 누출, 설계 압력의 110 % 초과, 온도 한계 초과, 화재, 예비 전원 없는 정전, 일정 규모를 넘는 지진)과 수동 정지 조건(운전원 판단, 설비 오작동, 인명 부상, 외부 비상 상황)을 나열한다. 정지 절차는 세 단계다. 5분 이내 즉시 조치(비상 정지 버튼, CO2 밸브 폐쇄, 팬과 압축기 정지, 안전한 위치로 배기, 비필수 전원 차단, 경보와 인원 통보), 30분 이내 후속 조치(필요 시 대피, 상황 평가, 응급 기관 연락, 구역 통제, 조사 착수, 기록), 수 시간에서 수일에 걸친 복구(근본 원인 분석, 수리·교체, 안전 검토와 재가동 승인, 역순 재가동)이다.
이 책은 사고 한 건당 ESD 레코드 하나를 두도록 권고한다. 여기에는 발동 조건, 자동·수동 여부, 제어 계통이 기록한 즉시 조치 각각의 시각, 관련 인원, (있다면) 배출된 CO2 양, 재가동 승인이 들어간다. 배출량은 탄소 회계에서 중요하다. 이미 포집되었다가 정지 중에 배출된 CO2는 공정 손실이므로 다음 저장 이벤트에 산입해서는 안 된다.
누출 프로토콜은 고정식·휴대식 센서, 육안 점검, 음향 감지로 누출을 찾는다. 그리고 누출 속도에 따라 대응을 나눈다. 소규모 누출(1 kg/min 미만)은 격리한 뒤 다음 정비 기간에 수리한다. 중규모 누출(1–10 kg/min)은 비상 통보, 인근 구역 대피, 즉시 수리로 이어진다. 대규모 누출(10 kg/min 초과)은 비상 정지, 전체 대피, 응급 기관 호출, 자급식 호흡기(SCBA) 착용자만 접근, 규제기관 통보로 이어진다. 속도 기준 분류는 대응을 사고 규모에 곧바로 대응시키므로 이벤트 레코드의 구조로 적절하다.
그러나 명세의 CO2 농도 임계값들은 서로 맞지 않는다. ESD 프로토콜은 운전 구역에서 1,000 ppm을 넘으면 자동 정지를 발동한다. 누출 프로토콜은 저경보 500 ppm, 대피를 동반한 고경보 5,000 ppm(0.5 %), 비상 정지를 동반한 위급 경보 10,000 ppm(1 %)을 정한다. 일반 안전 프로토콜은 고정식 감지기의 경보를 0.5 %로 설정한다. 저경보 500 ppm은 현재 실외 배경 농도 약 420 ppm보다 조금 높을 뿐이라 흡입구 근처에서는 일상적으로 울릴 것이고, 1,000 ppm 자동 정지는 10,000 ppm에서야 정지하는 누출 프로토콜과 모순된다.
이 책은 이 수치들 가운데 어느 것도 안전 지침으로 제시하지 않는다. 작업장 CO2 노출 한계, 감지기 설정값, 대피 기준은 해당 산업안전 규정, 곧 미국의 OSHA, 유럽의 EU 기본 지침과 각국 이행 법령(EU-OSHA 참조), 그 밖의 관할권의 해당 규정과 시설 자체의 위험성 평가에서 가져와야 한다. 데이터 표준이 요구해야 할 것은 설정된 임계값을 버전이 붙은 구성 레코드로 남기고, 각 경보 이벤트가 판정 기준이 된 구성을 참조하며, 그 구성이 이행하는 규정을 밝히는 것이다.
DAC-MAINT-PREV-001은 다섯 주기의 예방 정비를 정한다. 매일(육안 점검, 누출 확인, 진동·소음), 매주(흡입 필터, 윤활, 센서 확인), 매월(정밀 점검, 주요 센서 교정, 성능 시험), 분기(흡착제 시료 분석, 열교환기 세정, 밸브 시험), 매년(정지를 동반한 대정비, 필요 시 흡착제 교체, 압력 용기 검사, 전기 계통 감사)이다. 분기별 흡착제 시료 분석은 제2장의 흡착제 레코드와 곧바로 이어진다. 그 결과가 lifecycle.currentCapacity를 갱신하기 때문이다.
DAC-MAINT-CORR-001은 일곱 단계의 수리 절차(감지, 평가, 격리, 수리, 시험, 기록, 재가동)와 네 가지 우선순위를 정한다. 표 5-4와 같다.
| 우선순위 | 조건 | 요구 대응 | 데이터상 결과 |
|---|---|---|---|
| P1 위급 | 즉각적인 안전 위험 | 운전 중지 | 모듈 또는 시설이 error로 전이, ESD 레코드 발생 가능성 높음 |
| P2 높음 | 성능에 상당한 영향 | 24시간 이내 수리 | 영향 구간 데이터가 suspect로 표시될 가능성 높음 |
| P3 보통 | 경미한 영향 | 1주 이내 수리 | 관련 센서를 다음 QC 검토에서 재확인 |
| P4 낮음 | 영향 없음 | 다음 정비 기간 | 기록만 남김 |
마지막 열은 이 책이 덧붙인 것이다. 계량기나 분석기의 고장은 데이터 품질에 영향을 주며, 어느 측정값이 얼마 동안 영향을 받았는지 밝히기에 가장 자연스러운 곳이 작업 지시 레코드이다.
수집 프로토콜은 1차 데이터의 수기 입력 없는 자동 기록, 모든 측정값의 UTC 타임스탬프, 측정량에 맞는 기록 간격(1–60분), 즉각적인 이중 백업, 실시간 범위 검사를 요구한다. Annex E의 시각 동기화 메모(stratum-2 서버를 쓰는 NTPv4, 결정론적 연동이 필요하면 PTP)가 있어야 PLC·계량기·저장 부지의 UTC 타임스탬프를 서로 비교할 수 있다. 동기화 상태 자체도 기록할 가치가 있다. 기록 장치가 동기화를 잃은 기간의 타임스탬프는 검증기관이 의문을 제기할 수 있기 때문이다.
QC 프로토콜은 다섯 가지 검사를 정한다. 범위(값이 예상되는 물리적 한계 안에 있는가), 변화율(센서 오작동 감지), 교차 검증(여러 센서 비교), 물질 수지(에너지와 물질 수지가 맞는가), 교정(월 단위부터 연 단위까지의 정기 교정)이다. 그리고 네 가지 플래그를 정한다. good(모든 검사 통과), suspect(검사 하나 실패, 검토 필요), bad(여러 검사 실패, 사용 금지), missing(센서 고장 또는 통신 오류)이다.
플래그 규칙은 그대로 구현할 수 있을 만큼 단순하다. 다음 의사코드는 한 가지 구현 방법이며, 임계값은 시설 자체 구성값이 들어갈 자리이다.
def qc_flag(sample, prev, peers, cal, cfg):
if sample.value is None:
return "missing", ["no-data"]
failed = []
# 1. 범위: 물리적 한계와 구성된 한계
if not (cfg.min <= sample.value <= cfg.max):
failed.append("range")
# 2. 직전 정상 표본 대비 변화율
if prev is not None:
dt = (sample.t - prev.t).total_seconds()
if dt > 0 and abs(sample.value - prev.value) / dt > cfg.max_rate:
failed.append("rate")
# 3. 중복 센서와의 교차 검증
if peers:
median = statistics.median(p.value for p in peers)
if abs(sample.value - median) > cfg.peer_tolerance:
failed.append("cross")
# 4. 표본 시각에 교정이 유효해야 한다
if cal is None or not (cal.valid_from <= sample.t < cal.valid_until):
failed.append("calibration")
if not failed:
return "good", []
if len(failed) == 1:
return "suspect", failed
return "bad", failed
# 5. 물질 수지는 표본이 아니라 기간 단위로 검사한다:
# 재생 방출량 vs 인수인계 계량값 vs 저장 이벤트(§5.4.3).
# 검사에 실패한 기간은 관련 표본 전체를 "suspect"로 표시한다.
이 스케치의 두 가지 설계 선택은 이 책의 권고이다. 첫째, 실패한 검사 목록을 플래그와 함께 저장하여 검토자가 값이 왜 의심스러운지 볼 수 있게 한다. 둘째, 플래그는 원시 값 옆의 주석으로 저장하며 원시 값을 대체하지 않는다. 검토자가 나중에 의심 값을 받아들이면 그 결정은 검토자와 사유를 담은 새 주석이 되고, 원래 플래그는 그대로 보인다. 보고에 미치는 영향은 분명하다. 검증으로 들어가는 합계에는 good 데이터, 또는 검토를 거쳐 수용된 suspect 데이터만 쓸 수 있다. bad나 missing 데이터를 대체할 때는 문서화된 보수적 결측 보완 방법을 따라야 하며, 이는 제6장에서 다룬다.
보안 프로토콜은 저장 데이터 암호화(AES-256), 전송 구간 암호화(TLS 1.3, RFC 8446), 역할 기반 접근 제어, 모든 데이터 접근의 기록, 검증된 데이터의 앵커링, 정기 보안 감사를 요구한다. 운영 데이터에서 가장 중요한 것은 감사 로그다. 이 장에서 설명한 레코드들이 사후에 바뀌지 않았음을 보여주는 것이 감사 로그이기 때문이다. 변조 탐지 가능한 로그 설계는 제7장, 앵커링은 제6장에서 다룬다. 명세의 “블록체인 앵커링”이라는 표현은 넓게 읽어야 한다. 요구되는 것은 데이터에 대한 검증 가능한 추가 전용 약속이며, 이는 블록체인뿐 아니라 투명성 로그로도 제공할 수 있다.
표 5-5는 이 장의 내용을 한데 모은다. 프로토콜마다 이 책이 권고하는 레코드, 사용하는 접두사나 유형, 주요 필드를 적었다. 표준이 정의하는 것은 ads- 사이클 레코드와 (PHASE-2-DATA의) 저장 이벤트(storage-)뿐이며, 나머지는 절차와 데이터 사이의 빈틈을 메우기 위한 이 책의 제안이다.
| 프로토콜 | 레코드 | ID / 유형 | 주요 필드 | 정의 주체 |
|---|---|---|---|---|
| DAC-CAPTURE-PRE-001 | 점검표, 운전 범위 이탈 | checklist, deviation | 항목별 결과와 근거, 측정값·한계값·편차·조치 | 이 책 |
| DAC-CAPTURE-ADS-001 | 흡착 사이클 | ads-… | 시각, 풍량, 포집 CO2, 에너지, 효율, 포화도 | PHASE-3 §2.2.1 |
| DAC-CAPTURE-REG-001 | 재생 사이클 | reg-… | 최고 온도, 가열 에너지, 방출 CO2, 순도, 재생 효율 | 이 책 |
| DAC-CAPTURE-COL-001 | 순도 확인, 계량값, 완충 재고 | purity, meter, inventory | 조성과 채취 지점, 질량과 불확도, 탱크 수위 | 이 책 |
| DAC-STORAGE-GEO/MIN/UTI-001 | 저장 이벤트, 모니터링 결과 | storage-…, monitoring | 양, 방식, 부지, 주입 데이터, CO2 품질, 조사 결과 | PHASE-2-DATA §5(이벤트), 이 책(모니터링) |
| DAC-SAFETY-ESD-001 | 비상 정지 | esd | 발동 조건, 자동·수동, 조치 시각, 배출 CO2, 재가동 승인 | 이 책 |
| DAC-SAFETY-LEAK-001 | 경보, 누출 | alarm, leak | 농도와 구성 참조, 누출 등급과 속도 | 이 책 |
| DAC-MAINT-PREV/CORR-001 | 작업 지시 | work-order | P1–P4 우선순위, 영향받은 설비와 측정값, 시각 | 이 책 |
| DAC-DATA-QC-001 | QC 주석 | qc | 플래그, 실패한 검사, 검토자 결정 | 이 책(플래그는 PHASE-3 §6.2) |
PHASE-3-PROTOCOL은 감사 주기로 마무리된다. 내부 감사는 분기마다, 제3자 외부 감사는 매년, 규제 감사는 관할권이 요구하는 대로 한다. 이런 레코드가 갖춰져 있으면 감사는 서류 수집이 아니라 데이터 조회가 된다.
DAC-영역-주제-NNN 형식의 식별자를 가진 16개 프로토콜을 정의한다. 이 책은 플랜트 상태, CO2 재고, 데이터 신뢰성을 바꾸는 모든 단계가 프로토콜 ID와 버전을 담은 추가 전용 레코드를 남기도록 권고한다.operationalState 열거형에 대응한다. 사이클 레코드는 단위, 효율이 순간값인지 평균인지, 포화도를 어떻게 추정했는지를 밝혀야 하며, 간단한 풍량 계산으로 한 사이클의 포집량 상한을 구할 수 있다.good, suspect, bad, missing)는 사유와 함께 원시 값 옆에 저장하며, 정상이거나 검토를 거친 데이터만 검증으로 들어간다. 검증은 제6장의 주제이다.