2013年8月31日土曜日

電動スクーターに興味あり。

やはり都会はいいね。何にしても選択肢が広がる。

今興味があるのは電動スクーター(electric scooter)。これがあれば歩いて20〜30分はかかりそうなスーパーやモスクへ気楽に行ける。

ブリティッシュコロンビア州のvehicle registrationによるelectric bikeの定義はこちら:
ICBC | Electric bikes

32km/hしか出ないが近所は比較的交通量も多くないので大丈夫だろう。むしろこの州は自転車が車道を通るのが普通なのでそれより早く走れるからそんなに迷惑ではないだろう。

この電動スクーターに興味あり☞2013 GIO Italia (MK) 500w Electric Scooter

電気で走るからガソリン代もいらない(電気代のほうが安い)。運転免許不要、自転車のヘルメット着用でOK、バイクの登録&保険加入不要。

日本と大きく違うところは二人乗りも可能というところ☆

大学院生のユニオンがカーシェアプログラムというのも支援してるみたいらしいのでその説明を聞いてからどっちにするか検討してみることにする。

2013年8月27日火曜日

PISCESの初期値の単位memo

piscesモデルのマニュアルに記載されている単位や初期値の単位が実際のモデルと一致しないことがわかった。

総評するとinputの単位にばらつきはあるが、output(シミュレーション結果)はumol/Lで算出される。

酸素(O2)の場合:

初期値:ml/L
アウトプット:umol/L
持っているデータ:mmol/L

従って持っているデータから初期値を作成するためにmlからmmolに変換する必要があった。以下のようにして変換することに:

data[mmol/L] * MolarMass[g/mol] * 0.69978[l/g]→ data[ml/L]

