Link Search Menu Expand Document

全球模式結果檔案的轉換(nc2m3)

Table of contents

背景

  • 雖然都是netCDF格式的檔案,但是全球社群模式(如MOZARTCAM-chem,、WACCM等)檔案系統的設定、與區域模式系統(如CMAQCAMx等),有很大的出入,最主要的差異:
    • 經緯度座標系統vs直角座標系統
    • 垂直軸的範圍、分隔方式
    • 時間標籤
    • 空氣品質濃度的名稱、意義、及單位
  • 前者的檔案格式詳見Using MOZART-4 output
  • 後者格式稱之為IOAPI格式
  • 此處應用Ramboll公司多年來提供的NCF2IOAPI進行轉檔

下載、準備、編譯

下載

  • NCF2IOAPI為mozart2camx壓縮包裡的一支程式,目前最新版本是v3.2.1

netCDF及IOAPI的編譯

  • netCDF需要有libnetcdf.a(C) 及libnetcdff.a(fortran、似乎只能自行編譯)、以及相應內含文件
  • IOAPI
    • 需連結前述netCDF程式庫、以及相應電腦系統硬體的程式庫libioapi.a、以及相應內含文件。
    • 目前IOAPI的程式庫只能自行編譯。
    • CMAQ5.3版之後可接受IOAPI3.1版本程式庫

NCF2IOAPI的編譯

  • IOAPI 3.1版本(ifort example)
kuang@master /cluster/src/CAMx/mozart2camx_v3.0/ncf2ioapi_mozart
$ cat Makefile.NCF2IOAPI.kng
FC = ifort
OMPFLAGS  = -openmp -parallel
FOPTFLAGS = -O3 -unroll -stack_temps -safe_cray_ptr \
  -convert big_endian -assume byterecl  ${MFLAGS} ${OMPFLAGS}
MFLAGS    = -traceback -xHost                                   # this-machine
ARCHLIB   = -Bstatic
OMPLIBS   = -openmp
FFLAGS = -O3 -convert big_endian
PROGRAM = NCF2IOAPI
LIBS =    -L/cluster/bld/ioapi3.1/Linux2_x86_64ifort -lioapi \
          -L/cluster/netcdf/lib -lnetcdf -lnetcdff \
         $(OMPLIBS) $(ARCHLIB) $(ARCHLIBS)
INCLUDE = -I/cluster/bld/ioapi3.1/ioapi \
          -I/cluster/netcdf/include
RAW = get_envlist.o \
      NCF2IOAPI.opoutfile.o  NCF2IOAPI.o
.f.o:
        $(FC) $(FFLAGS) $(INCLUDE) -c -o $@ $<
.F.o:
        $(FC) $(FFLAGS) $(INCLUDE) -c -o $@ $<
$(PROGRAM):     $(RAW)
        $(FC) $(FFLAGS) $(INCLUDE) -o $(@) $(RAW) $(LIBS)
clean:
        rm -f $(PROGRAM)
  • IOAPI 3.2版本
LIBS =    -L/opt/ioapi/Linux2_x86_64gfort -lioapi -L/opt/netcdf/lib -lnetcdf -lnetcdff
INCLUDE = -I/opt/ioapi/fixed_src \
          -I/opt/netcdf/include

CAM-chem的成分

CAM模式與CMAQ模式成分對照如下表:

Reference

  • WEG Administrator, Welcome to the CAM-chem Wiki,wiki.ucar,13 Jun 2021
  • wiki, MOZART (model), wikipedia,last edited on 6 May 2021
  • acom.ucar, Mozart Download, ucar.edu, 2013-08-30.