EnergyPlusのGetting Startを試してみる　その4（Exercise 1D）

# はじめに
前回の[EnergyPlusのGetting Startを試してみる　その3（Exercise 1C）](https://qiita.com/bebebefu/items/293cb4d2d605b5ea7a6d)の続きで次はEnergyPlusのGetting Started[[1]](#参考サイト)の4.2.4項にあるExercise 1Dの件をやっていきたいと思います。今回は他のシミュレーションとの結果の比較ではなくレポートの出力を主目的としてやっていきます。

# 実施環境
- CPU: CORE i7 7th Gen
- メモリ: 32GB
- OS:windows 11

# Getting Startedの4.2.4項　Exercise 1D. Annual Simulation and Predefined Reportsについて
手順がGetting Startedの4.2.4項に一つ一つ書かれているので、基本的にはそれに沿ってやっていきますが、少々省略されているところもあるので、自分なりに手順を加えつつ記載していきます。

1. EP-Launchを開く
   windows11の「スタート」＞「すべてのアプリ」のところからEP-Launchを選択して起動します。
    <img width="400" alt="EP-launch.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/da6f38d8-5003-b689-3655-6bafecf140e7.png">

1. 入力ファイルExercise1C.idfの読み込み
    EP-Launchの赤枠で囲んだBrowseを押下し、ExampleFiles⇒BasicsFilesの順にたどり、Exercise1C.idfを見つけたら開くを押して読み込みます。
    
    ![excercise_1A探し_その1_R1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/c8d32dca-bbc6-d1dd-24db-3b8f58b70286.png)

1. IDF Editorの起動
EP-Launchの赤枠で囲んだ「Edit - IDF Editor」を押します。これにより、IDF EditorでExercise1C.idfが開かれます。
注：画像は入力ファイルをExercise1A.idfにした時のものです。
    <img width="400" alt="idf_editorの起動.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/10b70a2f-1849-c083-3366-c32867895aa4.png">

1. IDF Editorの初期設定
IDF Editorで、File -> Save Options . . . を選択すると下の図で赤枠で囲んであるウィンドウが開きます。そして「Saved Order」を「Original with New at Top」に設定し、「Special Format for Some Objects」を「Yes」に設定します。また「Set as Default」ボックスにチェックを入れます。
注：画像は入力ファイルをExercise1A.idfにした時のものです。
    <img width="400" alt="Save Optionsの選択.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/93f82690-ec5a-528d-7fb6-7fa00aae0ac3.png">

    <img width="400" alt="初期設定.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/e47e27ea-ffed-eef8-30fe-3477e07ecf96.png">

1. Exercise1C.idfをExercise1D.idfとして保存
IDF Editorで、File -> Save As . . . を選択し、このファイルを**Exercise1D.idf**として保存します。

1. SimulationControlオブジェクトの編集
SimulationControlオブジェクトを編集してdesign dayシミュレーションをオフにします。まずは以下の図で赤枠で囲んだSimulationControlオブジェクトを選択します。そしてdesign dayシミュレーションをオフにするために青枠で囲んだ「Run Simulation for Sizing Periods」を「No」に設定し、天気ファイル（年間）シミュレーションをオンにするために緑枠で囲んだ「Run Simulation for Weather File Run Periods」を「Yes」に設定します。
    <img width="400" alt="SimulationControlオブジェクトの編集.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/eba01a91-84b3-c204-f9b5-6e7cbd7d3a6a.png">

1. RunPeriodオブジェクトの追加
年間シミュレーションを実行するためにRunPeriodオブジェクトを追加します。まずは以下の図で赤枠で囲んだRunPeriodオブジェクトを選択して、次に青枠で囲んだ「New Obj」をクリックすると緑枠で囲んだフィールドが追加されます。
    **このフィールドについては、間違えて「デフォルトのままにするか空白のまま」にしてしまったので、シミュレーションを実行した際にエラーになりました。** それについては[シミュレーションの実行](#シミュレーションの実行)のところで述べますので、ここではとりあえずそのままにします。
    <img width="400" alt="runperiod.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/0d62ddbf-6b59-660f-a141-b71331c34357.png">


1. レポートに出力する項目の選択
以下の図で赤枠で囲んだOutput:Table:SummaryReportsオブジェクトを選択し、次に青枠で囲んだ「New Obj」をクリックするとフィールドが追加されます。
    <img width="400" alt="Outputフィールドの追加.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/372d0642-18d2-7fb9-0250-05e221259313.png">
そのフィールドで次の4つの項目を選択して追加していきました。
    - Annual Building Utility Performance Summary（ABUPS）（Getting Startedでは"Utility"という文字が抜けています）を以下の図のように選択して追加します。
    　<img width="400" alt="annualの選択.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/0709957c-a70b-3e1e-6569-85a5f76e9d51.png">

    - Input Verification and Results Summary（IVRS）を以下の図のように選択して追加します。
    　 <img width="400" alt="Input Verification and Results Summary.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/952bcabd-a650-1dce-7828-ca621d665c9d.png">

    - Climatic data summary（Getting StartedではClimate Summaryを選択するとしていますが、選択項目にありませんでした）を以下の図のように選択して追加します。
    　 <img width="400" alt="Climatic data summary.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/44830f3d-07d6-6290-ea75-72ba0099c95d.png">

    - Envelope Summaryを以下の図のように選択して追加します。
    　 <img width="400" alt="Envelope Summary.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/e5ea44c0-6ba0-0a27-2d33-0c4a3d3df10f.png">

1. OutputControl:Table:Styleオブジェクトの追加
以下の図で赤枠で囲んだOutputControl:Table:Styleオブジェクトを選択し、次に青枠で囲んだColumnSeparatorの項目についてHTMLフォーマットを選択します。
    <img width="400" alt="HTML選択.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/d815b043-6f77-a391-6ec2-b7a982a252d3.png">

1. 既存のOutput:VariableオブジェクトとOutput:Meterオブジェクトの編集
それぞれの以下の図で赤枠で囲んだオブジェクトを選択し、レポートの頻度をHourlyからMonthlyに変更します（青枠で囲んだところ）。

    <img width="400" alt="Variableオブジェクト.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/128bfea4-1edc-7866-ccb0-a746c0b2db33.png">
      
    <img width="400" alt="Meterオブジェクト.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/c77cc35b-3639-c328-2c3f-6d291a1fac74.png">
**ここまで終わったら保存して、IDFファイルを閉じます。**

1. 天気ファイルの選択
Chicago TMY2天気ファイルを選択するとGetting Startedにはありますが、デフォルトでは選択できないようになっていましたのでここでは以下の図に赤枠で囲んだChicago TMY3天気ファイル（と思われるもの）を選択します。
    <img width="400" alt="天気ファイル.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/ca277c86-2df3-de86-501d-d7b9ebe69259.png">

# シミュレーションの実行
👆の手順を踏んでシミュレーションを実行したところ、errファイルに以下のエラーが出力されていました。
```
Program Version,EnergyPlus, Version 23.2.0-7636e6b3e9, YMD=2024.01.,
   ** Severe  ** <root>[RunPeriod] - Object contains a property that could not be validated using 'properties' or 'additionalProperties' constraints: ''.
   ** Severe  ** <root>[RunPeriod] - Object name is required and cannot be blank or whitespace
   **  Fatal  ** Errors occurred on processing input file. Preceding condition(s) cause termination.
   ...Summary of Errors that led to program termination:
   ..... Reference severe error count=2
   ..... Last severe error=<root>[RunPeriod] - Object name is required and cannot be blank or whitespace
   ************* Warning:  Node connection errors not checked - most system input has not been read (see previous warning).
   ************* Fatal error -- final processing.  Program exited before simulations began.  See previous error messages.
   ************* EnergyPlus Warmup Error Summary. During Warmup: 0 Warning; 0 Severe Errors.
   ************* EnergyPlus Sizing Error Summary. During Sizing: 0 Warning; 0 Severe Errors.
   ************* EnergyPlus Terminated--Fatal Error Detected. 0 Warning; 2 Severe Errors; Elapsed Time=00hr 00min  0.09sec
```

　その際に、直そうとしてidfファイルを開こうとしたら、誤って「simulation」を押してしまいました。**そしたら今度は特段エラーがでることもなく実行できました。** 
　そこで、上記の「RunPeriodオブジェクトの追加」のところで「デフォルトのままにするか空白のままにする」としたフィールドを確認したところ、以下のように項目が追加されていました。
　
    <img width="400" alt="項目追加.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/3cdbd459-abbf-0c11-6f92-84ec5d81fd2e.png">
      
　考えてみれば当たり前ではあるのですが、RunPeriodオブジェクトについては、エラーで空白は認められないと記載のある「Name」やシミュレーションには必須と考えられる「Begin Month」、「Begin Day of Month」、「End Month」、「End Day of Month」、「Day of Week for Start Day」などの項目設定が必要であることがわかりました。

# シミュレーションの結果の確認
シミュレーションの結果はExercise1D-Solution.csvとExercise1D-SolutionMeter.csvから確認できるととともに、EP-Launchの以下の図で赤枠で囲んだtableを選択すると
    <img width="400" alt="table.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/0bfb4c8e-27a0-fcd3-437a-eab5713d2e61.png">
以下のようにブラウザーが開き、レポートを確認することができます。
    <img width="400" alt="table画面.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581920/6f020d1b-b8b9-0244-9172-fd6ccb7cc9e2.png">


# まとめ
Getting Started[[1]](#参考サイト)の4.2.4項「Annual Simulation and Predefined Reports」の手順を追って、今回の主目的であるレポートの出力ができました。次回は6章のExerciseを実施することを予定しています。

# 参考サイト
[1][EnergyPlusのGetting Start](https://energyplus.net/documentation)