TRNSYSで日単位で平均、最低、最高気温を計算する
2018/11/21 追記 日平均、月平均のサンプルを作成、公開しました。
https://github.com/TRNSYSJP/TRNSYS.JP/tree/master/TRNSYS18/MyProjects/Type155_DailyAndMonthlyAve
社内的なリクエストでタイトルのような処理を考えてみました。(何のために要るのかはよく分かっていないんだが。。。)
さてと、計算結果を出力すると、通常は図のようにタイムステップごとに結果が出力されます。(タイムステップ1hの例)
このような時系列のデータから、日平均を計算するにはExcelなどを使って処理することになります。でも、何度も繰り返して計算する場合、Excelで計算を繰り返するのはとても手間が掛ります。
幸いなことに、TRNSYSには標準で積算や平均値を計算する便利なコンポーネント、Type55が用意されています。今回は、このコンポーネントを使って日平均、最低、最高気温を計算してみます。
用意する物
- Type99-AMeDAS
- Type55 Periodic Integrator
- Type25a
Type99-AMeDAS
気温のデータが必要なので、気象データリーダーを用意します。今回は拡張アメダス気象データ(拡張AMeDAS、EA気象データ)用にType99-AMeDASを使いましたが、気温のデータが出力できるコンポーネントであれば何でもOKです。
Type55 Periodic Integrator
期間を指定可能な積分コンポーネント。任意の時間間隔で平均や最高、最低値を出力してくれる便利なコンポーネントです。
Type25a
ファイル出力用。
プロジェクトの作成例
必要最小限の構成のでシンプルなプロジェクトになります。一つ一つコンポーネントの設定を見ていきましょう。
Type99-AMeDAS
デフォルトのままで変更なし。
Type55 Periodic Integrator
日単位(24h間隔)で処理するため何カ所か設定を変更します。
- 気温を扱うので積分ではなく合計値処理を指定(-1)
- 気象データの開始(1:00)に合せて相対開始時刻を0hへ変更
- 集計する間隔を24hへ設定
- 平均、最高、最低値をリセットする間隔を24hへ設定
Type25
Excelで扱いやすくするため、ファイルの区切り文字をカンマ”,”へ変更。
ファイルの拡張子もExcelで扱いやすいように”.csv”へ変更しておきます。
コンポーネントの接続
Type99-AMeDAS → Type25c
Type99-AMeDAS → Type55 Periodic Integrator
Type55 Periodic Integrator → Type25c
動作確認のためすべての出力を接続する。
出力結果
計算を実行して書き出した結果が下の図です。一日分のデータを抜きして、重要な項目を塗りつぶしています。
- 集計範囲(24h)
- 合計値
- 平均値
- 最低値と発生時刻
- 最高値と発生時刻24時間の範囲で平均、最低、最高の値が出力されているのが確認できます。
Type25で一工夫
さて、欲しい値が書き出されているのは確認できました。でも、これだと毎時間ごとの値も出力されているので、少々見にくい状態です。日単位の値が欲しいので、次はType25の機能を使って必要な値のみを抜き出す処理を追加します。変更箇所は一箇所だけ、Printing intervalの設定をデフォルトの「STEP」から「24」へ変更します。
再度実行してCSVファイルを開くと、下の図のように24h間隔で値が書き出されるようになりました。必要なデータだけまとまっています。タイムステップごとの出力に比べて大分すっきりしました。こういった一工夫で計算の作業がぐっと楽になります。
動作環境
以下の環境で動作を確認しています。
Windows10 Pro(64bit, 1803)
TRNSYS18.00.0019(64bit)