프로젝트 기록

PROJECT RECORD

외계행성이 받는 평균 빛: EXOFASTv2 오류 제보와 수정

별 주위를 도는 행성은 별에 가까워질 때 더 많은 빛을 받고, 멀어질 때 덜 받는다. 외계행성 분석 도구 EXOFASTv2는 이렇게 달라지는 빛을 궤도 전체에 걸쳐 평균한 값을 보고한다. 그런데 공개 코드와 설명을 대조해 보니, 코드가 실제로 계산하는 값은 그 설명과 달랐다. 이 차이를 제보한 뒤 EXOFASTv2와 Python 기반 도구 EXOZIPPy의 계산식이 수정됐고, 두 공개 수정 기록에 독립 제보자로 이름을 남기게 됐다.

확인한 대상은 fave라는 출력값이었다. 여기서 입사광량은 단위 면적에 단위 시간 동안 도달하는 별빛의 에너지로, 빛의 세기를 나타낸다. 설명 문서는 행성이 궤도를 한 바퀴 도는 동안 받은 빛의 평균이라고 했지만, 당시의 계산 코드는 별과 행성 사이의 평균 거리를 구한 다음 그 거리에 해당하는 빛을 계산했다. 둘 다 ‘평균’을 사용하지만, 어떤 것을 먼저 평균하는지가 달라서 같은 값이 되지 않는다.

거리를 평균하기 전에 빛을 계산하면

차이는 작은 계산으로 볼 수 있다. 설명을 위한 예로, 같은 시간 길이의 두 구간에서 별까지의 거리가 각각 1과 2라고 하자. 거리 1에서 받는 빛을 1로 잡으면 거리 2에서는 1/4이 된다. 빛은 거리의 제곱에 반비례하기 때문이다. 두 구간의 빛을 평균하면 (1 + 1/4) ÷ 2 = 0.625다. 반면 거리를 먼저 평균한 1.5를 넣으면 1 ÷ 1.5² ≈ 0.444가 나온다. 이 예는 실제 행성 궤도를 재현한 것이 아니라, 두 평균의 차이를 보여주기 위한 것이다.

실제 타원 궤도에서는 시간도 고려해야 한다. 행성은 별에 가까운 쪽을 빠르게 지나고 먼 쪽에서 오래 머물기 때문에, 가까운 거리와 먼 거리를 똑같은 비중으로 평균할 수 없다. 각 위치에서 받는 빛에 그곳에서 보내는 시간의 비중을 반영해야 궤도 전체의 평균을 구할 수 있다. 이번에 확인한 오류는 이 시간 평균을 구하는 자리에 평균 거리에서의 빛을 넣은 것이었다.

같은 궤도에서 두 식이 낸 답

궤도의 모양을 나타내는 수를 이심률 e라고 한다. 원이면 0이고, 1에 가까워질수록 길쭉한 타원이 된다. 타원의 긴 반지름을 a라고 할 때, 케플러 궤도에서 시간에 따라 평균한 별까지의 거리는 a(1 + e²/2)다. 기존 코드는 이 거리를 빛의 계산식에 넣었다. 별이 일정한 빛을 낸다는 조건에서, 거리 a에서 받는 빛을 F0로 놓으면 두 식은 다음과 같다.

기존 코드: F0 / (1 + e²/2)²
궤도 전체의 시간 평균: F0 / √(1 − e²)

별의 성질과 궤도의 크기를 고정하고 이심률만 키우면, 첫 번째 식의 값은 내려가고 두 번째 식의 값은 올라간다. 궤도가 찌그러질수록 가까이 접근했을 때 빛이 강해지는 효과를 평균 거리 하나로 대신할 수 없기 때문이다. 두 번째 식은 작은 이심률에만 쓰는 근사식이 아니라, 별의 광도가 일정한 케플러 타원 궤도에서의 정확한 시간 평균이다. 공개 수정에는 이 식과 함께 Williams와 Pollard의 2002년 논문이 참고문헌으로 추가됐다.

제보에 사용한 비교에서는 F0를 1로 맞췄다. 이심률이 0.5인 궤도에서 기존 식은 약 0.790123, 시간 평균식은 약 1.154701을 주므로 수정값은 기존값의 약 1.46배다. 이는 특정 별의 실제 밝기를 말하는 숫자가 아니라, 같은 기준값에서 평균을 구하는 두 방법을 비교한 비율이다. 이심률 0.92에서는 그 비율이 약 5.168배로 커진다. 이 값 역시 해당 이심률에서 두 식을 비교한 결과이며, 모든 외계행성에 같은 차이가 생긴다는 뜻은 아니다.

재현 자료를 붙인 제보와 공개 크레딧

나는 계산식을 바꾸자고 단정하기 전에, fave가 어느 평균을 보고하도록 설계됐는지 개발자에게 물었다. 2026년 10월 9일 한국시간으로 보낸 제보에는 확인한 코드 버전과 문서 위치, 두 식의 수치 비교, Python 표준 라이브러리만으로 실행하는 짧은 재현 코드를 붙였다. 재현 코드는 식에 숫자를 넣는 것에 더해, 궤도를 작은 구간으로 나누고 각 구간의 시간 비중을 반영한 수치적분으로 시간 평균을 별도로 확인했다.

수정 구현은 개발자가 맡았다. EXOFASTv2 PR #8에서는 계산식과 설명 문서가 바뀌었고, 같은 식을 사용하던 EXOZIPPy PR #426에는 계산식 수정과 함께 수치적분을 기준으로 확인하는 테스트가 들어갔다. 두 수정은 한국시간 10월 9일 병합됐다. 현재 두 PR 본문은 Sam Yee와 나를 각각 독립적으로 오류를 제보한 사람으로 명시하며, Byungwoong Yoo라는 이름에 ORCID를 연결한다.

이번에 확인한 것은 보고되는 입사광량의 정의와 계산식, 그리고 실제 코드 수정이다. 기존 논문에서 구한 행성의 성질이나 불확실성 분포를 전체 분석부터 다시 계산한 작업은 아니므로, 논문의 결론이 바뀌었다고 말할 근거는 없다. 내 기여는 정의의 불일치를 재현 자료와 함께 제보한 것이고, 공개 기록에는 다른 독립 제보자와 수정 구현자의 기여도 함께 남아 있다.

연구 목록 · 작업 목록

Research index · Work index

Woong Works에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기