DSD描画の確認


koshida5/29'12でスクリプト修正の記述。
プログラムの修正はこちらで。

H:\jobs\2012\doc\20120608\20120528_24.xls
H:\jobs\2012\doc\20120605\20120528_24.xls
DLデータのエクセル描画。
count2ndで個数からスペクトルに変換。
まずは、同じ値が出ているかを確認。
□途中結果の出力
n_total_dsd= 72 314 408 522 459 609 499 233 95 56 49 16 4
72とは?
nstr= 38
対象を23:30分にしているので、対象の最初の時刻23:21から、記録された最後の時刻23:59まで
38個のデータを読み込む、と言うこと。
やっていることは
data period: 2012 5 29 23 21 --- 2012 5 29 23 59
この間38個のデータがあることを確認。
読み込みは、0から38個となっている←NG.
⇒38個スキップすると、00分からなので、37分までとなる。
コメントする前の処理を追加すると積分が70個。
後の処理はnstr=30,合計すると(38+1)+(30+1)で70になる。
###修正点###
考え方は、必要なデータが以下の3ブロックに分かれると考える。
Ⅰ:1時間の途中から始まり、59分まで
Ⅱ:1時間すべてのデータを使う:60分
Ⅲ:1時間の途中までのデータを使う。0分から
間違いは、1時間の中に始まりと終わりがある場合を考慮していないことによる。
>>out_gradsは別?←後回し。
TODO
Ⅳ:1時間の中で開始・終了がある場合
をルーティンとして追加する。
また、Ⅰが間違っているので、修正する。
当面:10分計算が主であれば、Ⅰ〜Ⅲはそのままにしておくこともできる。
■テスト:対象期間: 1 2012 5 29 23 21 - 2012 5 29 23 30
10分間:its(:,ik),"-",ite(:,ik)
jmaxで読み込むべきデータを確認。
☆間違いはデータの読み込みと処理を同時にしているところにある。
☆jmax=0の場合は、別途処理する。
88 it_s(1:4) = its(1:4,ik) ; it_s(5) = 0 !!! start hour 0:00
89 it_s59(1:4) = its(1:4,ik) ; it_s59(5) = 59 !!! start hour 0:59
90 it_e(1:4) = ite(1:4,ik) ; it_e(5) = 0 !!! end our 0:00
☆これまでのsumupも最初と終わりを指定すれば使えるはず。
★一応直したが確認は、10分の描画が終わってから。
■count2nd
n_d(n)=count(n)/(surf_rd80 * t_obs * dsd_tv(n) * dsd_deltad(n) )
カウントは1分平均::surf_rd80 = 0.005
t_obs = 60.
28 data dsd_tv/ 1.435, 1.862, 2.267, 2.692, 3.154, 3.717, 4.382, 4.986, 5.423, 5.793, &
29 & 6.315, 7.009, 7.546, 7.903, 8.258, 8.556, 8.784, 8.965, 9.076, 9.137/

32 data dsd_deltad/0.092, 0.1, 0.091, 0.119, 0.112, 0.172, 0.233, 0.197, 0.153, 0.166, &
33 & 0.329, 0.364, 0.286, 0.284, 0.374, 0.319, 0.423, 0.446, 0.572, 0.455/
□対象23:30は一致した。ただし。00分のデータが十分でない。
▼23:00を対象にする。
output number start 8
読み込み始めが8になっている。51から59のはず。
▽最初の1時間のスタートを修正して直ったはず。
▲6/1の15:30ではほぼ水平の粒径分布【大粒子がかなり多い】
out_dsd.18 をDLしエクセルで描画するとほぼ、OLDAYSと同じになるのでOK。とみる。