Link Search Menu Expand Document

東亞地區初始及邊界條件之準備

Table of contents

背景

  • 東亞地區初始及邊界條件之準備過程詳見預報系統初始條件相關問題,此處針對國網上運作的差異進行說明。
  • 解決的問題包括了
    1. CAMS數據下載軟體、帳密檔、
    2. NCO程式等之建置
  • 還沒有解決的問題
    • 自動下載之排程作業
    • 逐日ICBC儲存的問題
  • 因東亞domain ICBC的準備主要是下載、檔案轉換,這些方面國網的速度表現也不差。因未涉及大量的計算,並未使用到slurm

CAMS數據之下載

  • 檔案下載會需要使用到cdsapi1模組、需另行下載。
  • 國網的作法
    • 裝置Anaconda環境:module load pkg/Anaconda3
    • 開始一個空的conda環境:conda env create gribby
    • 裝置cdsapi:pip install cdsapi
    • 國網python套件是裝置在個人的家目錄下(~/.conda),因此執行上須以對應之python($pyt)來啟動程式,無法以執行檔直接執行方式來執行。
pyt=/home/sinotec2/.conda/envs/gribby/bin/python
...
   $pyt get_All.py y $dt $hr $i >& /dev/null
...
  • 因CAMS採會員制,會員帳密訊息必須儲存在個人的家目錄(~/.cdsapirc)以供程式讀取,因此如果要由不同使用者執行下載工作,每個人都會需要自己的帳密檔。

NCO 程式

  • 國網並沒有提供NCO程式。(有一份2021年9月編譯的5.0.1版,module load rcec/tools安裝)
    • 此處將其重新編譯放一份在$BIN=/work/sinotec2/opt/cmaq_recommend/bin/下。(5.0.7版)
  • 一般的NCO程式並不包括ncl_convert2nc,此為ncl_stable套件內容,可以直接裝置ncl 6套件(module load rcec/ncl/6.6.2),或由conda安裝在家目錄(詳anaconda)。

初始檔案

  • 只修正目錄系統
  • 因未有特殊的模組,可以用rcec/python/wrfpost環境下的python
sinotec2@lgn303 /work/sinotec2/CAMS
$ diff grb2icon.py ~/bin/grb2icon.py
1c1
< #!/opt/ohpc/pkg/rcec/pkg/python/wrfpost/bin/python
---
> #!/opt/anaconda3/envs/py37/bin/python
72c72
< fname='/work/sinotec2/cmaqruns/forecast/grid45/mcip/DENS/METCRO3D.'+bdate.strftime('%Y%m%d')
---
> fname='/u01/cmaqruns/2022fcst/grid45/mcip/DENS/METCRO3D.'+bdate.strftime('%Y%m%d')
79c79
< targ='/work/sinotec2/cmaqruns/forecast/grid45/icon/'
---
> targ='/u01/cmaqruns/2022fcst/grid45/icon/'

邊界條件

  • 修正相應之目錄系統
  • 密度因不會太敏感,原來沒有讀取確切的逐日模擬結果。此處恢復讀取。
$ diff grb2bcon.py ~/bin/grb2bcon.py
1c1
< #!/opt/ohpc/pkg/rcec/pkg/python/wrfpost/bin/python
---
> #!/opt/anaconda3/envs/py37/bin/python
92d91
< targ='/work/sinotec2/cmaqruns/forecast/grid45/bcon/'
94,95c93
< adate=sys.argv[1].replace('-','')
< fname=targ.replace('bcon','mcip')+'/DENS/METCRO3D.'+adate
---
> fname='METCRO3D.nc'
116a115
> targ='/u01/cmaqruns/2022fcst/grid45/bcon/'
  1. The Climate Data Store (CDS) Application Program Interface (API) is a service providing programmatic access to CDS data. see copernicus.eu How to use the CDS API