Hydrodynamic model error (65)

안녕하세요,

저는 안성천 유역의 수질 모델, 퇴적물 모델을 만들기 전에 먼저 수질역학 모델을 생성하는 과정에 있습니다.

격자 파일은 Grid+로 생성하였습니다.

기간은 2012-01-01 ~ 2022-12-31 로 총 4018일이고,

5개 층으로 수층을 구분하여 모의하려고 합니다.

다음과 같이 경계 조건을 설정하였습니다. (Inflow1, Inflow2, Outflow)

Bathymetry는 Google Earth Pro의 해저 기준 데이터를 가져와 생성하였습니다.

Water Elevation은 EFDC Explorer에서 접근할 수 있는 HYCOM Global Surface Data로 설정하였습니다.

다른 설정은 크게 바꾸지 않았습니다.

하지만 아래와 같은 오류가 지속되어 문의드립니다.

제 구글 드라이브 링크를 첨부해드리니, 조언해주시면 감사하겠습니다.

(Input 파일에 있는 Outflow.txt는 양수값으로 되어있는데 EFDC Explorer에서 음수값으로 설정하였습니다.)

감사합니다!!

민창 올림

안녕하세요,

첨부해주신 파일을 저희 엔지니어팀이 확인해본 결과, 모델 경계 조건 및 입력 변수들이 아직 충분히 구성되지 않은것으로 보입니다. 아래에 첨부해드리는 이미지 및 메세지들을 참고해서 모델을 수정해보시길 권해드립니다.

  1. 모델의 초기 Bathymetry 가 제대로 구성되지 않은 것으로 보입니다.

  2. 모델의 초기 Water Elevation 역시 제대로 구성되지 않은 것으로 보입니다.

  3. Outflow 경계 조건에 Outflow time series 데이터가 연동되어 있지 않았습니다.

  4. Inflow 경계 조건들 역시 Inflow time series 데이터들이 연동되어 있지 않았습니다.

  5. Time step 값이 너무 크게 설정 되어있습니다. 20 초로 설정해서 한번 돌려보시고, 시뮬레이션 결과가 안정적이지 않다면, 10초 5 초 단위로 time step 을 더 줄여서 시도해보세요.

  6. Shallow Water option 을 조정하시면, 모의 중에 negative depth 에 의해 연산이 멈추는 경우를 줄일 수 있습니다. 아래의 이미지를 참고하여 설정해보세요.
    6

  7. 모의 기간이 0일 부터 4018 일까지로 설정되어 있는데 반해, Inflow 와 Atmospheric time series 데이터들은 0 일부터 4017 일까지만 입력 되어 있어서, 모의 마지막에 에러가 발생할수도 있습니다. 기본적으로, 입력 데이터들이 모의 기간보다 더 긴 시간을 커버하도록 사용하시길 권해드립니다.

위의 항목들 중, 1번부터 5번까지는 꼭 수정하셔야 모델 연산이 제대로 진행될 것으로 보입니다. 천천히 살펴보면서 수정해보시고, 어려운 부분이 있으면 알려주세요. 감사합니다.

답변해주셔서 너무 감사드립니다!

아직 튜토리얼을 제외하고 저만의 EFDC 모델을 만들어보지 못해서 노력 중에 있습니다.

답변 주신 내용을 바탕으로 수정하고 있는데, 제가 처음에 만들어 사용했던 초기 Bathymetry data가 랜덤으로 적용된 것처럼 보여 EFDC Explorer 내부에서 사용할 수 있는 GEBCO 2021 data를 사용하여 적용했습니다.

초기 Water Depth/Elevation 또한, 상수로도 설정해보고 HYCOM Global Surface Data로도 설정해봤습니다.

답변에서 말씀해주셨던 경계 조건은 모두 설정한 상태입니다.

