KJT's Blog

Storage for Knowledge

Hot

Post Top Ad

Study is the best friend!

2021-03-16

리눅스(Linux) 명령어(pwd, ls, chmod, mkdir, touch, rm)

3월 16, 2021 0




출처 : https://youtu.be/9_KIdQ8abH4


1. pwd 

  • 현재 디렉토리 경로 표시

2. ls
  • 현재 디렉토리 안에 있는 파일이나 폴더 등 표시
    • -al : 숨겨진 파일 등까지 표시
    • -l : 파일 등의 자세한 내용(파일 권한 내용 등)

3. ls -l  : 파일 유형 정보로 알 수 있는 것들
  • -rwxrwxrwx
  • drw-rw-rw-
  • lr--r--r--
    • "-" : 파일(file)
    • "d" : 폴더(directory)
    • "l" : 링크(link)
    • 왼쪽부터 user, group, other 권한
    • r : read(2^0), w : write(2^1), x : excute(2^2)

4. chmod 
  • 파일, 폴더, 링크 권한 변경
    • chmod 764 파일이름.확장자
    • chmod (u or g or o) +/- (r or w or x)

5. mkdir
  • 디렉토리 만들기

6. touch
  • 파일 만들기

7. rm
  • -f : 파일 지우기
  • -r : 디렉토리 지우기
       


Read More

2019-08-26

US EPA PMF 모델 기본 사용법 (데이터 요약 정보 확인)

8월 26, 2019 0

  • PMF 프로그램에 오염물질 농도 및 불확도 파일을 삽입하면, PMF 프로그램에서는 그 데이터를 바탕으로 다양한 요약 정보를 기본적으로 표시해준다. 
  • 요약 내용은 "Concentration/Uncertainty", "Concentration Scatter Plot", "Concentration Time Series", "Data Exceptions" 탭에서 확인이 가능하다.
그림 1
  • "Concentration/Uncertainty" 탭에서는 삽입된 오염물질 농도 및 불확도 데이터를 바탕으로 "S/N", "최소값(Min)", "25 백분위 값(25th)", "중앙값(50th)", "75 백분위 값(75th)", "최대값(Max)" 등과 같은 간단한 통계 정보를 보여준다. 
  • 그리고 오른쪽에는 농도와 불확도 데이터를 바탕으로 "Scatter Plot" 형태의 그래프를 보여준다.
  • 전형적인 농도와 불확도의 관계는 "Scatter Plot"에서 하키 스틱 형태를 가진다.
그림 2
  • "S/N"은 농도(Signal), 불확도(Noise)로 계산된 값이다.
    • 불확도를 초과하는 농도 값만 Signal로 계산에 이용한다.
    • 불확도 2배의 값을 가지는 오염물질의 S/N 비는 "1" 이며, 주로 이 값을 넘어가면 "good" signal로 판단한다.
    • 각 오염물질의 "카테고리(Cat)" 설정 시 중요한 매개변수가 된다. 
    • 오염물질 농도(x), 불확도(s) 사이의 계산 방법은 그림 3과 같다. 
그림 3
  • 오염물질별 카테고리 지정은 이 후에 실행될 PMF 모델링 내에서 각 오염물질들의 기여도를 계산할 때 중요한 역할을 하는 부분이다. 
  • 주로 S/N 비, 결측 샘플 수, 검출 한계 미만의 샘플 수, 샘플링 및 분석 시 에러, 예상 배출원,  물질의 반응성 등에 대한 자세한 지식을 바탕으로 카테고리를 결정하는 것이 가장 이상적이다.
  • 만약에 이러한 정보들이 부족하다면 S/N비를 사용하여 결정할 수 있다. 
  • PMF 메뉴얼에서는 S/N비가 0.5보다 작으면 "Bad", 0.5~1 이면 "Weak"으로 결정한다고 되어 있다. 하지만 이는 연구자의 역량으로 변경이 가능할 것이다. 
    • Strong : 샘플 및 불확도 변경 없이 모든 데이터 사용
    • Weak : 모든 샘플 사용하지만, 불확도를 기존 값의 3배로 변경
    • Bad : 모든 샘플 및 불확도 정보를 PMF 모델링에서 제외
  • 화면 하단에 있는 "Total Variable (Defaults to Weak)" 버튼은 오염물질들이 이루는 전체 성분을 표시해준다. 여기에서는 모든 오염물질이 PM2.5의 구성요소이므로 PM2.5를 "Total Varible"로 지정해준다. 
  • 이 후 PM2.5 부분은 굵은 글씨로 바뀌게 되고, 카테고리가 "Weak"으로 자동으로 바뀌게 된다. 
