2013年7月15日月曜日

model data comparison (BioChem)

今日は最終的な(卒論で使われる)モデル結果(daily94)をBIOのデータと比べるためのmatlab scriptを書くことに。


mod_biochem3.csvと名付ける。1990-1994 (period of NAO+)のデータが入ってる。 NAO indexはこちらから
Station 8: June 5 - July 9
Station 15: May 30 - July 8
Station 25: May 30 - July 6

中身:

DEPTH

O2
Silicate


Phosphate
Nitrate


CO2_total



そしてもう一つはmod_biochem4.csvと名付ける。これは1994年のデータのみ入ってる。

Station 8: June 5
Station 15: June 2
Station 25: May 30

データを実際に見てみて不自然なことに気づいた。同じ深さで観測が一度以上行われている。そしてそれらの数値が同じ時間帯に観測したのにも関わらずかなり変動していた。

よくよく考えてみると各観測地のデータは3つのstationのデータが合わさったものとして自分でダウンロードしていたことを忘れていた。一つのstationだけでデータを集めようとするとサンプル数が少なかったので隣り合わせのstationを集めたんだった。例えば、station 8はstation7とstation9のデータも含まれている。


そしてモデルのほうはオフラインダイナミックスのデータ移動が終わったようなので8月以降のシミュレーションをすることに。そのためにdailyrun.shを少し書き換える必要があった:

tstep=(744 744 720 744 720 744) #672 744 720 744 720 744 744)
for month in 08 09 10 11 12 #02 03 04 05 06 07
do
replace "${tstep[10#${month}-8]}" "${tstep[10#${month}-7]}" -- namelist namelist_top
if test ${month} -gt 10; then
  replace "01`echo "${month}-1"| bc`01" "01${month}01" -- namelist
elif test ${month} -le 10; then
  replace "010`echo "${month}-1" | bc`01" "01${month}01" -- namelist
fi
for it in T U V W
do
ln -fs Lab_${it}_94_m${month}.nc Lab_${it}_94.nc
done
mv LABSEA_*_*T.nc ../MY_SRC/daily94/
cp LABSEA_*_restart_trc.nc ../MY_SRC/daily94/restart_trc_${month}.nc
mv -f LABSEA_*_restart_trc.nc restart_trc.nc
./opa
done   

太字のところが書き換えたところ。書き換えた理由は、${tstep[${month}-8]}だとなぜか

value too great for base

っというエラーが表示される。

理由はよくわからないがインデックスが8以上のとき起こるっぽい?

まぁとにかくここで解決策(10#を加える)を見つけたのであまり深追いしないことにする。

0 件のコメント:

コメントを投稿