ftpを使うのは初めてだった。sftpと同じものだと思っていたが違って、ftpサーバーのアカウントを作ったからと言われsftpでログインしようとするとできんかった。
ftp servernameと打ちそしてユーザーネームとパスワードでログイン成功。
複数のファイル(例えば*.nc)をダウンロードする場合はmget *.nc
だけど面倒臭いのがダウンロードしたいかどうかファイル別に聞いてくること。
これをなくすにはftp -i servernameでログインすれば良い。
2017年12月6日水曜日
2017年10月7日土曜日
箱根観光メモ
高速バスもある(二千円ぐらい)
小田急料金
新宿〜箱根湯本 1190えん
小田原〜箱根湯本は箱根登山電車を使えば安いかなとか考えてみたけど310えんするみたいなので上記の差額と同じだった。
お得なぱすもいくつかある:一日乗車券。旧街道一号線きっぷ、フリーパス
芦ノ湖
箱根ロープウェイ: ちょっと高い。
箱根登山電車
乙女峠
箱根海賊船
2017年9月15日金曜日
効率の良いfortranコードを書きたい
プログラマーではないのだが研究の大部分を占めているのがプログラミング。しかも海洋モデルはfotranで書かれてあるのでいやでもfortranを習得しなければならない。最近並列コンピューティングでシミュレーションをするが大きなデータを扱うのでかなり時間がかかる。そこで少しでも改善の余地があればと思いfortranを効率よく書く秘訣みたいなものを色々ググってみた。以下、その中で理解でき且つ簡単に使えそうなのを書き留めた。
1。do loopは後ろから
do k = 1, kt
do j = 1, jt
do i = 1, it
A(i, j, k) = ...
end do
end do
end do
とする方が
do i = 1, it
do j = 1, jt
do k = 1, kt
A(i, j, k) = ...
end do
end do
end do
より効率いいらしい。
2。同じサイズのarrayはまとめて
real, dimension(3, n) :: a
とする方が
real, dimension(n) :: a, b, c
と三つに分けるよりいいらしい。
1&2のソース:https://jblevins.org/log/efficient-code
3。コロン(:)は左側に
max(A(:, :, i))
とする方が
max(A(i, :, :))
より計算が早いらしい。
ソース:http://www.fortran90.org/src/best-practices.html
4。割り算より掛け算
(A / 2) / 4
より
(A * 0.5) * 0.25
の方が早いらしい。
ソース:https://www.allinea.com/blog/201407/four-simple-tips-optimizing-your-code
最後に。
コンパイラーに最適化のフラッグがあることに気づいた。
-Oというフラッグで-O3がベスト(コンパイルされる時間は増えるが)。
上記にあげたこともしてくれたりするのかな?
1。do loopは後ろから
do k = 1, kt
do j = 1, jt
do i = 1, it
A(i, j, k) = ...
end do
end do
end do
とする方が
do i = 1, it
do j = 1, jt
do k = 1, kt
A(i, j, k) = ...
end do
end do
end do
より効率いいらしい。
2。同じサイズのarrayはまとめて
real, dimension(3, n) :: a
とする方が
real, dimension(n) :: a, b, c
と三つに分けるよりいいらしい。
1&2のソース:https://jblevins.org/log/efficient-code
max(A(:, :, i))
とする方が
max(A(i, :, :))
より計算が早いらしい。
ソース:http://www.fortran90.org/src/best-practices.html
4。割り算より掛け算
(A / 2) / 4
より
(A * 0.5) * 0.25
の方が早いらしい。
ソース:https://www.allinea.com/blog/201407/four-simple-tips-optimizing-your-code
最後に。
コンパイラーに最適化のフラッグがあることに気づいた。
-Oというフラッグで-O3がベスト(コンパイルされる時間は増えるが)。
上記にあげたこともしてくれたりするのかな?
2017年7月21日金曜日
カナダ・トロントのETRという有料道路とレンタカーの悲劇
トロント旅行から帰ってきて1ヶ月後。
クレジットカードの明細書を見ると見覚えのない徴収が。
金額はおよそ$83。
調べてみると旅行中ナイアガラへ行った時に使ったレンタカー会社からだった。ちなみにそのレンタカー会社は
Economy rent a car
会社自体に問題があるのか知らんがトロントピアソン空港側の支店の評判はかなり悪い(Googleのレビュー参照)。自分はレビューに書かれた内容ほど酷いことはなかったが(ラッキーだったと思う)結構怪しかったので他の人の言っている通り、あまりこの支店で借りるのはお勧めできない。
とりあえずその支店に電話したが、電話には出るがHelloという声の後にピーピーっというキャッチホンの音がなるだけで途絶える(この現象はレンタカーを借りた時に送迎をお願いする電話を入れた時も起きていたので回線が忙しいとそうなるのか??)。
電話ができないのでネットで色々調べることに。すると自分と似たような(借りた1ヶ月ごに請求がきた)人のレビューをがYelpに載っていた。以下がその人のレビュー:
Read Clement H.'s review of Economy Rent a Car on Yelp
この人の場合、ETRという有料道路の使用料を請求されたらしい。問題なのは使用料とは別途$50のadministration fee(経費?手数料?)を取られたこと。請求される時期といい値段といい同じぐらいなので自分にきた請求もこのことなんだろう。
しかしトロント〜ナイアガラ間を旅行中有料道路を通ったのは気づかなかった。調べてみるとこの道路は料金所なしで、カメラがナンバープレートを撮影して走行距離分の使用料を月に一度車の持ち主に請求するシステムらしい。
これがレンタカーの場合、請求はレンタカー会社へ行きレンタカー会社が払い、レンタカー会社は客に請求するらしい。そしてその際いくらの請求をするかはレンタカー会社の判断に委ねるらしい(ETRのウェブサイト参照)。
以下のサイトで同じような高額の経費を請求された人たちのフォーラムを見つけた:
https://www.tripadvisor.ca/ShowTopic-g155019-i55-k3119587-ETR_Road_7_Tolls_and_National_Car_Hire-Toronto_Ontario.html#21524463
これによると経費は$10, $25のところもあれば$200-300になるだろうと言われたこところもあったらしい(これはアメリカのレンタカー会社で、ETRの事情を知らないため、使用料請求が料金未払いによるためと判断されてしまった場合、経費というより罰金として高額になるとのこと)。
$50は仕方がない額なのか。
とりあえず、レンタカーを借りた時にサインした契約書を見直してETRか経費に関する記載の有無を確認してからレンタカー会社に連絡することにする。
ちなみに上記のYelpのレビューはBBB(Better Business Bureau)という消費者が不当な請求を受けたときに仲介してクレームしてくれる団体(私見です)のようです。こちらの方の説明&実例がわかりやすいので参照
BBBのサイトから自分が使用したレンタカー会社を検索すると自分と同じような体験をしたレビューがいくつかありました。https://www.bbb.org/kitchener/business-reviews/auto-renting-and-leasing/economy-rent-a-car-in-mississauga-on-1342229/reviews-and-complaints?section=reviews&reviewtype=negative
もう少し調べてみてからBBBにクレームを提出するかどうか決めることにする。
更新:
契約書を見直すとETRに関する記述はないし経費がいくらかかるというのもなし。でも、契約書のコピーはページ1と書かれたもの一枚しかないので2ページ目があるのかもしれない。
何日か経って結局面倒臭くなってしまったのでレンタカー会社に連絡することもBBBにクレームすることもしないかもしれない。
次回また旅行する機会があればその時はEconomy rent a carのトロント空港支店(Mississauga)は利用しないし、ETRも使用しないでナイアガラへ行く方法を考えるだろう。
更新2:
後日レンタカー会社から料金請求の説明文が郵送されて来た。案の定、規約とのこと。悔しいが払うしかない。これも勉強。
クレジットカードの明細書を見ると見覚えのない徴収が。
金額はおよそ$83。
調べてみると旅行中ナイアガラへ行った時に使ったレンタカー会社からだった。ちなみにそのレンタカー会社は
Economy rent a car
会社自体に問題があるのか知らんがトロントピアソン空港側の支店の評判はかなり悪い(Googleのレビュー参照)。自分はレビューに書かれた内容ほど酷いことはなかったが(ラッキーだったと思う)結構怪しかったので他の人の言っている通り、あまりこの支店で借りるのはお勧めできない。
とりあえずその支店に電話したが、電話には出るがHelloという声の後にピーピーっというキャッチホンの音がなるだけで途絶える(この現象はレンタカーを借りた時に送迎をお願いする電話を入れた時も起きていたので回線が忙しいとそうなるのか??)。
電話ができないのでネットで色々調べることに。すると自分と似たような(借りた1ヶ月ごに請求がきた)人のレビューをがYelpに載っていた。以下がその人のレビュー:
Read Clement H.'s review of Economy Rent a Car on Yelp
この人の場合、ETRという有料道路の使用料を請求されたらしい。問題なのは使用料とは別途$50のadministration fee(経費?手数料?)を取られたこと。請求される時期といい値段といい同じぐらいなので自分にきた請求もこのことなんだろう。
しかしトロント〜ナイアガラ間を旅行中有料道路を通ったのは気づかなかった。調べてみるとこの道路は料金所なしで、カメラがナンバープレートを撮影して走行距離分の使用料を月に一度車の持ち主に請求するシステムらしい。
これがレンタカーの場合、請求はレンタカー会社へ行きレンタカー会社が払い、レンタカー会社は客に請求するらしい。そしてその際いくらの請求をするかはレンタカー会社の判断に委ねるらしい(ETRのウェブサイト参照)。
以下のサイトで同じような高額の経費を請求された人たちのフォーラムを見つけた:
https://www.tripadvisor.ca/ShowTopic-g155019-i55-k3119587-ETR_Road_7_Tolls_and_National_Car_Hire-Toronto_Ontario.html#21524463
これによると経費は$10, $25のところもあれば$200-300になるだろうと言われたこところもあったらしい(これはアメリカのレンタカー会社で、ETRの事情を知らないため、使用料請求が料金未払いによるためと判断されてしまった場合、経費というより罰金として高額になるとのこと)。
$50は仕方がない額なのか。
とりあえず、レンタカーを借りた時にサインした契約書を見直してETRか経費に関する記載の有無を確認してからレンタカー会社に連絡することにする。
ちなみに上記のYelpのレビューはBBB(Better Business Bureau)という消費者が不当な請求を受けたときに仲介してクレームしてくれる団体(私見です)のようです。こちらの方の説明&実例がわかりやすいので参照
BBBのサイトから自分が使用したレンタカー会社を検索すると自分と同じような体験をしたレビューがいくつかありました。https://www.bbb.org/kitchener/business-reviews/auto-renting-and-leasing/economy-rent-a-car-in-mississauga-on-1342229/reviews-and-complaints?section=reviews&reviewtype=negative
もう少し調べてみてからBBBにクレームを提出するかどうか決めることにする。
更新:
契約書を見直すとETRに関する記述はないし経費がいくらかかるというのもなし。でも、契約書のコピーはページ1と書かれたもの一枚しかないので2ページ目があるのかもしれない。
何日か経って結局面倒臭くなってしまったのでレンタカー会社に連絡することもBBBにクレームすることもしないかもしれない。
次回また旅行する機会があればその時はEconomy rent a carのトロント空港支店(Mississauga)は利用しないし、ETRも使用しないでナイアガラへ行く方法を考えるだろう。
更新2:
後日レンタカー会社から料金請求の説明文が郵送されて来た。案の定、規約とのこと。悔しいが払うしかない。これも勉強。
2017年7月6日木曜日
ncview
anacondaをインストールするしてから使えなくなっていたncviewが使えるようになった。
どうしたかというと
508-509: mac portをアップデートさせて
510: ncviewをインストールするならhdf5をdeactivateさせろというノートがあったのでdeactivateさせて
511: 再度アップデートしたら使えるようになった!
どうしたかというと
508-509: mac portをアップデートさせて
510: ncviewをインストールするならhdf5をdeactivateさせろというノートがあったのでdeactivateさせて
511: 再度アップデートしたら使えるようになった!
508 sudo port selfupdate
509 sudo port upgrade outdated
510 sudo port -f deactivate hdf5
511 sudo port upgrade outdated
次はncviewをwestgridのインストされてないclusterでも使えるようにしたい。
2017年6月26日月曜日
今年のラマダン&イード
アッサラーム アレイクム。
あなたの上に平安がありますように。
イード ムバーラク。
イードおめでとうございます。
アルハムドゥリッラー。今年のラマダーンも充実したものとなりました。例年通り、ある程度の目標を掲げ達成することができました。毎年レベルアップしていくことが大事だと思います。
今年やったこと:
具体的に:
人生初の新月観測
今年は家族と友達約7人(主にムスリム・ユース・オブ・ビクトリアという団体のメンバー)と一緒に大学の近くのトルミー山から新月を観測することができた。肉眼でも見えたがメガネをかけたらもっとはっきりと見えた。年取ってきたな〜と感じた。
新月の写真はこちらから見ることができます。
https://scontent.xx.fbcdn.net/v/t1.0-9/18622622_1530467583661116_2730571153262207740_n.jpg?oh=2ffff15bcb53027ff9acf443f70d06e6&oe=5A117A4C
新月を自分たちで確認してからラマダーンを迎えるのはなんか感動的でした。毎年やるべし。そしてみんなやるべし。
最後の10日間に集中
ラマダーンの中でも最も大事な期間は最後の10日間です。これはその期間の中に決定の夜(ライラトゥルカドル)が訪れるからです。その日行った善行は1000ヶ月以上に値すると言われています。1000ヶ月、約83年です。現代人の寿命より長いんじゃないかな。それぐらい価値のある夜です。だから今年はその夜に確実に善行を行っていられるようにするために最後の10日間に全エネルギーを費やしました。最初の二十日も頑張れたらそれに越したことはないのですが断食時間の長い時期(十八時間半)、仕事、育児もやらなければいけなかったので最初の二十日は家でタラーウィを行い夜もファジルまで起きることはしませんでした。しかし、最後の10日間はマスジドでイシャーウ、タラーウィ、ウィトル、そして家に帰ってからタハッジュド、ファジルまで済ませてから寝ました。その間クルアーン読誦、和訳も読みました。夜起きていられるように、日中昼寝もしました。イフタールの時コーヒーも飲みました。
スンナ礼拝を確実にやる
一日五回の礼拝の間にスンナ礼拝を行うチャンスがいくつかあります。ファジルの前2ラカ、ズフルの前4ラカ(2+2)、後2ラカ、マグリブの後2ラカ、そしてイシャーウの後2ラカです。いつもはやったりやらなかったりしていたんですが今年のラマダーンを機に出来る時には確実にやる癖を身につけようと思い、ラマダーン中は必ずやるようにしました。こういう義務付けれれていないイバーダを出来る限りすることは、仕事や育児よりもアッラーへの崇拝を優先するということの実践の一つになると思います。
人生初のイッティカーフ
最後に今年のラマダーンの最高の収穫となったのはイッティカーフを行えたことでした。イッティカーフとはラマダーン最後の10日間に行うことが推奨されている(スンナ)マスジドに留まりイバーダ(アッラーへの崇拝)を遂行することです。私は10日間の時間は作れませんでしたので1日(日没前から翌日のウィトル礼拝まで)滞在しました。イバーダに集中するため携帯電話は持って行きませんでしたので世俗的なものは一切取り入れません。これは家族の協力なしにはできません。留守中家を守ってくれた妻&育児を手伝ってくれた母に感謝です。イッティカーフ中は、ジュズ29&30読誦、クルアーンの日訳読書、イフタール準備の手伝い、たくさんのドゥアーを行うことができました。また普段はお互い「サラーム」と挨拶することしかないブラザー達と深い話をすることもできました。アルハムドゥリッラー、イッティカーフは自分にとって素晴らしいものとなりました。またやりたい。
イード
最後にイードについて。イードはイスラム教が毎年祝うべき行事です。だからイスラーム教国家に住んでいないムスリム達は特にイードを大事にすべきです。自分たちでイードの価値を高めないと、他宗教の行事(クリスマスやハロウィーンや誕生日)に子供達の目は向いてしまいます。他宗教の行事は祝うことはハラームだよ、と教えるより、イードの日はこんなに楽しいんだよ、と実感させてあげることの方が効果的だと思います。
今年のイードはこのような感じでした。朝礼拝へ行きみんなと「イードムバーラク」と喜びを分かち合う。礼拝から帰ってきて家で家族のみんなに用意していたプレゼントを開ける。息子には大好きなおもちゃをプレゼント。大喜びでした。そしてお昼頃に近所のムスリムの家族のところへお出かけ。少しして帰ってきてから近所の他の2家族を家へ招き食事。子供達は楽しく遊びまわっていました。午後はマスジド主催のイードパーティーが公園であったので参加。バーベキュー後、帰宅。という感じで充実したイードを過ごすことができました。神に感謝。
あなたの上に平安がありますように。
イード ムバーラク。
イードおめでとうございます。
アルハムドゥリッラー。今年のラマダーンも充実したものとなりました。例年通り、ある程度の目標を掲げ達成することができました。毎年レベルアップしていくことが大事だと思います。
今年やったこと:
- 人生初の新月観測
- 最後の10日間に集中
- スンナ礼拝を確実にやる
- 人生初のイッティカーフ
具体的に:
人生初の新月観測
今年は家族と友達約7人(主にムスリム・ユース・オブ・ビクトリアという団体のメンバー)と一緒に大学の近くのトルミー山から新月を観測することができた。肉眼でも見えたがメガネをかけたらもっとはっきりと見えた。年取ってきたな〜と感じた。
新月の写真はこちらから見ることができます。
https://scontent.xx.fbcdn.net/v/t1.0-9/18622622_1530467583661116_2730571153262207740_n.jpg?oh=2ffff15bcb53027ff9acf443f70d06e6&oe=5A117A4C
新月を自分たちで確認してからラマダーンを迎えるのはなんか感動的でした。毎年やるべし。そしてみんなやるべし。
最後の10日間に集中
ラマダーンの中でも最も大事な期間は最後の10日間です。これはその期間の中に決定の夜(ライラトゥルカドル)が訪れるからです。その日行った善行は1000ヶ月以上に値すると言われています。1000ヶ月、約83年です。現代人の寿命より長いんじゃないかな。それぐらい価値のある夜です。だから今年はその夜に確実に善行を行っていられるようにするために最後の10日間に全エネルギーを費やしました。最初の二十日も頑張れたらそれに越したことはないのですが断食時間の長い時期(十八時間半)、仕事、育児もやらなければいけなかったので最初の二十日は家でタラーウィを行い夜もファジルまで起きることはしませんでした。しかし、最後の10日間はマスジドでイシャーウ、タラーウィ、ウィトル、そして家に帰ってからタハッジュド、ファジルまで済ませてから寝ました。その間クルアーン読誦、和訳も読みました。夜起きていられるように、日中昼寝もしました。イフタールの時コーヒーも飲みました。
スンナ礼拝を確実にやる
一日五回の礼拝の間にスンナ礼拝を行うチャンスがいくつかあります。ファジルの前2ラカ、ズフルの前4ラカ(2+2)、後2ラカ、マグリブの後2ラカ、そしてイシャーウの後2ラカです。いつもはやったりやらなかったりしていたんですが今年のラマダーンを機に出来る時には確実にやる癖を身につけようと思い、ラマダーン中は必ずやるようにしました。こういう義務付けれれていないイバーダを出来る限りすることは、仕事や育児よりもアッラーへの崇拝を優先するということの実践の一つになると思います。
人生初のイッティカーフ
最後に今年のラマダーンの最高の収穫となったのはイッティカーフを行えたことでした。イッティカーフとはラマダーン最後の10日間に行うことが推奨されている(スンナ)マスジドに留まりイバーダ(アッラーへの崇拝)を遂行することです。私は10日間の時間は作れませんでしたので1日(日没前から翌日のウィトル礼拝まで)滞在しました。イバーダに集中するため携帯電話は持って行きませんでしたので世俗的なものは一切取り入れません。これは家族の協力なしにはできません。留守中家を守ってくれた妻&育児を手伝ってくれた母に感謝です。イッティカーフ中は、ジュズ29&30読誦、クルアーンの日訳読書、イフタール準備の手伝い、たくさんのドゥアーを行うことができました。また普段はお互い「サラーム」と挨拶することしかないブラザー達と深い話をすることもできました。アルハムドゥリッラー、イッティカーフは自分にとって素晴らしいものとなりました。またやりたい。
イード
最後にイードについて。イードはイスラム教が毎年祝うべき行事です。だからイスラーム教国家に住んでいないムスリム達は特にイードを大事にすべきです。自分たちでイードの価値を高めないと、他宗教の行事(クリスマスやハロウィーンや誕生日)に子供達の目は向いてしまいます。他宗教の行事は祝うことはハラームだよ、と教えるより、イードの日はこんなに楽しいんだよ、と実感させてあげることの方が効果的だと思います。
今年のイードはこのような感じでした。朝礼拝へ行きみんなと「イードムバーラク」と喜びを分かち合う。礼拝から帰ってきて家で家族のみんなに用意していたプレゼントを開ける。息子には大好きなおもちゃをプレゼント。大喜びでした。そしてお昼頃に近所のムスリムの家族のところへお出かけ。少しして帰ってきてから近所の他の2家族を家へ招き食事。子供達は楽しく遊びまわっていました。午後はマスジド主催のイードパーティーが公園であったので参加。バーベキュー後、帰宅。という感じで充実したイードを過ごすことができました。神に感謝。
2017年6月19日月曜日
pythonで作ったpngファイルをlatexのためにpdfにまとめて変換する
pngの方がファイルサイズが小さくて済むしプレゼンテーションにも挿入しやすい。唯一の難はpdflatexでコンパイルするときの時間がかなりかかる。
そこでimagemagikを使ってpngをpdfに変換されておけば早くなるのではないかと考えた。
以下のコマンドでフォルダー内にあるpngファイルを全てpdfに変換させる。
for it in *.png; do convert $it ${it%.png}.pdf; done
新しくできたpdfファイルのサイズはpngと同等。
そこでimagemagikを使ってpngをpdfに変換されておけば早くなるのではないかと考えた。
以下のコマンドでフォルダー内にあるpngファイルを全てpdfに変換させる。
for it in *.png; do convert $it ${it%.png}.pdf; done
新しくできたpdfファイルのサイズはpngと同等。
2017年5月18日木曜日
歯の神経とアメリカドルの小切手
昨日、歯の神経の治療(根菅治療・ルートカナル)をやってきた。
二時間かかり、うち一時間半は歯を開けた状態。顎の関節の部分が痛みちょっと顔膨れてた。。
歯科保険の負担上限が今年は超えていたので保険なしで全額2000ドルかかったよ。歯にも財布にも痛い。
治療した歯の強度を高めるためににかぶせものをした方がいいと言われたよ。さらにお金がかかる。。
そして今日は学会でもらったアメリカドルの小切手を預金できないか銀行へ行ったところ
アメリカドルなので5ドルの手数料がかかるとのこと。
また、この手の小切手は有効期限が大体6ヶ月だよと。
よく見て見たら小切手に90日間有効って書いてある。
期限前に気づいてよかった〜。
5ドルとか高すぎやろ。
ウエスタンユニオンに行ってみよう。安ければいいが。
二時間かかり、うち一時間半は歯を開けた状態。顎の関節の部分が痛みちょっと顔膨れてた。。
歯科保険の負担上限が今年は超えていたので保険なしで全額2000ドルかかったよ。歯にも財布にも痛い。
治療した歯の強度を高めるためににかぶせものをした方がいいと言われたよ。さらにお金がかかる。。
そして今日は学会でもらったアメリカドルの小切手を預金できないか銀行へ行ったところ
アメリカドルなので5ドルの手数料がかかるとのこと。
また、この手の小切手は有効期限が大体6ヶ月だよと。
よく見て見たら小切手に90日間有効って書いてある。
期限前に気づいてよかった〜。
5ドルとか高すぎやろ。
ウエスタンユニオンに行ってみよう。安ければいいが。
2017年4月26日水曜日
Generating PIOMAS_initialization.nc
1014 vi namelist.piomas2naa 1015 ../bin/sosie.x -f namelist.piomas2naa 1016 vi namelist.piomas2naa 1017 ../bin/sosie.x -f namelist.piomas2naa 1019 ncks -h -A SIC_PIOMAS_1979_2013-naa_arlan.nc4 SIT_PIOMAS_1979_2013-naa_arlan.nc4 1021 mv SIT_PIOMAS_1979_2013-naa_arlan.nc4 PIOMAS_NAA_1979_2013.nc4 1022 mv PIOMAS_NAA_1979_2013.nc4 ~/scratch/input_naa/hhayashi/piomas/ 1024 cdo seltimestep,1/1 ~/scratch/input_naa/hhayashi/piomas/PIOMAS_NAA_1979_2013.nc4 PIOMAS_initialization.nc 1031 cdo chname,SIT,hicif PIOMAS_initialization.nc PIOMAS_initialization.nc2 1033 cdo chname,SIC,frld PIOMAS_initialization.nc2 PIOMAS_initialization.nc3
1041 ncap -s "frld2=1.-frld" PIOMAS_initialization.nc3 PIOMAS_initialization.nc4 1043 ncks -x -v frld PIOMAS_initialization.nc4 PIOMAS_initialization.nc5 1046 cdo chname,frld2,frld PIOMAS_initialization.nc5 PIOMAS_initialization.nc6 1050 mv PIOMAS_initialization.nc6 ~/scratch/input_naa/hhayashi/piomas/PIOMAS_initialization.nc
References:
https://code.zmaw.de/boards/1/topics/996
http://research.jisao.washington.edu/data_sets/nco/#example5
2017年4月24日月曜日
ncdump anaconda
Solved: Not being able to use "ncdump"
Solution: Execute the following two commands:
conda remove hdf4 hdf5 libnetcdf netcdf4
conda install -c conda-forge netcdf4
Ref:
https://github.com/spencerahill/aospy/issues/58
2017年4月19日水曜日
migrain aura
前々から気になっていた目の症状があって目のスペシャリストに見てもらったら
マイグレイン・オーラ
と診断された。
徹夜で仕事をし始めた学士論文ごろから起きるようになって
寝不足・コーヒー・チョコレートなども要因らしい。
目の病気だと思って心配していたのでよかった。
昨日の夜も9:30から30分ぐらい症状が出た。
起きるのは年に2〜3度。
日本語では 閃輝暗点(せんきあんてん)
というんだね。
マイグレイン・オーラ
と診断された。
徹夜で仕事をし始めた学士論文ごろから起きるようになって
寝不足・コーヒー・チョコレートなども要因らしい。
目の病気だと思って心配していたのでよかった。
昨日の夜も9:30から30分ぐらい症状が出た。
起きるのは年に2〜3度。
日本語では 閃輝暗点(せんきあんてん)
というんだね。
2017年4月17日月曜日
2017年4月12日水曜日
random notes
one way to make existing "time" dimension to be "unlimited":
cdo seltimestep,1/12 ifile ofile
where 1/12 is the first and last indices of your time record.
Ref: https://code.zmaw.de/boards/1/topics/798
1057 cdo seltimestep,1/1 sic_G10010_SIBT1850_v1.1-naa_icecon.nc4 sic.nc 1058 cdo seltimestep,1/1 sit_G10010_SIBT1850_v1.1-naa_icecon.nc4 sic.nc 1059 cdo seltimestep,1/1 sit_PIOMAS_1979_2013-naa_arlan.nc4 sit.nc
Add all variables in sic.nc to sit.nc 1062 ncks -h -A sic.nc sit.nc
Remove time_counter dimension from the lists of dimensions and variables. 1065 ncwa -a time_counter sit.nc sit2.nc
Same names (labels) but different IDs for nodes in PyGraphviz:
add_node(1,label=A)
add_node(2,label=B)
add_node(3,label=A)
will create three nodes consisting of two As and one B.
Ref: http://stackoverflow.com/questions/15711909/how-to-create-duplicate-nodes-in-pygraphviz
2017年4月9日日曜日
shaw memo
14 april --> internet 5.
phone disconnect --> immediately.
--> arris --> return to uptown branch.
固定電話とテレビとインターネットのプロバイダーはどこも高くてモノポリー化してるビクトリア :-(
phone disconnect --> immediately.
--> arris --> return to uptown branch.
固定電話とテレビとインターネットのプロバイダーはどこも高くてモノポリー化してるビクトリア :-(
2017年4月5日水曜日
interpolate woa13 no3 field onto NAA grid using SOSIE
I had little trouble interpolating the woa13 no3 data onto NAA grid. SOSIE was creating high values (first figure; set to the prescribed vmax of 100. in this plot) along the coast lines. I was not sure why, but what solved this issue was to change ldrown from F to T:
cf_lsm_in = 'missing_value' ! we use 'missing_value' of input field to determine
cv_lsm_in = '' ! the land-sea-mask
ldrown = F ! we want to propagate sea values onto the land-sea mask
Here, the last line is modified as follows:
ldrown = T
Then the interpolation improved (second figure).
Furthermore, the interpolation is not too bad compared to the original file (third figure), although it may underestimate no3 in the beaufort region.
![]() |
interpolated field with ldrown = F |
![]() |
interpolated field with ldrown = T |
![]() |
comparison between the original 1x1 degree data (left) and the interpolated data (right) |
2017年4月3日月曜日
snow and ice melt rate
rdmsnif/rdt_ice is snow melt rate (m/s) averaged over ice covered area, and not over the entire grid cell. Otherwise the code below should include the coefficient "1-frld" in the last term:
limsbc_2.F90
! computing freshwater exchanges at the ice/ocean interface
zemp = + emp(ji,jj) * frld(ji,jj) & ! e-p budget over open ocean fraction
& - tprecip(ji,jj) * ( 1. - frld(ji,jj) ) & ! liquid precipitation reaches directly the ocean
& + sprecip(ji,jj) * ( 1. - pfrld(ji,jj) ) & ! change in ice cover within the time step
& + rdmsnif(ji,jj) * r1_rdtice ! freshwater flux due to snow melting
2017年3月14日火曜日
iceno3 initialization problem
Issue: iceno3 was initialized to a spatially uniform value defined in PISCES/trcini_pisces.F90. This is not what we want. Later, PISCES jpno3 is updated by initialized by WOA data, which is what we want iceno3 to be initialized with.
Here is to show that iceno3 was initialized to a spatially uniform value across the domain:
iceno3 initialized to: 31.0400000000000 31.0400000000000
31.0400000000000 31.0400000000000 31.0400000000000
31.0400000000000 31.0400000000000 31.0400000000000
31.0400000000000 31.0400000000000 31.0400000000000
31.0400000000000 31.0400000000000 31.0400000000000
31.0400000000000 31.0400000000000 31.0400000000000
31.0400000000000 31.0400000000000 31.0400000000000
31.0400000000000 31.0400000000000 31.0400000000000
31.0400000000000 31.0400000000000 31.0400000000000
Here is to show that initialization of my_trc tracers is done before pisces tracers are updated with input data (trcini.F90):
IF( lk_pisces ) CALL trc_ini_pisces ! PISCES bio-model
IF( lk_cfc ) CALL trc_ini_cfc ! CFC tracers
IF( lk_c14b ) CALL trc_ini_c14b ! C14 bomb tracer
IF( lk_my_trc ) CALL trc_ini_my_trc ! MY_TRC tracers
IF( lwp ) THEN
!
CALL ctl_opn( numstr, 'tracer.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE., narea )
!
ENDIF
IF( ln_trcdta ) CALL trc_dta_init
IF( ln_rsttr ) THEN
!
CALL trc_rst_read ! restart from a file
!
ELSE
!
IF( ln_trcdta .AND. nb_trcdta > 0 ) THEN ! Initialisation of tracer from a file that may also be used for damping
!
CALL wrk_alloc( jpi, jpj, jpk, nb_trcdta, ztrcdta ) ! Memory allocation
!
CALL trc_dta( nit000, ztrcdta ) ! read tracer data at nit000
!
DO jn = 1, jptra
IF( ln_trc_ini(jn) ) THEN ! update passive tracers arrays with input data read from file
jl = n_trc_index(jn)
trn(:,:,:,jn) = ztrcdta(:,:,:,jl) * tmask(:,:,:)
ENDIF
ENDDO
CALL wrk_dealloc( jpi, jpj, jpk, nb_trcdta, ztrcdta )
ENDIF
!
trb(:,:,:,:) = trn(:,:,:,:)
!
ENDIF
I tried to add the following line just before the second last "ENDIF" statement above:
iceno3(:,:)=trn(:,:,1,jpno3)
However, the compilation error occurred which appears to be related to the ordering:
No rule to make target `trc_sms_my_trc.o', needed by `trcini.o'.
Thus, I had to instead initialize the ice BGC tracers in trcsms_my_trc.F90 instead of trcini_my_trc.F90 as follows:
IF( kt == nit000 ) THEN
IF( .NOT. ln_rsttr .AND. ln_trcdta ) THEN
icedia(:,:) = trn(:,:,1,jpdia)
write(numout,*) "iceno3 before is: ",iceno3
iceno3(:,:) = trn(:,:,1,jpno3)
write(numout,*) "iceno3 after is: ",iceno3
icenh4(:,:) = trn(:,:,1,jpnh4)
END IF
END IF
The output from WRITE statements prove that the values have changed:
iceno3 before is: 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
31.9878976156660 31.0438701002330 31.0369201106744
31.0369205118954 31.0383482948276 31.0616767301434
31.0677629528971 31.0492132090291 31.0419920432535
31.0440657798248 31.0444710620824 31.0447721884932
31.0375292688435 31.0382076116362 31.0373801558268
31.0398029146832 31.0397625744607 31.0331636088933
31.0327651221495 31.0220553651313 31.0230092701832
31.0342232771140 31.0552545248760 31.0397772061968
31.0473470388971 31.0546418640872 31.0543800885964
iceno3 after is: 0.000000000000000E+000 6.051918107557494E-007
6.110130904164567E-007 6.165130718275732E-007 6.223610345536756E-007
6.282784081119133E-007 6.347854462720852E-007 6.416655223934390E-007
6.425374792240063E-007 6.518916947527300E-007 6.615196029420712E-007
6.710462543721832E-007 6.779537599405078E-007 6.832150836929839E-007
1.485887675109245E-002 0.101301152128998 0.192842913115538
0.288261717144609 0.410586225212846 0.567104111609461
0.750865673296165 0.954964841291094 1.17256469087027
1.39693899756850 1.62147709851657 1.83974371937518
5.90219173052099 5.72045383050733 5.52942332795475
5.33964213875681 5.16237601645325 4.98851212702143
4.79097327138552 4.58829697326475 4.38163145548577
4.17732627934004 3.98400314182262 3.81032497675204
3.66491610553454 3.57114941381793 3.59987527391656
Although this may not be the best method (i.e. IF statement if not desirable for fast computing), this is it for now.
Here is to show that iceno3 was initialized to a spatially uniform value across the domain:
iceno3 initialized to: 31.0400000000000 31.0400000000000
31.0400000000000 31.0400000000000 31.0400000000000
31.0400000000000 31.0400000000000 31.0400000000000
31.0400000000000 31.0400000000000 31.0400000000000
31.0400000000000 31.0400000000000 31.0400000000000
31.0400000000000 31.0400000000000 31.0400000000000
31.0400000000000 31.0400000000000 31.0400000000000
31.0400000000000 31.0400000000000 31.0400000000000
31.0400000000000 31.0400000000000 31.0400000000000
Here is to show that initialization of my_trc tracers is done before pisces tracers are updated with input data (trcini.F90):
IF( lk_pisces ) CALL trc_ini_pisces ! PISCES bio-model
IF( lk_cfc ) CALL trc_ini_cfc ! CFC tracers
IF( lk_c14b ) CALL trc_ini_c14b ! C14 bomb tracer
IF( lk_my_trc ) CALL trc_ini_my_trc ! MY_TRC tracers
IF( lwp ) THEN
!
CALL ctl_opn( numstr, 'tracer.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE., narea )
!
ENDIF
IF( ln_trcdta ) CALL trc_dta_init
IF( ln_rsttr ) THEN
!
CALL trc_rst_read ! restart from a file
!
ELSE
!
IF( ln_trcdta .AND. nb_trcdta > 0 ) THEN ! Initialisation of tracer from a file that may also be used for damping
!
CALL wrk_alloc( jpi, jpj, jpk, nb_trcdta, ztrcdta ) ! Memory allocation
!
CALL trc_dta( nit000, ztrcdta ) ! read tracer data at nit000
!
DO jn = 1, jptra
IF( ln_trc_ini(jn) ) THEN ! update passive tracers arrays with input data read from file
jl = n_trc_index(jn)
trn(:,:,:,jn) = ztrcdta(:,:,:,jl) * tmask(:,:,:)
ENDIF
ENDDO
CALL wrk_dealloc( jpi, jpj, jpk, nb_trcdta, ztrcdta )
ENDIF
!
trb(:,:,:,:) = trn(:,:,:,:)
!
ENDIF
I tried to add the following line just before the second last "ENDIF" statement above:
iceno3(:,:)=trn(:,:,1,jpno3)
However, the compilation error occurred which appears to be related to the ordering:
No rule to make target `trc_sms_my_trc.o', needed by `trcini.o'.
Thus, I had to instead initialize the ice BGC tracers in trcsms_my_trc.F90 instead of trcini_my_trc.F90 as follows:
IF( kt == nit000 ) THEN
IF( .NOT. ln_rsttr .AND. ln_trcdta ) THEN
icedia(:,:) = trn(:,:,1,jpdia)
write(numout,*) "iceno3 before is: ",iceno3
iceno3(:,:) = trn(:,:,1,jpno3)
write(numout,*) "iceno3 after is: ",iceno3
icenh4(:,:) = trn(:,:,1,jpnh4)
END IF
END IF
The output from WRITE statements prove that the values have changed:
iceno3 before is: 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
31.9878976156660 31.0438701002330 31.0369201106744
31.0369205118954 31.0383482948276 31.0616767301434
31.0677629528971 31.0492132090291 31.0419920432535
31.0440657798248 31.0444710620824 31.0447721884932
31.0375292688435 31.0382076116362 31.0373801558268
31.0398029146832 31.0397625744607 31.0331636088933
31.0327651221495 31.0220553651313 31.0230092701832
31.0342232771140 31.0552545248760 31.0397772061968
31.0473470388971 31.0546418640872 31.0543800885964
iceno3 after is: 0.000000000000000E+000 6.051918107557494E-007
6.110130904164567E-007 6.165130718275732E-007 6.223610345536756E-007
6.282784081119133E-007 6.347854462720852E-007 6.416655223934390E-007
6.425374792240063E-007 6.518916947527300E-007 6.615196029420712E-007
6.710462543721832E-007 6.779537599405078E-007 6.832150836929839E-007
1.485887675109245E-002 0.101301152128998 0.192842913115538
0.288261717144609 0.410586225212846 0.567104111609461
0.750865673296165 0.954964841291094 1.17256469087027
1.39693899756850 1.62147709851657 1.83974371937518
5.90219173052099 5.72045383050733 5.52942332795475
5.33964213875681 5.16237601645325 4.98851212702143
4.79097327138552 4.58829697326475 4.38163145548577
4.17732627934004 3.98400314182262 3.81032497675204
3.66491610553454 3.57114941381793 3.59987527391656
Although this may not be the best method (i.e. IF statement if not desirable for fast computing), this is it for now.
mixed layer depth calculation based on TKE
# if x == 0: # MLD based on TKE criterion (steiner&denman 2008)
# depfull=squeeze(ncfile.variables['z'])
# tke=squeeze(ncfile.variables['tke'])
# tke1d=zeros(len(time))
# for y in range(len(time)):
# tke1d[y]=depfull[where(tke[y,:]<1e-5)[0][-1]]+0.5
# plot(time_mean,mod_mean(tke1d,dt),'w',label='MLD')
コーディングメモ
ツイッターをやめたのでまた頻繁にブロガーを更新していくことにする。ほぼ備忘録だけども。
bugabooでnemoをコンパイルすると deprecatedのどうのこうのメッセージが出てきとったけどなんかわからんかったけど
mpif90の-i4というフラッグを外したら解消された。詳細は不明。
しかしまだ以下の意味のわからんエラーが出てくる:
error #6366: The shapes of the array expressions do not conform. [ICEDMSPD]
icedmspd(ji,jj) = icedmspd(ji,jj) &
--------^
前までは問題なかったとけど、
lim_lig
lim_ice
lim_nut
をアウトプットとしようとコードを書き換えてる段階で出てきた。
bugabooでnemoをコンパイルすると deprecatedのどうのこうのメッセージが出てきとったけどなんかわからんかったけど
mpif90の-i4というフラッグを外したら解消された。詳細は不明。
しかしまだ以下の意味のわからんエラーが出てくる:
error #6366: The shapes of the array expressions do not conform. [ICEDMSPD]
icedmspd(ji,jj) = icedmspd(ji,jj) &
--------^
前までは問題なかったとけど、
lim_lig
lim_ice
lim_nut
をアウトプットとしようとコードを書き換えてる段階で出てきた。
2017年3月7日火曜日
Root canalで$2000 T_T
![]() |
Root canalの治療費負担額等。 |
右上奥から3ばん目の歯の神経が死んでしまったようなので取り除かなければいけないと診断されたんだけど、その治療費が半端ない。
$2000。。。
そして大学院生の医療保険でどれくらいカバーされるか調べてもらったところ
$0 。。。
通常、というか年間保険負担額は歯関係の治療の場合、上限$750らしく、最近その上限を超えてしまったらしい。なので来年の1月1日まで保険負担額ゼロだと。
どうしよう。ほっといたら死んでしまった神経が腐敗していって体の中に菌が入っていく可能性がある。来年まで待てば$2000の70%までカバーしてもらえるのかな。つまりおそらく$600で治療してもらえるはず。
TAで今学期稼いだ金が$2000ちょっとなのでそれが全部歯の神経に飛ばされていくぅ〜。お金はたまりませぬな。しかし健康ならいいか。
2017年2月28日火曜日
歯の神経が死んでしまったら
ビクトリアの歯内療法学専門医のところへ行ってきた。神経を抜くことを勧められた。
冷たいものに敏感だった歯がそうでなくなるのは神経が死んでしまったサイン。
死んだ神経を放置しておくのは生ゴミを放置しておくのと同じ。
どんどん腐っていく。
ほっといておくと顔が腫れる人もいるとか。
ばい菌は神経を通り抜けて体の内部に侵入できるらしい。上の歯の場合は鼻にもたどり着けるって。
http://a-kita2.com/2015/08/28/%E6%AD%AF%E3%81%AE%E7%A5%9E%E7%B5%8C%E3%81%8C%E6%AD%BB%E3%82%93%E3%81%A7%E3%81%97%E3%81%BE%E3%81%86%E3%81%A8%E3%81%AF%E3%81%84%E3%81%A3%E3%81%9F%E3%81%84%E3%81%A9%E3%81%86%E3%81%84%E3%81%86%E7%8A%B6/
治療費は20万円かかるって。保険適用でも10万はするだろうと。
日本だと神経抜くだけなら四千円(http://hanoblog.com/carious-doctors-fee-5188)ってあるけどこれが三割負担だとしても総額は1万3千円程度。かなり差があるな。
冷たいものに敏感だった歯がそうでなくなるのは神経が死んでしまったサイン。
死んだ神経を放置しておくのは生ゴミを放置しておくのと同じ。
どんどん腐っていく。
ほっといておくと顔が腫れる人もいるとか。
ばい菌は神経を通り抜けて体の内部に侵入できるらしい。上の歯の場合は鼻にもたどり着けるって。
http://a-kita2.com/2015/08/28/%E6%AD%AF%E3%81%AE%E7%A5%9E%E7%B5%8C%E3%81%8C%E6%AD%BB%E3%82%93%E3%81%A7%E3%81%97%E3%81%BE%E3%81%86%E3%81%A8%E3%81%AF%E3%81%84%E3%81%A3%E3%81%9F%E3%81%84%E3%81%A9%E3%81%86%E3%81%84%E3%81%86%E7%8A%B6/
治療費は20万円かかるって。保険適用でも10万はするだろうと。
日本だと神経抜くだけなら四千円(http://hanoblog.com/carious-doctors-fee-5188)ってあるけどこれが三割負担だとしても総額は1万3千円程度。かなり差があるな。
登録:
投稿 (Atom)