시간은 기존 2012-01-01 00:00 ~ 2023-01-01 00:00 기간으로 모의하려고 했으나, HYCOM Global Surface Data가 2013-03-05 부터 제공됨에 따라 2014-01-01 00:00 ~ 2015-01-01 00:00 기간으로 축소 수정하였습니다.

Time step은 20, 10으로도 모두 시도해봤습니다.

그런데 현재 아래와 같은 floating divide by zero 오류가 나타남에 따라 과거 다른 분들의 게시물을 토대로 dry/wet depth 를 -99로 수정도 해봤는데 달라지지 않는 상태입니다.

혹시 오류를 해결하려면 어떻게 해야 할까요?

안녕하세요,

첨부해주신 이미지를 보면, Sediment Bed 초기조건 설정에 문제가 있어서 시뮬레이션이 시작되기도 전에 에러가 발생한 것 같은데요. 혹시, 현재 구축하신 모델에 Sediment Transport 모듈이 활성화 되어 있는 상태라면, 그 모듈을 비활성화 시키고 모델을 새로 저장하신 후, 다시 모의를 해보시면 좋을 것 같습니다.

Dry Depth (m) 는 0.05 로 설정하세요.

그렇게 해도 문제가 계속 발생하면, 새로 저장하신 모델 파일을 지난번 처럼 이곳에 올려주세요. 저희가 검토해보도록 하겠습니다. 감사합니다.

image

저번 답변에서 Sediment Transport 모듈을 비활성화하니 모의가 잘 됐습니다!! 감사합니다.

초기 조건의 Bathymetry, Water Depth/Elevation은 GEBCO, HYCOM 데이터를 사용하였습니다.
Temperature 초기 조건은 15 ℃로 설정하였습니다.

External Forcing Data는 Wind, Atmospheric, Flow(Inflow1, Inflow2, Outflow), Temperature가 사용되었고, 기간은 2012-01-01 ~ 2022-12-31(총 4018개)까지의 데이터에서 2014-01-01 ~ 2014-02-01로 모의 기간을 좁혔습니다.

여기서 질문이 있습니다.

Q1. Water Depth/Elevation의 HYCOM 데이터를 다운받았을 때, 아래 사진과 같이 0m에서 큰 변동이 없어 보입니다. 이는 HYCOM 데이터가 하천 기반이 아니라 해양 기반이어서 그런건가요?

image

Q2. 아래와 같이, 하천의 하류 부분에서만 모의가 되는데 이는 제가 사용한 온라인 데이터에서 상류 부분의 높이 차이가 거의 없기 때문에 모의에 영향을 주지 않는 것일까요?
이를 해결하기 위해서 제가 Bathymetry나 Water Depth/Elevation 데이터를 생성해야 하는 것인지도 알고 싶습니다. (관련 데이터를 수집하려고 알아봤으나, 공개된 데이터가 없어 어렵다고 판단하였기 때문에 GEBCO, HYCOM 데이터를 사용하였습니다.)


모델 파일 링크를 첨부드리니 확인해주시면 감사하겠습니다.

안녕하세요,

우선, 모의를 시작하는데 성공하셨다니 다행이네요. 추가로 올려주신 두가지 질문에 대해서는 저희가 더 살펴보고 안내해드리도록 하겠습니다.

다만, 기본적으로 bathymetry data 는 모형을 구성하는데 필요한 가장 중요한 요소이기 때문에, 사용자께서 데이터를 직접 구하시고 데이터에 대한 충분한 이해 (unit, coordinate system, vertical and horizontal datums, resolution) 를 바탕으로 활용하시기를 추천드리고 싶습니다. 아무래도, 글로벌 데이터베이스인 GEBCO 를 이용해서 bathymetry 를 구성하는 자동기능을 사용하시면 모형구성에 불확실성이 높아질 수 밖에 없습니다. 저희 팀에서 자세히 한번 들여다보고, 곧 더 알려드리도록 하겠습니다.

감사합니다.

안녕하세요,

