科学

2022/03/12

Refsort/Ruby v3.71 released

辞書参照型ソーティング・フィルタ Refsort/Ruby (新しいほうから *1 *2 *3 *5 *5)の改訂版 v3.71 をリリースしました.今回の改訂は先月リリースした v3.70 に残っていたロジックの不備を補うもので,機能的な変更はありません.

前回の改訂でコマンドライン・オプション "-E, --encoding" を導入しましたが,BOM によるエンコーディング設定との整合性が十分に取れておらず,エンコーディングの優先順位が混乱していました.今回の改訂はその優先順位を整理し,それに基づいて警告文を出す条件と文言を改めたものです.改めて書くと,エンコーディングの優先順位は

BOM > 埋め込みオプション > コマンドライン・オプション > ロケール

となります.辞書ファイルや入力ファイルで BOM が検出されれば,それに従ってエンコーディングが(実質的には UTF-8 に)設定されます.BOM がない場合,埋め込みオプションがあればそのエンコーディングが使用され,埋め込みオプションも無くてコマンドライン・オプションがあればそれが使用され,エンコーディングに関するオプションが何も指定されていなければデフォルトのロケールが使用されるということになります.

新設したコマンドライン・オプションは,辞書ファイルと入力ファイルの両方に有効な “共通エンコーディング” という概念を作ります.すると,辞書ファイルと入力ファイルが同じエンコーディング(ロケールと異なっていてもかまいません)で書かれてさえいれば,コマンドライン・オプションを付けて実行するだけで,自動的に入力ファイルと辞書ファイルの両方にそのエンコーディングが設定されます.このとき,辞書ファイルに埋め込みオプションが書かれていれば,優先順位によって共通エンコーディングは上書きされますが,それがコマンドライン・オプションと同じであれば問題は生じません.

エンコーディングをどのような手段で指定しようとも,辞書ファイルと入力ファイルのエンコーディングは同一でなければなりません.これが一致していなければ Refsort はエラーを吐いて停止します.従ってユーザーは自分がどのエンコーディングを選択しているのか,よく意識する必要があります.これはロケールの中だけの世界では注意する必要が無かったことです.

Refsort/Ruby とそれに関するコンテンツのアーカイブを Microsoft One Drive に置いています.画面右側コラムの Archive の中の Refsort/Ruby Archive をクリックしていただくと,私の OneDrive 上に設けたライブラリが開きますので,そこから過去分も含めてファイルをダウンロードすることができます. Refsort 本体の refsort.rb は refsort_v371.rb というファイル名でアップロードされていますので,ダウンロード後に refsort.rb に変更するとよいでしょう.改行コードも CR/LF になっていますので,適宜変更してお使いください.エンコーディングは US-ASCII ですので,そのままでよいでしょう.ユーザーズガイドも若干改訂されています.

| | | コメント (0)

2022/02/23

冬のスズメは群れる

ここ数日間は寒気の吹き出しで北西風が強く,雪国は豪雪で大変なことになっています.日本海には長大な距離を直線状に積乱雲が連なり,いわゆる線状収束帯を作って雷の放電が頻繁に起こります.そのとき光核反応が起こり,電子の対生成対消滅が起きているそうです.これは本当に驚きですね.雷様ってすごい!金沢市内では各所に小型の観測装置を置いて観測が行われています.

Lightningg5b4363fa6_1280

Pixabayより転載

当地でも西風が強いのですが,今日はスズメが田んぼの際でたくさん群れていました.スズメは留鳥と思われがちですが,意外と長距離を移動しているようで,特に冬にはどこからともなく集まってきて,数百羽程度の群れを作って行動しています.

Winteraroundhome_feb2022_0267m

どういうわけか今日は彼らに落ち着きがなく,枯れたヨシやガマの茎に止まっていたかと思うと一斉に飛び立って別の繁みに移動することを繰り返していました.近くに数羽のモズがいたので,狙われているとでも思ったのでしょうか?

Winteraroundhome_feb2022_0268m

| | | コメント (0)

2022/02/10

Refsort/Ruby v3.70 released

