見出し画像

天気図自動作成システムの実行環境をWSL2に変更する

はじめに

これまで天気図作成システムにはHyper-V上のLinux Mintを使っていた。

天気図作成に特に問題があるわけではないが、Pythonコードを実行させるだけにもかかわらず、フルスペックのLinuxを使っていることを冗長に感じていた。

そのため以前から他の環境に移行できないか検討を続けていた。

移行先の検討

移行先の候補として、下記の3つの案を検討した。

案1) Dockerで構築する
案2) Windows上に構築する
案3) WSL(Windows Subsystem for Linux )上に構築する

また、移行先には下記の要件を満たすことを必要とした。

要件1) WindowsにサインインすることなくPythonコードを実行できること
要件2) レーダーGPVが作成できること

要件2はpygribがレーダーGPVを読み込むことができず、wgrib2というLinux上で動作するコマンドラインツールを使う必要があるための要件である。

案1については、天気図を作成することはできた。ただ、調べていくと現状ではWindowsにサインインすることなく、Docker Desktop for Windowsを起動することができず、要件1を満たせないことがわかった。

また、案2についてはwgrib2をWindows上で動かせず(※)、要件2を満たすための回避方法が現状では見つけられなかった。

※  正確には、Windows上で動作するwgrib2が公開されていた。ただ、CygwinのDLLを含む形となっていて、方式的に邪道な気がして受け入れたくなかった。

最終的にWSLへ移行することを決めた。

WSLで使う上での設定

WSLを使う上で一つだけ設定が必要だった。これまでcronでPythonコードを実行させているのだが、WSLでも同様にしたい。ただ、WSL起動時にcronのデーモンが起動しないらしい。

そのためタスクスケジューラを使ってWindows起動時にWSLのcronを起動することにした。

全体のシステムのシーケンスは下記のようになる。

天気図作成システム・シーケンス

これにより特に問題もなく天気図を作ることができ、無事環境を移行することができた。

さいごに

これまで本物のLinuxな感じがしなかったのでWSLは使ってこなかった。ただ、使ってみると本物のLinuxだし、特に違和感もなく使うことができた。いつもコマンドラインで使うことしかないので不便に感じることもない。

ただ、移行により日常的に使えるLinux環境がRaspberry Piだけになった。これまでLinux Mintを使っていたことで、Linuxのいろいろな情報を取得するいいきっかけになっていただけに、Linuxの知識の維持という面では物足りない気がしなくもない。

よろしければ、サポートをお願いします。 より多くの方に役立つnoteを書けるよう頑張ります!!