全球模式結果檔案的轉換(nc2m3)
Table of contents
背景
- 雖然都是
netCDF
格式的檔案,但是全球社群模式(如MOZART、CAM-chem,、WACCM等)檔案系統的設定、與區域模式系統(如CMAQ、CAMx等),有很大的出入,最主要的差異:- 經緯度座標系統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版本程式庫
- 需連結前述netCDF程式庫、以及相應電腦系統硬體的程式庫
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.