Switch to English page
Memo
Home > Memo > NCAR Graphics (NCL)安裝筆記

Home

Projects

Memo

Links

Contact







NCAR Graphics (NCL)安裝筆記:

  以下筆記是於Red Hat Enterprise Linux 4底下NCAR Graphics (NCL) 6.0.0的安裝紀錄(機器上已經安裝了ZLIB、JPEG、cairo與szip、HDF4、NETCDF),當初升級的原因是因為原本機器上的版本沒裝好,導致某些功能不能用。安裝時為了可用性所以一併安裝了其他軟體,如HDF5、HDF-EOS、udunits等。安裝步驟大致是依照官方網站上的文件進行的。

官方網站建議下載已經編譯好(pre-compiled)的版本來安裝,不過我是用source code來裝的,步驟如下:

UDUNITS-2

  1. 下載UDUNITS-2並解壓縮,這個用來做物理單位轉換的套件是選擇性安裝的,若你只要使用NCAR Graphics的功能就不用裝。
  2. 執行
    [root@HPC ~] export PERL=""
    [root@HPC ~] ./configure --prefix=/opt/app/udunits2
    export PERL=""根據NCL的安裝說明,這是為了讓它不要安裝NCL所用不到的perl介面。
  3. 最後一樣下make all; make check; make install來安裝
參考資料:NCAR NCL安裝說明 - UDUNITS2

GRIB 2

  1. 下載GRIB2後解壓縮,如果只需要NCAR Graphics的話這步也可以略過
  2. 修改makefile,將jasper的位置寫入後即可下make all進行編譯
  3. 最後會產生會產生grib2.h,複製到/usr/include就好, 而libgrib2c.a移到/usr/lib/下
參考資料:NCAR NCL安裝說明 - GRIB2

HDF 5

  1. 下載HDF5並解壓縮,這套件也是選擇性的,如果想讓NCL支援HDF5-EOS的檔案,那就要先裝這個
  2. 執行
    [root@HPC ~] CFLAGS=-m64 ./configure --prefix=/opt/app/hdf5 --enable-fortran --enable-cxx \
           --with-szlib=/opt/app/szip --with-zlib=/usr/include,/usr/lib64 --disable-shared
    這裡CFLAGS的m64選項是要讓它啟動對64-bit的支援
    --enable-fortran以及--enable-cxx分別是建立fortran以及C++對HDF函式的interface
    最後指定szip與zlib的位置,並以--disable-shared要求它建立靜態函式庫即可
  3. 設定完後就可以開始安裝了
    [root@HPC ~] make >& make.output-HDF5187
    [root@HPC ~] make check >& make.check-HDF5187
    [root@HPC ~] make install
    [root@HPC ~] make check-install
  4. 安裝完後請將以下設定寫入.bashrc或/etc/profile等環境設定檔中
    export HDF5ROOT=/opt/app/hdf5
    export HDF5DIR=$HDF5ROOT
    export HDF5INC=$HDF5ROOT/include
    export HDF5LIB=$HDF5ROOT/lib

參考資料:HDF官方安裝說明

HDF-EOS2 v2.15


  1. 下載HDF EOS2以及Test Driver(make check時測試用),這套件也是不需要NCL的話可以不用裝
  2. 執行
    [root@HPC ~] CC='/opt/app/hdf4/bin/h4cc -Df2cFortran' ./configure --prefix=/opt/app/hdfeos2 \
          --with-szlib=/opt/app/szip
    因為HDF-EOS2需要HDF4,所以這邊C的編輯器選用HDF4底下的C Compiler,而-Df2cFortran這個選項是為了讓Fortran程式能夠跟HDF-EOS2函式庫一起編譯
  3. 進行安裝:make;make check;make install
  4. 接著將include資料夾中的.h檔全部複製到安裝路徑下的include資料夾(若不存在就新增一個吧)
  5. 最後將export LD_LIBRARY_PATH=/opt/app/hdfeos2/lib:$LD_LIBRARY_PATH寫入環境設定檔即可,如果不這樣做的話,就是要將libhdfeos.a複製到系統的lib資料夾底下

參考資料:HDFEOS2官方安裝說明
     NCAR NCL官方安裝說明 - HDFEOS2

HDF-EOS5

  1. 下載HDF-EOS5以及TestDriver並解壓縮,這套件跟HDF-EOS2一樣不是必須的,若要灌這個就要先裝HDF5
  2. 執行
    [root@HPC ~] ./configure --prefix=/opt/app/hdfeos5 --with-szlib=/opt/app/szip \
          CC='/opt/app/hdf5/bin/h5cc -Df2cFortran' CFLAGS=-DH5_USE_16_API
    若HDF5的版本高於1.8的話,就要加 CFLAGS=-DH5_USE_16_API 以避免相容性問題(詳見官方說明)
    其他就跟HDFEOS2大同小異囉
  3. 安裝:make; make check; make install
  4. 安裝完後將HE5_GctpFunc.h與HE5_HdfEosDef.h複製到安裝位置的include資料夾下
  5. 最後把export LD_LIBRARY_PATH=/opt/app/hdfeos5/lib:$LD_LIBRARY_PATH 寫入環境設定檔即可

參考資料:HDF-EOS5官方安裝說明
     NCAR NCL官方安裝說明 - HDFEOS5

Triangle

  1. 下載Triangle,這個套件也不是必需的,如果想用有限元素法裡常見的三角形網格就要裝這個
  2. 不用安裝,只要將裡面的triangle.c以及triangle.h準備好,稍後複製到NCL的ni/src/lib/hlu資料夾即可

參考資料:NCAR NCL官方安裝說明 - Triangle

NCAR NCL 6.0.0

  1. 下載NCL 6.0.0並解壓縮
  2. 其實NCL/NCARG的安裝很簡單,只要跑../Configure -v即可,它會問你要灌什麼,並跟你說有缺什麼
  3. 安裝:先用make Info做設定的最後檢查,都正確就make Everything >& make.output-NCL600
    如果遇上Can't find include file hdf/hdf.h,那麼請先確定HDF4的安裝正確,若是正確的,請於Configure在詢問local search include directory時加入HDF4的include位置,用空白分隔即可。
    懶得每次都打的話,請到config/下修改對應的系統樣本檔(執行Configure後,下 grep SYSTEM_INCLUDE Makefile看看跳出什麼字樣,就知道是對應哪一個樣本檔)

    遇上Can't find include file HdfEosDef.h或是HE5_HdfEosDef.h那很有可能是因為你沒有把這些檔案複製到對應的include資料夾裡

到此安裝就完成了!

參考資料:NCAR NCL官方安裝說明



<-Memo

inserted by FC2 system