はじめてのNCL NCLの実例 NCLのインストール NCLのチュートリアル プログラムソースの解説 いざ実践 計算機セミナー 2008.12.12@神戸 はじめてのNCL 近本 喜光 (東大・気候システム) 本日の発表内容 NCLの実例 NCLのインストール NCLのチュートリアル プログラムソースの解説 いざ実践
1. NCLの実例
NCLでできること 絵を描く データ解析をする 特徴 オブジェクト指向 多種類の統計解析が簡単にできる Freeで利用でき、ユーザー数が多い 欠点 マニュアルがすべて英語 日本では、まだまだユーザーが少ない
NCLの実例: その1 BGM 観測 同化 CTL予測 LAF予測 BGM予測 p1 m1 LAF
NCLの実例: その2 ASSIM GOOD BAD 上段: SST, U_sfc, V_sfc における偏差 下段: 赤道域のTO,UO,WOにおける偏差
NCLを使った論文の紹介 Chikamoto et al. 2007: Evidence of Growing Bred Vector Associated with the Tropical Intraseasonal Oscillation Geophys. Res. Lett., Vol. 34, L04806, doi:10.1029/2006GL028450 Chikamoto and Tanimoto 2006: Air-sea Humidity Effects on the Generation of Tropical Atlantic SST Anomalies during the ENSO Events Geophys. Res. Lett., Vol. 33, L19702, doi:10.1029/2006GL02723 Chikamoto and Tanimoto 2005: Role of specific humidity anomalies in Caribbean SST response to ENSO J. Meteor. Soc. Japan, Vol. 83, No. 6, pp.959--975
2. NCLのインストール
インストールの主な手順 ESGにアカウント登録 NCLファイルをダウンロード NCLファイルを展開 パスを通す インストールできたか確認
NCLのホームページ http://www.ncl.ucar.edu/
NCLのインストール手順
ESGの top page
NCLのコードを選択
自分のシステムに合ったNCLを選択 Vine Linux 4.2 の場合 (32bit, i686, gcc3.x)
NCLのインストール $ rpm –qa | grep gcc gcc-3.3.6-0vl7 $ mkdir ncl $ cd ncl $ tar zxvf ncl_ncarg-5.0.0-Linux_i686_gcc3.tar.gz $ pwd /home/chika44/soft/ncl $ vi ~/.bashrc export NCARG_ROOT=/home/chika44/soft/ncl export PATH=${PATH}:${NCARG_ROOT}/bin $ source ~/.bashrc gccのバージョン
インストールできたか確認 こうなれば成功 $ ncl Copyright (C) 1995-2007 - All Rights Reserved University Corporation for Atmospheric Research NCAR Command Language Version 5.0.0 The use of this software is governed by a License Agreement. See http://www.ncl.ucar.edu/ for more details. ncl 0> こうなれば成功
3. NCLのチュートリアル
NCLを使い始める2つの方法 Bottom up 式 : 文法からしっかり知りたい人向け Top down 式 : 文法からしっかり知りたい人向け Top down 式 : 習うより慣れろタイプの人向け http://www.ncl.ucar.edu/Document/Manuals/Getting_Started/
Top down 式チュートリアル
最初に抑えるべき項目
Anomalies のリンクをたどってみる プログラムの内容 プログラムソース 実行結果 使用した関数の説明
Can we run?
4. プログラムソースの解説
木を見て森を見る おまじない begin データ解析 描画 end
おまじないについて 基本: なにも考えずにこの4つを load しておけばよい. 応用: 自分で作成したサブルーチンを集めて、1つの load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl" 基本: なにも考えずにこの4つを load しておけばよい. 応用: 自分で作成したサブルーチンを集めて、1つの nclファイルとし、それを load することもできる
データ解析について ファイル fn 内にある変数 TS を読み込み、変数 ts に代入 コメント r: 読み込み c:作成 コメント 東西平均を削除 printVarSummary(ts) の1行を加えて実行するとtsの説明がでる anom(lat|:,lon|:,time|:)=dim_rmvmean(ts(lat|:,lon|:,time|:)) とすれば、時間平均を引くことができる
描画について wks = gsn_open_wks(“ps”,”dev”) plot = new(2,graphic) res = True res@gsnDraw = False res@gsnFrame = False plot(0) = gsn_csm_contour_map_ce(wks,ts(0,:,:),res) plot(1) = gsn_csm_contour_map_ce(wks,anom(0,:,:),res) gsn_panel(wks,plot,(/2,1/),False) 出力ファイル名 ファイル形式
5. いざ実践