dataが持っているデータ、MolarMassは酸素の場合16x2=32g/mol、0.69978はL→gのconversion factor←厳密にはコンスタントじゃないかもしれない。(参考にしたサイト:http://ocean.ices.dk/Tools/UnitConversion.aspx

nitrate, phosphate, and silicate are expressed in umol/L (input & output).

iron needs to be defined in mol/L for input, but the output is in umol/L.

oxygen is expressed in ml/L for input, and the output is in umol/L.

DIC & Alkalinity datasets are often available in umol/kg. but PISCES wants them in umol/L (input & output).

I am not sure about DOC as data is not so widely available. The numbers range between 0-1.5 x10^-5 for ORCA2 Levitus 2001, so I am assuming this is in mol/L (input). Output is again expressed in umol/L.

NOTE: umol/L is equivalent to mmol/m^3.

2013年8月21日水曜日

netCDF + Fortran90 + ACEnet

It is troublesome to call the options at every compilation for fortran, especially if they are long. To overcome this, I created a simple script a while ago and kept it on my ACEnet directory.

Below is my shell script (named "compiler.sh") to handle netCDF files in Fortran90 on ACEnet clusters:

#! /bin/sh
ls -alhtr *.f*
echo "Enter the file name: "
read filnam
mpif90 -c -mcmodel=medium -I /usr/local/netCDF3m/include/ $filnam
echo "...Compilation is done."
ls -alhtr *.o
echo "Enter the name of the object file: "
read obfil
echo "Now choose a name of the executable file: "
read exfil
mpif90 -o $exfil $obfil -mcmodel=medium -L /usr/local/netCDF3m/lib -lnetcdf

2013年8月7日水曜日

NCOというnetCDFのアドオンのようなものがすごく便利。


netCDF Operator (NCO)

っというものがあるんですね。

この中にあるncksというコマンドを使えばnetCDFファイルの中から不要な変数を取り除くことができる→容量を減らすことができる。

以下はあるncファイルからPISCESのオフラインシミュレーションに必要な変数だけを出力するコマンドです:

ncks -v nav_lon,nav_lat,deptht,time_counter,votemper,vosaline,somixhgt,sowaflcd,soicecov,soshfldo,sowindsp Lab_T_94_01.nc ~/newdirectory/Lab_T_94_01.nc

ncks -v nav_lon,nav_lat,depthw,time_counter,votkeavt,vovecrtz Lab_W_94_01.nc ~/newdirectory/Lab_W_94_01.nc

ncks -v nav_lon,nav_lat,depthu,time_counter,vozocrtx Lab_U_94_01.nc ~/DATA1/Lab_Sea/Lab_U_94_01.nc

ncks -v nav_lon,nav_lat,depthv,time_counter,vomecrty Lab_V_94_01.nc ~/DATA1/Lab_Sea/Lab_V_94_01.nc

ここのオプション「-v」のあとに定義しているのが出力したい変数。

おかげさまで…

 11G Aug  6 17:47 Lab_T_94_01.nc
 1.7G Aug  6 17:50 Lab_U_94_01.nc
 1.7G Aug  6 17:53 Lab_V_94_01.nc
 8.1G Aug  6 18:08 Lab_W_94_01.nc

↑これだけあったファイルが→→→

 3.4G Aug  7 11:15 Lab_T_94_01.nc
 1.7G Aug  7 11:39 Lab_U_94_01.nc
 1.7G Aug  7 11:42 Lab_V_94_01.nc
 3.3G Aug  7 11:20 Lab_W_94_01.nc

まさに劇的ビフォーアフター☆4Dデータが多いTとWファイルはかなり容量を減らすことができました。U&Vはさほどかわりはない。

ちなみにACEnetのクラスターでは

module load nco

と打てばncoのコマンドが使えるようになっている♪

追伸:

「-A」オプションを使えばファイルの内容を書き換えることができる!



file1.ncに入っているvovecrtzという変数をfile2.ncに上書き保存する場合:

ncks -A -v vovecrtz file1.nc file2.nc

2013年8月6日火曜日

ザカートを計算する日を自分のなかで決める。

先月の日記(http://abdulhaqq09.blogspot.ca/2013/07/blog-post_14.html)でザカートについて書きましたが、今日TwitterでフォローしているShaykh Dr. Yasir QadhiがザカートのFiqhについての話をyoutubeにアップロードしていたので見てザカートについての理解が一層深まったのでここに自分なりの理解を整理しておくことにします。以下がShaykh Dr. Yasir Qadhiの話の動画です(英語):




お金の流動が激しい現代社会において一年間(イスラム暦)のnisabを計算することはとても難しいことです。

そのために出されたファトワーが毎年同じ日(イスラム暦)にザカートを計算するという方法です。

例えば、毎年ラマダン月10日に自分はザカートを計算するというふうに決めてしまえば長期的に見れば平均になるだろうということです(インシャアッラー)。まぁなにより最も大事なのはニーヤ(intention/意志)です。

そしてゴールド(金)が今日はいくらしてそれをもとにいくらに至ったらザカートの義務が課せられるのかとか調べたり、自分の貯金通帳を確認したりしていると妻からこんなリンクが送られてきました…

http://www.islamic-relief.com/zakat/calculator.aspx

↑Zakat Calculator(ザカート計算機)。

便利なサイトがあるものですね。ソースもislamic relief canadaなので信頼性◎。

早速これを使って自分の今年のnisab額を計算してザカートを払う必要があれば払いたいと思います(インシャアッラー)。

2013年8月4日日曜日

HDFをよく知らない自分にはSeaWiFSはテキストファイルで提供してくれるDFOからダウンロードしたほうが扱いやすい。

SeaWiFSのクロロフィルΑ濃度のデータは衛星で入手された情報をそのままの状態で渡してあるLevel 0から日平均~年平均までを経緯度別にinterpolateされたLevel 3まである。

各データの説明はこちら→http://oceancolor.gsfc.nasa.gov/DOCS/SW_proc.html

DFO(カナダ水産・海洋省?)が独自にまとめたデータベースもこっちにある:http://www.bio.gc.ca/science/data-donnees/base/data-donnees/ocdb-eng.php

これは北大西洋のみのデータで経緯度や日付を指定してデータをリクエストする(要登録)。

本家(Ocean Color)のデータアクセスはL1&L2はこちらからできる:http://oceancolor.gsfc.nasa.gov/cgi/browse.pl

DFOと同じようにデータをリクエストする(要登録)。

両方ともリクエストしてみてどちらか早く届いたほうから解析してみることにする。


AR7Wステーション15の2004年分を本家のほうにリクエストすること30分、データのダウンロード準備完了とのメールが届いた。

しかし、ダウンロードはwgetを使ってする方法しかないのでやってみたがうまくいかなかったのでDFOのほうを待つことにする。

待つことこちらも30分ほどでデータがまとまったとメールが。早速ダウンロードしてみるとこちらは一つのテキストファイルにまとめられていた。なんとフレンドリーなんだ。

commaで区切られたデータとして入っていた。以下ファイルの最初の3行:

AREA,STN_ID,STN_DATE,YEAR,MONTH,MIN_LAT,MIN_LON,LATITUDE,LONGITUDE,TEMP,CHLORPH
RECT1,79672,15/04/2001,2001,4,53.678,-55.544,60.2886,-55.5085,9999,.14
RECT1,79673,15/04/2001,2001,4,53.678,-55.544,60.2886,-55.4871,9999,.14
RECT1,79674,15/04/2001,2001,4,53.678,-55.544,60.2886,-55.4658,9999,.14

ただしファイルのサイズが大きい(170MBぐらい)のでNumbersでは開けることができない。sedで入らない情報を削除してファイルサイズを減らすことにする。

例:中央にある「年&月」の情報は直前の「日/月/年」の情報と重複するので削除する→ sed -i -e 's/,2001,[0-9]*,/,/' ファイル名.txt

↑この-iのあとに続く-eだが自分の中では-eオプションとして使ったはずなのに「ファイル名.txt-e」という編集前のファイルが作成されるようになっている。これはバックアップのためらしいがバックアップする必要ない場合はどうすればいいのかな?-iのあとに何もつけないとエラーとなる。もうちょっと勉強しないとな。