辞書参照型ソーティング・フィルタ Refsort/Ruby (新しいほうから *1 *2 *3 *4 *5)の改訂版 v3.70 をリリースしました.今回の改訂では,辞書ファイルや入力ファイルのエンコーディングを指定するコマンドラインオプションを新設しました.意味的にやや大きな改訂なので,サブバージョンを 0.1 上げて v3.70 としました.

少し詳しく説明します.Refsort はその生い立ちからコマンドプロンプトでの操作とフィルタとしての機能を基本にしているため,ロケール以外のエンコーディングを扱うことは例外とし,その場合には辞書ファイルや入力ファイルの先頭に埋め込みオプションでエンコーディングを指定することにしていました.

しかし Windows において Windows-31JShift_JIS だけでなく UTF-8 も広く使われるようになり,Excel のワークシートから直接 UTF-8 の CSV ファイルを書き出せるようにもなって,ロケールを前提にすることに無理が生じてきました.そこで扱うファイルのエンコーディングをコマンドラインオプションで指定できるようにしました.オプションの書式は “-E encoding” または “--encoding encoding” です.“encoding” に与える文字列としては,Windows-31J,Shift_JIS,UTF-8,EUC-JP などの ASCII 互換エンコーディングが可能です.

エンコーディングを指定する複数の手段の間の優先順位は,

埋め込みオプション > コマンドラインオプション > ロケール

となります.つまりロケールが何であろうと埋め込みオプションがあればそれが使用され,埋め込みオプションが無くてコマンドラインオプションがあればそれが使用され,エンコーディングに関するオプションが何も指定されていなければデフォルトのロケールが使用されるということになります.

今回の改訂によるメリットは,例えば Windows 上では,従来 UTF-8 のファイルを使うにはわざわざファイルの先頭に埋め込みオプションを書かなければならなかったのに対して,今後はコマンドラインオプションで “-E UTF-8” と指定するだけでよく,扱うファイルに破壊的変更を加える必要がなくなったということです.これは運用上大きなメリットになると期待しています.従来の手法もそのまま残してあり,今回の改訂が上位互換となる建て付けなので,移行は円滑にできるはずです.

ただし辞書ファイルに関しては従来通り埋め込みオプションを書くことを推奨します.なぜならばユーザーにエンコーディングの選択を意識させずに済むからです.

また従来と同じく,エンコーディングをどのような手段で指定しようとも,辞書ファイルと入力ファイルのエンコーディングは同一でなければなりません.これが一致していなければ Refsort はエラーを吐いて停止します.ユーザーは自分がどのエンコーディングを選択しているのか,よく意識する必要があります.

Refsort/Ruby とそれに関するコンテンツのアーカイブを Microsoft One Drive に置いています.画面右側コラムの Archive の中の Refsort/Ruby Archive をクリックしていただくと,私の OneDrive 上に設けたライブラリが開きますので,そこから過去分も含めてファイルをダウンロードすることができます. Refsort 本体の refsort.rb は refsort_v370.rb というファイル名でアップロードされていますので,ダウンロード後に refsort.rb に変更するとよいでしょう.改行コードも CR/LF になっていますので,適宜変更してお使いください.エンコーディングは US-ASCII ですので,そのままでよいでしょう.ユーザーズガイドも若干改訂されています.

| | | コメント (0)

2022/01/27

Emberiza personata だよ

今月のこの記事この記事アオジの学名の変更とそれに伴う和名の取り扱いについてポストしましたが,今日の散歩ではその改訂なった Emberiza personata を間近で見ることができました.

Winteraroundhome_jan2022_0493m

今回の改訂では Emberiza personataモノタイプ(単型)とされたので亜種も基亜種もありません.ひょっとして西日本では Emberiza spodocephala (シベリアアオジ)の基亜種である E. s. spodocephala (亜種シベリアアオジ)が見られるかもしれません.

| | | コメント (0)

2022/01/21

IOC List v12.1 released

IOC World Bird List v12.1 が 2022 年 1 月 20 日にリリースされました.これは 2022 年 1 回目のリリースです.前回 v11.2 のリリースが 2021 年 7 月 20 日だったので,ちょうど 6 か月の更新間隔,新たな編集長 Pamela Rasmussen に代わってから 4 回目のリリースということになります.

今回収録されたのはが 44 ,が 253,が 2,376 ,が 11,088 (うち絶滅種が 160 ),亜種が 19,883 です.

