iRICのプロジェクトの保存形式と扱われ方について

# はじめに

iRICでプロジェクトを保存する際に以下のようなダイアログがでますよね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626673/fc5d052c-e8d5-48fc-8a21-03f36460f39a.png)

「ファイルに保存(*.ipro)」を選択すると、iproというiRIC独自の拡張子のファイル一つにプロジェクトの情報が保存され、「プロジェクトとして保存」を選択すると指定したフォルダにプロジェクトのデータ群が保存されます。

※後者の指定したフォルダのことを、この記事ではプロジェクトフォルダと呼びます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626673/a571b920-69ab-4cb5-9868-607761c9f691.png)


iRICではこのように2つの保存形態があるのですが、今回はこの保存形態による違いを整理しました。

# ざっくりまとめ

まず、この2つの保存形態で保存される内容については差異はありません。
ただしプロジェクトを開いた際のデータの扱われ方が少し異なります。

そして最初に覚えておいて欲しいのは「**iproファイルはプロジェクトフォルダをzip形式で圧縮したもの**」ということです。

iproファイルを解凍ツールで解凍すればプロジェクトフォルダとして使用できますし、逆にプロジェクトフォルダをzip形式で圧縮して拡張子を`ipro`に書き換えればiproファイルとして扱うことができます。

プロジェクトとして保存したものと、ipro形式で保存したものの中を比較しても以下のように同じということがわかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626673/ea7d71d1-fbd1-416a-b03d-816aa953595a.png)



# ipro形式で保存した場合について
## プロジェクトの保存方法

iRICのプロジェクトで使用される複数のファイルが保存されたプロジェクトフォルダをzip形式で圧縮したiproという独自拡張子のファイルで保存されます。

![iconiRICFile.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626673/2e3dfd4a-d96e-4fb2-ac4c-150c1afea0b3.png)



### メリット

* 1つのファイルにすべてまとまっているので、他人と共有したりが容易です
* 圧縮されているのでディスク容量を節約できます

### デメリット

* 圧縮されているので、EvaTRiP ProやGELATOなどで計算結果を直接読み込むことができません
* 中のファイルを個別に確認したい際に解凍をする必要があります

## プロジェクトの開き方

iproファイル形式で保存した場合のプロジェクトの開き方は以下です。
iricにファイルが関連付けされていればiproファイルのダブルクリックで開けるので楽です。

* iproファイルをダブルクリック[^1]
* iRICのスタートページから「プロジェクトファイルを開く」を押してiproファイルを選択
* 「ファイル」メニューの「開く」からiproファイルを選択

## 開かれたプロジェクトの扱われ方
プロジェクトを開くと、開いたiproファイルの中身がiRICの作業ディレクトリ内に一度全てコピーされ、iRIC上での操作やソルバーによる計算結果の書き込みなどは一度作業ディレクトリ内のファイルに対して行われます。

iRIC上でプロジェクトの保存を実行すると、作業ディレクトリ内のファイルを圧縮し開いたiproに対して上書きを行います。

なお、作業ディレクトリはデフォルトでは`C:\Users\User\.iRIC_workspace`です。

### メリット
* ipro形式は保存さえしなければ開いたiproは元の状態のままなので、意図せぬファイルの上書きに対しては安全です
* ソルバー実行中にエラーで異常終了しても実行前の状態から始められます
* 作業ディレクトリ内に一時的なプロジェクトフォルダを作成し、そこで作業を行うのでiproファイルの名前に日本語を使用できます

### デメリット
* iproを開く際に作業ディレクトリへ一度コピーを行うので、データサイズの大きいプロジェクトの場合は開くのに時間がかかります
* プロジェクトのデータサイズが非常に大きい場合や、計算結果を分割保存する場合でファイルの数が多くなると、データをzip形式で圧縮する際にエラーが発生しプロジェクトを保存できない場合があります

