Link Search Menu Expand Document

CAMx點源格式說明

Table of contents

背景

pt-emis.f的輸出部分內容

  • 循序輸出6筆表頭內容,此部分為常數,不隨時間改變。其後為每個時間段落的排放量數據
  • 常數部分
      OPEN(NUPTS, FILE='fortBE.14',FORM='UNFORMATTED'
     ,  ,convert='BIG_ENDIAN',STATUS='UNKNOWN')
      WRITE (NUPTS)    MPTS, MFID, NSG, NSPEC, NBD, TBEG, NED, TEND
      WRITE (NUPTS) XUTM, YUTM, NZONE, XORG, YORG, DELTAX, DELTAY,
     $         NOXG, NOYG, NOZG
     $, NVLOW, NVUP, DZSURF, DZMINL, DZMINU
      WRITE (NUPTS) 1,1,NOXG,NOYG
      WRITE (NUPTS) ((MSPEC(I,J),I=1,10),J=1,NSPEC)
      WRITE (NUPTS) NSEG, NOPTS
      WRITE (NUPTS) (X(K),Y(K),H(K),D(K),T(K),V(K),K=1,NOPTS)
  • 時間變化部分
    • 每個時間步階有3+NOSPEC筆數據
      DO 680 IT=1,24
        TB=IT-1
        TE=mod(IT,24)
        JED=NBD
        if(TE.eq.0)JED=JED+1
        WRITE ( *,* ) NBD, TB  , JED, TE
        WRITE (NUPTS) NBD, TB  , JED, TE
        WRITE (NUPTS) NSEG, NOPTS
...
        WRITE (NUPTS)(ILOC(IP,IT),IJPS(IP,IT),KPTS(IP,IT),FLOW(IP,IT),
     $    EFPLH(IP,IT), IP=1,NOPTS)
        DO 500 I=1,NSPEC
          WRITE (NUPTS) NSEG,(MSPEC(J,I),J=1,10),
     $      (QPTS(I,IP), IP=1,NOPTS)
500     CONTINUE
680   CONTINUE

uamiv與point_source格式內容之比較表(fortran)

  • CAMx的點源排放檔案格式有別於其他所有格式,除了4筆表頭內容一致外,增加了第5~6筆表頭內容,為煙囪個數及煙囪基本條件
  • 時變部分,點源排放具有很大的彈性,每個時間段落的煙囪個數可以不一樣(not tried),也可以有隨時間改變的流量與煙囪有效高度。
項目[uamiv][uamiv]point_source說明
表頭1檔名標籤與起迄日期時間fname, note, NOSEG, NOSPEC,

NDATE, TTIME, NDLAST, TTLAST

(same)

前者內容為AIRQUALITY, AVERAGE, EMISSION後者為PTSOURCE
表頭2網格系統XUTM, YUTM, NZONE,

XORG, YORG, DELTAX, DELTAY,

NOXG, NOYG, NOZ,

idproj,istag,tlat1,tlat2,rdum

(same)

 
表頭3 4個整數

(Itmp(j), J=1,4)

(same)

 
表頭4污染物名稱((SPNAME(I,J), I=1,10), J=1,NOSPEC)

(same)

 
表頭5 段落數及點源個數

(無)

NOSEG, NOPTSNOSEG值為1
表頭6 點源基本參數

(無)

(X(K), Y(K), H(K), D(K), T(K), V(K),K=1,NOPTS)XYHD單位為公尺、T單位K,V單位m/Hr
時變部分逐時之表頭1:啟迄日期時間

jjj,btime, jjn,etime

(same)

 
時變部分逐時之表頭2

(無)

NOSEG, NOPTS段落數及點源個數
時變部分逐時之表頭3

(無)

(ILOC(IP,IT), IJPS(IP,IT), KPTS(IP,IT), FLOW(IP,IT), EFPLH(IP,IT), IP=1,NOPTS)點源位置之IJK排氣量與有效高
時變部分之量場DO L=1,NOSPEC

DO K=1,NOZ

 WRITE (12) NOSEG, (SPNAME(I,L),I=1,10), ((C(I,J,K,L),I=1,NOX),J=1,NOY)

enddo

enddo

DO 500 I=1,NSPEC

 WRITE (NUPTS) NSEG,(MSPEC(J,I),J=1,10),

 $ (QPTS(I,IP), IP=1,NOPTS)

500 CONTINUE

每筆基本單元前者為一矩陣、後者為一序列
  • Fortran程式碼比較麻煩的是必須逐一給定字串變數的長度、整數、以及實數等等定義。這一方面,最有效的方式還是必須看程式碼範例,此處就不一一列表。

uamiv與point_source格式內容之比較(python)