今回の改訂は前回 v11.2 と比べると大変静かでおとなしい内容になっています.例によって日本のバーダー向けに重要と思われる変更点を書いておきますが,今回は 2 点のみです.

  1. 日本で見られるアオジは従来は Emberiza spodocephala (Black-faced Bunting) の亜種 E. s. personata 亜種アオジ とされてきましたが,これが種に昇格し E. personata (Masked Bunting) となりました.これに伴い,E. personata の和名をアオジと再定義し,亜種アオジを抹消しました.また E. s. personata が出て行った残りの E. spodocephala の和名は,その基亜種 E. s. spodocephala 亜種シベリアアオジがそのまま残されているため,シベリアアオジとしました.
  2. 絶滅したとされ,長らく標本の真正性が疑われていた Todiramphus cinnamominus miyakoensis 亜種ミヤコショウビン (Kuroda, Nagamichi, 1919) が抹消されました.これについては Wikipedia のこの記事が参考になります.

今回は英名の変更が多かったのですが,日本のバーダーにとっては影響はわずかでしょう.一方,種小名のラテン語の性による語尾変化の訂正はごくわずかでした.


IOC 本家の Master List(学名と英名を収録した Excel ファイル)を編集して,Refsort/Ruby 用の辞書ファイル(拡張子が .ref のテキストファイル)を作りましたので,Microsoft One Drive 上に設けた “IOC List Archive„ にアップロードしました.

エンコーディングは UTF-8US-ASCII の2種類です.正版は UTF-8 版で US-ASCII 版は簡易版ですが,詳細についてはユーザーズガイドをご覧ください.


このオリジナル版の辞書ファイルと併せて,全ての掲載種に和名をつけた辞書ファイル 2 種と,IOC Master List の和名追加版(Excel ファイル)も同時にリリースしました.和名追加辞書についても,UTF-8 でエンコードしてあるものが正版ですが,Windows などでの使い勝手を考慮して Windows-31J でエンコードしたものも同時にアップしてあります.詳細についてはユーザーズガイドをご覧ください.

単に種名を調べるためだけであれば,和名追加版の Master List(Excel ファイル)が最も便利です.ただし長大なワークシートなので,目的の名前をスクロールして探すのは非効率です.検索メニューからジャンプするのが良いでしょう.


これらのファイルは前述のとおり,Microsoft One Drive 上に設けた IOC List 専用のフォルダからダウンロードできます.それには,このブログ右側のコラムの最上段の Archive の中の IOC List Archive をクリックしてください.そうすると One Drive のフォルダに入ることができますので,あとは適当に選んでダウンロードしてください.


I am pleased to announce that I have posted reference files for Refsort/Ruby compiled directly from the latest IOC World Bird List v12.1. It contains 44 Orders, 253 Families, 2376 Genera, 11,088 species including 160 extinct ones, and 19,883 subspecies, respectively. Please try it out, and enjoy its capability and speed.

Note that the reference file "ioclist_v121u.ref" is encoded in UTF-8 in order to retain all European accents and umlauts with complete fidelity as they are in the IOC Master List. Therefore, your input file should be encoded in UTF-8 as well, and should contain a magic comment on the top of the file such as;

#!E -*- coding: UTF-8 -*-

For those who want to use Refsort/Ruby in universal ASCII environments, I have posted another reference file "ioclist_v121a.ref" encoded in pure US-ASCII. Note that characters with accents and umlauts have been simplified to their nearest neighbors. So please be careful in particular when you refer to authorities of species.

I have also posted two different reference files "ioclist_v121ju.ref" and "ioclist_v121jw.ref" (encoded in UTF-8 and Windows-31J, respectively) which include Japanese names for all species. If you want to know Japanese names, please refer to those files.

In order to sort a list properly using these reference files, you need to align the encoding of the input file to that of the reference file, and you should add a magic comment specifying the encoding in the first line of these files, such as UTF-8, US-ASCII or Windows-31J. You can skip this process if your iput file is encoded in the default encoding of your platform, e.g., US-ASCII or Windows-31J for Windows, UTF-8 for macOS or Linux.

A master list in Excel format containing a column of Japanese names has been posted as well. This would be most convenient for quick reference.