그림 4
  • "Concentration Scatter Plot" 탭에서는 오염물질 사이의 상관 관계 확인 및 배출원 및 배출원 범주에 대한 예상을 할 수 있다. 
  • 각 오염물질 간 one-to-one 그래프 및 선형 회귀 그래프를 확인할 수 있다.
  • 마우스를 데이터 점으로 가져가면 아래쪽에 날씨/시간, X/Y축 오염물질의 농도가 나타나고, 그 옆으로 회귀 그래프의 회귀식이 나타난다. 
그림 5
  • "Concentration Time Series"탭에서는 시간 패턴에 따른 농도 변화 및 비정상적 이벤트 여부를 확인할 수 있다.
  • 최대 10개의 오염물질을 동시에 선택해서 비교해볼 수 있으며, 패턴 분석을 통해 배출원 공유 여부의 예상이 가능하고, 모델링 진행 시 제외해야할 데이터를 확인하고 바로 제외할 수 있다. 
  • 특정 데이터를 제외하고자 할 때에는 데이터를 클릭한 후, "Exclude Samples" 버튼을 클릭하면 실행된다. 이는 데이터의 삭제가 아니라 모델링 진행에서 제외되는 개념이다.
  • 제외된 데이터를 다시 추가하고 싶으면, 제외된 데이터를 선택한 후, "Restore Samples" 버튼을 클릭하면 된다.
  • 마우스 클릭으로 데이터 선택이 어려울때에는 근처에 있는 다른 데이터를 클릭한 후, 키보드의 좌/우 키로 데이터 선택이 가능하다.
그림 6
  • "Data Exceptions" 탭에서는 이전의 모든 탭에서 실행된 "카테고리 설정", "제외된 데이터" 등과 같은 내용이 표시된다. 
  • 연구자는 이러한 정보를 검토하여 PMF 모델링 실시 전 데이터의 최적화를 확인해야한다. 
  • 이 보고서는 화면에서 마우스 오른쪽 클릭을 통해 저장할 수 있다. 
그림 7



참고문헌

  1. EPA Positive Matrix Factorizatoin (PMF) 5.0 Fundamentals and User Guide, https://www.epa.gov/sites/production/files/2015-02/documents/pmf_5.0_user_guide.pdf

Read More

2019-08-25

US EPA PMF 모델 기본 사용법 (데이터 삽입)

8월 25, 2019 0
웁스!




  • 앞선 글에서는 PMF 모델의 간단한 이론과 불확도 계산 방법에 대하여 알아보았다.
  • 이번 글에서는 PMF 모델 프로그램에 오염물질 농도 데이터 및 불확도 데이터를 삽입하는 방법에 대해서 알아보고자 한다.
  • 앞선 글에 있는 링크를 사용하여 PMF 프로그램을 설치하였다는 가정 하에 진행한다.

  1. PMF 모델 프로그램을 설치한 후, 실행하면 그림 1와 같은 화면이 나타난다.
  • 먼저 오염물질의 농도 데이터 파일과 미리 계산된 불확도 파일을 삽입해야 한다.
  • "Concentration Data File" 부분의 오른쪽에 있는 "Browse" 버튼을 클릭하여 농도 파일을 삽입한다. 
  • 농도 파일을 삽입하면 바로 아래에 "Uncertainty Data File"부분이 활성화 되며, 농도 파일과 같은 방식으로 불확도 파일을 삽입하면 된다.
  • "txt, csv, xls 또는 xlsx" 확장자를 가지는 파일만 사용할 수 있다. 
    • 필자는 "CSV" 파일 사용을 추천한다. 
    • "xls 및 xlsx" 형태로 수차례 실험해 본 결과, 원인을 알 수 없는(도대체 왜 안되는겨?) 오류가 계속해서 나타났다.
    • "CSV"는 워크시트를 하나만 포함할 수 있기 때문에, 먼저 엑셀로 작업한 후 raw 데이터는 따로 보관하고, 데이터 및 불확도 워크시트를 따로 "CSV"로 저장하여 사용하면 된다. 
  • 이 글에서는 프로그램 사용법 소개 수준이므로 PMF 프로그램 설치 시 함께 제공되고, PMF 메뉴얼에서 설명을 위해 사용되는 "Dataset-Baltimore_*.txt" 파일을 사용한다.