# プロジェクトとして保存
## プロジェクトの保存方法
プロジェクトとして保存を行うと、指定したフォルダにプロジェクトに関するファイル一式が保存されます。
このプロジェクトフォルダが一つのプロジェクトとして保存されます。

### メリット
* 個別のファイルにアクセスがしやすいです
    →iRICに慣れてくるとプロジェクトの定義ファイル等を直接開いて確認したりするので、すぐに目的のファイルを開けると便利です
* EvaTRiP ProやGELATO等のソルバーで計算結果を読み込むことができます
* ファイルのサイズや数が大きくても大丈夫

### デメリット
* 圧縮していないのでファイルサイズは大きくなりがち
* 構成を知らないと何がどのファイルかわからない
* データの受け渡しは少し手間が増える

## プロジェクトの開き方

* iRICのスタートページから「プロジェクトファイルを開く」を押して、プロジェクトフォルダ内の`project.xml`を選択
* 「ファイル」メニューの「開く」からプロジェクトフォルダ内の`project.xml`を選択

## 開かれたプロジェクトの扱われ方

iRICの作業ディレクトリへのコピーは行われず、直接プロジェクトフォルダ内のファイルがiRIC GUIに読み込まれます。
ソルバーも直接プロジェクトフォルダ内のファイルを読み込み・書き込みします。

### メリット
* ファイルを直接編集するのでシンプルです
* ファイルのコピーが行われないので比較的プロジェクトを開いたり保存するのが早いです

### デメリット
* フォルダ名やパスに日本語が含まれているとエラーがおきます
* ソルバーを実行するとファイルが直接更新されるので、ソルバーの異常終了により計算結果が壊れることがあります（ただし、最近はバックアップ機能で計算実行前の状態に戻れる）

# まとめ

* iproはプロジェクトフォルダを圧縮したもの
* iproを解凍すればプロジェクトフォルダとして扱える、ぎゃくもかのう
* 保存形式によって少し扱いが異なる
* 大規模な計算ではなく、EvaTRiP ProやGELATOで使用しないのならiproが便利です
* データ容量が大きくなる場合や計算結果を分割して保存する場合、プロジェクトとして保存がベター
* EvaTRiP ProやGELATOで使用したいのならプロジェクトとして保存が必須

### ipro形式で保存するメリット
* ダブルクリックでプロジェクトを開けるから便利
* 1つのファイルにすべてまとまっているので、他人と共有したりが容易
* 圧縮されているのでディスク容量を節約できる
* ファイル名、パスに日本語が使用できる
* ソルバーの異常終了に強い

### ipro形式で保存するデメリット
* EvaTRiP ProやGELATOなどで計算結果を読み込めない
* ファイルの中身を個別に確認したい際に手間がかかる
* プロジェクトを開く、保存する際にコピーと圧縮があるため比較的時間がかかる
* プロジェクトのデータサイズが非常に大きい場合や、計算結果を分割保存する場合でファイルの数が多くなると、データをzip形式で圧縮する際にエラーが発生しプロジェクトを保存できない場合がある

### プロジェクトとして保存するメリット
* 個別のファイルにアクセスがしやすい
* EvaTRiP ProやGELATO等のソルバーで計算結果を読み込める
* ファイルのサイズや数が大きいプロジェクトでも対応可能
* ファイルを直接編集するのでシンプル
* ファイルのコピーが行われないので比較的プロジェクトを開いたり保存するのが早い

### プロジェクトとして保存するデメリット
* フォルダ名、パスに日本語を使用できない
* 圧縮していないのでファイルサイズは大きくなりがち
* 構成を知らないと何がどのファイルかわからない
* データの受け渡しは少し手間が増える
* ソルバーを実行時にファイルが直接更新されるので、ソルバーの異常終了により計算結果が壊れる可能性がある（最近はバックアップ機能で計算実行前の状態に戻れるのでそこまで問題ではない）

[^1]:ファイルの関連付けが必要です。関連付けの方法は[こちら](https://qiita.com/starfieldKt/items/96e460e08c8e46eb2d95)