You can download an appropriate file from my area of Microsoft One Drive by clicking "IOC List Archive". Enjoy, and bon appétit.

| | | コメント (0)

2022/01/16

Emberiza spodocephala の和名?

年に 2 回の改訂を行っている世界鳥類目録 IOC World Bird List の 2022 年第 1 回目のドラフトが公開されましたので,早速内容を精査しているのですが,和名の扱いで困ったことが起きています.

Emberiza_spodocephala

by Takashi Yanagisawa with Pixabay

アオジです.今日も散歩の途中で見てきたばかりです.従来は Emberiza spodocephala (Black-faced Bunting) が種としてのアオジ,亜種 E. s. personata が日本で見られるアオジでした.ところが IOC は今回の改訂 v12.1 で,この亜種を種として独立させ, E. pesonata (Masked Bunting) としたのです.

ということは,少なくとも日本においては E. personata を種としてのアオジにしたいのですが,そうするとこの personata が出て行った残りの E. spodocephala の和名をどうするのかが問題です.アマサギの場合同様,これまでにも同様の事例が多数出てきていて,そのたびに頭を悩ませている構図の一つです.

E. spodocephala の和名を暫定的にタイリクアオジにしようと思いますが,いかがでしょうか?

| | | コメント (1)

2022/01/15

トンガの海底火山が大規模噴火

すでにニュースで報道されていますが,トンガの海底火山 Hunga Tonga が大規模な爆発を起こしました.下は気象衛星ひまわり 8 号の日本時間 14 時 20 分の画像です.この前後の画像を連続して見ると,衝撃波のようなものが広がっているのも見えます.ひまわり 8 号の高解像度画像はこういうときにも威力を発揮するのですね.おそらく世界各所で空振を観測できたことでしょう.

Eruption_hungatonga

提供:情報通信研究機構 (NICT)

トンガ周辺のプレート構造は,インド・オーストラリアプレート太平洋プレートが東側から潜り込んでいるそうなので,そのプレート境界で火山活動が起きていると思われます.日本の東北地方と似た構造です.

とりあえず日本には津波は来ないようですが,本当に心配すべきは火山灰による気象への影響です.今回の噴煙は成層圏にまで達したという報道があります.すると火山灰は長期間成層圏に滞留し地表への日射を弱めます.現在南半球は真夏ですが,これから冷夏になりはしないか?あるいは火山灰が北半球にも広がって,今年の夏季がいつもと違ったものにになるのではないか?今後の注意深い観測と予測が必要です.

| | | コメント (1)

緊急着陸して滑走路を外れたB2

昨日の記事にコメントとして書きましたが,面白いので改めてスレッドを立てます.Google Earth にはこういうものもばっちり写っているのです.

2021 年 9 月 15 日,訓練飛行中に不具合が生じて緊急着陸した B2 です.火災や乗務員の怪我は無かったとのこと.事故を伝える米軍の広報誌の記事はこちら

B2_off_the_runway

上は私がピンを立てた画像で,この日付と場所の kmz をここに(ダウンロード - b220off20the20runway.kmz)アップしておきます.

緊急着陸時になぜ滑走路を外れたのかは不明です.昨日の記事のコメントには乗務員が射出した可能性を書きましたが,この画像を見る限りは射出はしていない模様.しかし,滑走路のタイヤ跡を見るとわかりますが,途中から滑走路を外れています.滑走路を塞がないように意図してタクシーしたものか?エンジン排気口の周囲が白く見えるのは,やはり予防的に消火剤をかけたからではないでしょうか?

こういうタイミングでちょうど衛星が真上に来ていたというのも実に面白いです.Street View では誰それさんの奥さんがごみを出しているところが写っていた,なんていうのがありましたが.

| | | コメント (1)

2022/01/14

B2ステルス爆撃機が丸見え

今日は野鳥ではなくて軍用機の話.

よくまあこんなものを探し出したと思うのですが,Google Earth の衛星写真に,訓練中かフェリー中かわかりませんが,アメリカ空軍のステルス戦略爆撃機 B2 が写り込んでいるのが発見されました.アメリカの Web サイト MilitaryTimesこの記事をご覧ください.