저희 엔지니어링 팀에서 모델 파일들을 살펴본 결과를 알려드립니다.

  1. 우선 가장 큰 문제는, GEBCO 에서 운영 및 제공하는 bathymetry 데이터 베이스가 사용자께서 모의하시고자 하는 지역에 대해 충분한 quality 의 데이터를 제공하고 있지 않는 것 같습니다. 따라서, GEBCO 데이터를 이용한 bathymetry 자동 설정 기능을 사용하셨을 때, 모형의 초기 조건이 적절하게 설정되지 않고 있는것 같습니다. 예를 들면, 아래의 이미지에서 보이는 바와 같이 상류에서 하류로 넘어갈때, 고도가 40 미터 이상 급격히 떨어지는데, 이게 현실적인 지형인지 저희로서는 판단하기가 쉽지 않습니다. 앞서 말씀드린바와 같이, 사용자께서 해당 지역에 대한 지형정보를 더 취득하신후, 모형의 초기 조건을 설정 및 수정하시기를 권해드립니다.

  1. HYCOM 데이터를 이용한 초기 water elevation 을 설정은, 저희 소프트웨어가 HYCOM data 를 다운로드 후 모형 조건으로 입력하는 과정에서 오류를 포함하고 있어서 계속 0 값을 나타내고 있는것으로 확인했습니다. 빠른 시일 내에 오류를 수정해서 개선된 버전의 소프트웨어를 제공해드리도록 하겠습니다.

  2. 보다 안정적인 모의를 위해서는, 하구쪽 boundary condition 을 outflow 로 설정 하시는것 보다는 open boundary condition 로 설정하시고 water elevation data 를 이용하시기를 추천해드립니다. 아래의 링크를 참고해주세요.

Download Online Data - EFDC+ Explorer 11 Knowledge Base - Confluence (atlassian.net)

  1. 모형의 bathymetry 설정이 좋지는 않지만, 일단 물이 상류에서 하류로 흘러가는 모의를 구현하기 위해서 저희 엔지니어링 팀이 몇가지 모형 조건 및 입력 변수들을 수정해서 아래의 링크에 첨부하였습니다. 하지만, 아래 이미지에서 보이듯이, bathymetry 설정이 제대로 되어 있지 않아서, 하구 쪽 양안에 물이 도달하지 못하고 있습니다.
  • Initial Water Elevation 변경
  • Flow boundary condition 의 Time series flow split factor 업데이트
  • Temperature 모듈의 Slow coefficient 와 Heat transfer coefficient 변경
  • 그외 hydrodynamic parameter 들 변경

https://www.dropbox.com/t/G2T2C7mLt9QgIamr

이전 모델 파일과 비교하면서 어떤 점이 달라졌는지 확인해보세요. 다만, bathymetry 문제를 해결하시는게 가장 우선이 되어야할 것 같습니다. 감사합니다.

추가로,

앞서 말씀드린대로 소프트웨어에 문제가 있었던 HYCOM 데이터를 이용한 Initial Water Elevation 설정 기능을 개선한 후, 해당 지역에 대해 다시 테스트를 해보았는데요.

아쉽게도, 아래 링크를 통해 보시는바와 같이, HYCOM 데이터베이스에서는 해당지역의 Water Elevation 정보가 Unavailable 한 것을 확인하였습니다.

https://www.ncei.noaa.gov/thredds-coastal/dodsC/hycom/hycom_sfc_agg/HYCOM_Surface_Aggregation_best.ncd.ascii?surf_el[9%3A1%3A16][1461%3A1%3A1462][1586%3A1%3A1588]

사실, 초기 수위 설정은 모의를 하는데 아주 Critical 한 부분을 아니기 때문에, 우선 저희가 보내드린 모델에 설정되어있는 초기 수위값들을 계속 사용하시면 될 것 같고요. 어제 말씀드린대로, Bathymetry 문제를 어떻게 해결하시느냐가 가장 중요한 문제가 될 것 같습니다.

감사합니다.