웁스!
그림 1


  1. 오염물질 농도 파일과 불확도 파일을 차례대로 삽입한 후, 날짜/시간, 결측값 설정, 모델 결과 파일 및 프로그램 설정 파일 저장에 대한 정보를 결정한다.

  • 날짜/시간 내용은 필수는 아니기 때문에 데이터 파일에 넣지 않아도 되지만, 가능하다면 날짜/시간을 활용하는 것이 좋다.
  • 농도 데이터 내에서 다른 샘플과 비교하여 크게 차이가 나는 데이터 값에 대한 배경 조사에 날짜/시간이 활용될 수 있고, 특정 오염물질들의 날짜/시간별 변화도를 바탕으로 오염물질들 사이의 간단한 배출 상관 관계 파악도 가능하기 때문이다.
  • "Date/Time Column"에서 날짜/시간 정보가 있는 열의 이름을 선택해준다. 
  • 각 샘플별로 ID 또는 장소에 대한 정보가 있다면 이 또한 "ID/Site column" 부분에서 선택해준다.

    • 결측값(Missing Value)에 대한 처리 방법은 "Exclude Entire Sample" 및 "Replace Missing Values with Species Median"의 두 가지가 있다.
    • "Missing Value Indicator" 부분에서는 결측값을 나타내는 데이터 값을 넣어준다. 즉, 아래 그림에서 표시한 것과 같이 결측값을 "-999"로 표시하면 PMF 프로그램에서 자동으로 결측값으로 인식하게 된다. 
    • 연구자는 데이터 정리 과정에서 "Missing Value Indicator"를 결정하여 결측값에 표시하여야 한다. 
    • 결측값 처리 과정은 글에 표현된 그대로 "모두 제외" 또는 "중앙값으로 대체"되며, 모든 과정은 PMF 모델에서 자동으로 진행된다.

    • 다음은 모델 결과 파일 및 모델 설정 파일 저장이다. 
    • 먼저 모델 결과 파일의 경우, "Output Files" 부분의 "Output Folder" 부분 오른쪽 "Browse" 버튼을 클릭하여 폴더를 지정해준다. 
    • 그리고 "Output File Prefix"부분에서 파일 이름에 들어갈 단어를 써준다. 결과는 "그림 3"을 참고하기 바란다.
    • "Output File Type"에서 결과 파일 형태를 지정할 수 있다.
    • 모델 설정 파일은 "Save File Locations and Settings in a Configuration File or Load a Previous Configuration File" 부분에서 설정이 가능하다. 
    • 모델 설정 파일 안에는 연구자가 현재까지 PMF 프로그램 내에서 진행된 설정, 데이터 파일, 모델링 결과 등에 대한 내용이 모두 저장된다. 
    • 즉, 오늘 실시한 데이터 및 불확도 파일 삽입(특정 폴더), 날짜/시간, 결측값 설정, 결과값 파일 저장 경로 및 이름 설정을 끝낸 후, 모델 설정 파일을 저장하면 앞선 모든 과정이 저장되고 다음에 다시 프로그램을 사용할 때에는 모델 설정 파일만 불러오면 모든 과정이 자동을 다시 완성된다. 
    • 저장하는 방법은 오른쪽 부분의 "Save as..." 또는 "Browse"를 클릭한 후, 저장 폴더를 선택하고 파일 이름을 타이핑 한 후 저장하면 된다.
    • 나중에 다시 파일을 불러오고 싶으면 "Load Last Saved" 파일로 바로 직전에 저장된 모델 설정 파일을 불러오거나, "Browse" 버튼을 클릭한 후 설정 파일이 저장된 폴더로 이동한 후 설정 파일을 열어주면 된다. 
    웁스!
    그림 2

    웁스!
    그림 3

    참고문헌

    1. EPA Positive Matrix Factorizatoin (PMF) 5.0 Fundamentals and User Guide, https://www.epa.gov/sites/production/files/2015-02/documents/pmf_5.0_user_guide.pdf
    Read More

    2019-08-15

    특정 지역에 대한 대기 역궤적 (Backward Trajectory) 분석 방법

    8월 15, 2019 0



    • 대기 환경과 관련된 연구를 진행하다보면, 오염물질의 장거리 및 단거리 이동에 의한 특정 지역에서의 영향을 확인하고자 할 때가 있다. 
    • 우리나라의 경우, 국내 배출원이 아닌 다른 곳에서 발생하여 이동해 오는 황사의 영향이 대표적이라고 할 수 있다.
    • 이 때, 연구자들은 특정 날짜, 특정 지역, 특정 고도 등에 대한 대기의 이동 경로를 역추적하여 오염물질의 이동을 확인하고 배출원을 특정할 수 있다. 
    • 대기 역궤적 분석 시, 우리는 미국 상무부(US Department of Commerce)의 해양대기청(National Oceanic and Atmospheric Administration)에서 제공하는 HYSPLIT 모델 기반의 대기 이동 모델링을 활용 할 수 있다.
    • 이번 글에서는 대기 역궤적 분석의 기본적인 사용법을 알아보고자 한다.

    1. 먼저 HYSPLT 모델 실행을 위한 사이트에 접속한다. 
    • 위의 링크를 타고가면 아래와 같은 화면이 나타나는데, 여기서 "Run HYSPLIT Trajectory Model"을 클릭한다. 

    1. 그리고 "Compute archive trajectories"를 클릭한다.

    1. 다음 화면은 역궤적을 확인할 장소의 수 및 궤적 타입을 설정하는 부분인데, 연구 목적에 따라 적절히 지정하면된다. 자세한 설명은 "Note" 및 "Detail" 부분을 잘 읽어보자.
    • 이 글에서는 "1" 및 "Normal"로 설정했다.

    1. 다음에는 "기상 데이터" 및 "역추적 장소"를 특정하는 창이 나타난다. 
    • "Meteorology"의 드롭박스를 클릭하면 다양한 기상 데이터 포맷이 나오는데, 연구 목적에 맞게 적절히 설정해주면 된다. 
    • 여기에서는 Global Data Assimilation System (GDAS, 1 degree)  데이터베이스를 설정했다. 
    • 기상 데이터를 설정한 후, 아래 쪽에서 "역추적 장소"의 위도/경도 또는 그 지역을 특정 할 수 있는 정보를 입력해주면 된다. 
    • 위도/경도는 여러 지도 사이트(구글 지도, 네이버 지도 등)에서 확인이 가능하며, 여기에서는 "울산시청"을 선정하였다. 




    1. 다음 화면에서는 역궤적 분석을 위한 자세한 설정을 변경 할 수 있는 창이 나타난다. 
    • 먼저 "Trajectory direction" 부분에서 "Backward"를 선택해 준다.
    • 그리고 "Start time"을 지정해준다. 여기서는 "8월 12일 00시"에 시작하는 것으로 설정했다.
    • "Total run time (hours)"에서 총 역궤적 시간을 설정해 준다. 여기서는 "24"시간으로 설정했다.
    • 제일 아래쪽에서는 "고도"를 설정 할 수 있으며, 지상고도(Above Ground Level, AGL) 및 해발고도(Metres Above Sea Level, MASL) 설정도 가능하다. 여기에서는 500, 250, 100m의 지상고도를 설정하였다.
    • 총 설정 내용은 "8월 12일 00시"부터 "24시간"동안 "울산 시청"으로 500m, 250m, 100m 지상고도에서 이동한 대기의 흐름을 "역궤적분석(Backward)"하는 것이다.

    • 아래로 스크롤 해보면, "Display Options"가 나온다.
    • "Googld Earth" 포맷으로도 output이 가능하다. 
    • 제일 아래쪽에서는 기상데이터의 포함 여부 또한 설정이 가능하다.
    • 연구 목적에 맞게 적절히 설정하자.

    1. 궤적분석 요청 버튼을 "한번만" 클릭하면 처음에는 바로 아래와 같은 화면이 나타나는데, 잠시만 기다리면 그 다음 화면으로 자동으로 새로고침된다. 
    • 기본적으로 "GIF Plots"및 "PDF Plots"가 나타나지만, 여기에서는 "Google Earth" 포맷을 설정하였기 때문에 이 또한 함께 나타났다. 
    • 표 아래 ".gif", ".pdf", ".kmz" 등을 클릭하면 해당되는 포맷으로 결과를 다운로드 할 수 있다. 



    1. 결과를 다운로드 한 결과이다. (GIF 및 Google Earth)
    • "Google Earth"의 경우에는 대기의 이동 경로를 영상으로도 확인이 가능하다.
    • 해보진 않았지만 파워포인트 등과 같은 발표 자료 만들 때 좀 더 이쁘게 꾸밀 수 있을 것 같다. 




    • 이상으로 대기 역궤적(Backward Trajectory) 분석 방법을 간단하게 알아보았다.
    • HYSPLIT 모델은 이 글과 같이 간단한 분석과 함께 "화산재 확산" 등과 같이, 대규모 오염물질의 대기 이동에 의한 영향을 파악하는데 유용하기 때문에, 필요하다면 더욱 공부하여 활용 범위를 높이는 것도 좋을 것 같다. 

    참고문헌
    Read More

    2019-08-09

    구글 블로그에 "highlight.js" 코드 줄 번호 넣는 방법

    8월 09, 2019 0



    • 앞선 글에서는 구글 블로그에 "highlight.js"를 이용해서 코드를 이쁘게 넣는 방법에 대해서 알아봤다. @"구글블로그에 "highlight.js"로 코드 이쁘게 넣는 방법" 
    • "highlight.js"에서는 코드별 줄 번호를 표현해주지 않지만, 구글링을 통해 알아낸 줄 번호를 표현하는 방법을 공유하고자 한다.

    1. https://github.com/wcoder/highlightjs-line-numbers.js/ <-- 링크를 타고 들어가면 아래와 같은 화면이 나온다.

    1. 아래로 스크롤을 하면 아래와 같은 부분이 나타난다.
    • 빨간색으로 표시된 부분은 "구글블로그에 "highlight.js"로 코드 이쁘게 넣는 방법" 에서 했던 방법 그대로 </head> 코드를 검색한 후에 그 위에 복사 후 붙여넣기를 한다. 
    • 파란색 부분은 CSS 코드인데 넣는 방법을 알면 CSS 부분에 추가하면 된다. 모른다면 3번으로...


    1. 위의 파란색 부분은 CSS 코드 부분에 넣어야하는데 매우 간단한 방법이 있다. 
    • 먼저 블로그에 "테마" 메뉴로 간 후, "맞춤설정" 버튼을 클릭한다.

      • 그리고 왼쪽 아래에 있는 "고급" 탭으로 이동한 후, 위의 파란색 CSS 코드들을 복사 후 왼쪽 "맞춤 CSS 추가"에 붙여 넣어주면 된다. 
      • 붙여 넣은 후, 바로 나가면 안되고 가장 우측 상단에 보면 "블로그에 적용" 버튼을 반드시! 눌러야 한다. 


      1. 위의 내용을 진행하였다면 기존의 "highlights.js" 사용법에 따라 사용하면 코드에 줄 번호가 생성된다.
      • 하지만 디자인이 마음에 들지 않을 수 있는데, 이 때에는 아래에 있는 "CSS selectors"를 참고해서 CSS 부분을 수정하면 된다.

      • 이 블로그를 위해 수정한 내용을 "highlights.js"으로 첨부한다.
      .hljs-ln-numbers {
      
          -webkit-touch-callout: none;
          -webkit-user-select: none; 
          -khtml-user-select: none;
          -moz-user-select: none;
          -ms-user-select: none;
           user-select: none;
      
           text-align: center;
           color: #fff;
           border-right: 1px solid #CCC;
           vertical-align: middle;
           padding-left: 15px;
           padding-right: 5px;
           font-size: 15px;
           font-weight: bold;
         }
      
      .hljs-ln-code {
      
           padding-left: 10px;
         }
      
      Read More

      Post Top Ad

      Play with Study!