思わずへー?と思って自分で Google Earth で探してみたのですが,比較的簡単に見つかりました.衛星画像取得日は 2016 年 5 月 6 日です.私がピンを立てた画像を以下に示します.Missouri 州中部の広大な農場地帯の中を横切っています.衛星のカメラは三原色の画像を別々に撮影して合成するので,高速で動く物体はこのようにずれて写るようです.

B2_stealth_bomber

非常に高価な爆撃機で,これまで 21 機しか生産されていません.アメリカ空軍の虎の子中の虎の子です.初飛行は意外と古くて 1989 年.もう 30 年以上前です.形態は特異な全翼機なので,航空ファンなら誰でも知っているでしょうが,実物を見たことがある人は少ないでしょう.無尾翼なのでヨー安定性を取るために,両翼端にドラッグ・ラダーを装備して,巡行時はそれでヨー安定性を得ているそうです.ちょっと不格好だし燃費が悪くなります.しかしステルス性能が必要な時にはドラッグ・ラダーを閉じ,左右のエンジンの推力制御でヨー安定を得ているのだとか.ステルスって大変ですね.

この爆撃機の母港は Missouri 州の Whiteman (KSZL) にあるので,この辺りではよく見られるのかもしれません.初実戦は 1999 年のコソボ紛争.このときは Whiteman から離陸し,途中空中給油を受けながらバルカン半島まで往復 2 泊 3 日の無着陸ミッションを行っています.これを初めて聞いた時には,これぞ現代戦なのだなと思いましたが,ベオグラードの中国大使館を誤爆したこともエピソードの一つ.

Google Earth に UFO が写っていたら面白いのに.

| | | コメント (2)

2022/01/10

Refsort/Ruby v3.64 released

辞書参照型ソーティング・フィルタ Refsort/Ruby (新しいほうから *1 *2 *3 *4 *5)の改訂版 v3.64 をリリースしました.今回の改訂はタブ区切りテキストを読み込んだ場合の処理に見つかったバグの修正が主で,仕様や機能の変更はありません.

少し詳しく説明します.辞書ファイルがタブで区切られて次のようになっていたとします.

#!R "\t"
<tab>abc<tab>def<tab>ghi<tab>

ここで<tab>はタブコードを表します.これは埋め込みオプションによってタブがフィールド区切り記号に指定されているので,このレコードをフィールドに分割すると

{} {abc} {def} {ghi} {}

とならなければなりません.ところが Refsort v3.63 以前では

{abc} {def} {ghi}

と認識されていました.タブを区切り記号として空白と区別していなかったために生じたものです.これはかなり重大なバグで,表計算のワークシートからコピーしてきたデータを使えば簡単に出くわすはずなのですが,私のこれまでの使用例では発覚しなかったものです.このバグを修正したのが v3.64 です.

一方,これに合わせて Refsort on Excel も改訂しなければならなくなったのですが,こちらは見かけ上の仕様変更があります.これまで先頭のカラムがコメント記号 "#" で始まる場合には,そのレコード全体をコメント行として無視していたのですが,今後はどの "#" で始まるカラムもフィールドと見なし,辞書ファイルとの照合を試みます.これは Excel のワークシートからデータを読み込んだ際に Refsort 内部で例外が発生し処理が止まってしまうことを防ぐためです.もちろん照合には失敗するのでミニコンソールには "Not found ... " とメッセージが出ますが,これは単に無視すればよいだけです.新しい Refsort on Excel v2.41 からはこのように仕様が変更されていますのでご注意ください.

Refsort/Ruby とそれに関するコンテンツのアーカイブを Microsoft One Drive に置いています.画面右側コラムの "Archive" の中の "Refsort/Ruby Archive" をクリックしていただくと,私の OneDrive 上に設けたライブラリが開きますので,そこから過去分も含めてファイルをダウンロードすることができます. Refsort 本体の "refsort.rb" は "refsort_v364.rb" というファイル名でアップロードされていますので,ダウンロード後に適宜 "refsort.rb" に変更するとよいでしょう.改行コードも CR/LF になっていますので,適宜変更してお使いください.

来週くらいには IOC List の改訂版 v12.1 がリリースされるはずなので,その後すみやかにそれに準拠した辞書ファイルやユーザーズガイドをまとめてリリースしたいと思います.ドキュメント類はそれまでお待ちください.

| | | コメント (1)

より以前の記事一覧