メール蛇島伸吾     (前頁)<<      >>(次頁)          (Up)

2章 海洋物質循環(CO2吸収)と海洋開発経済モデル作成のための準備知識
2.2 要素モデル開発環境の整備



1)CommonMPは、マイクロソフト社のVisual C#(最初は2008) で開発されました。現在(2022年5月時点)は、C#の開発環境として、Visual Studio Community を用います。 そこで、Visual Studio Community 2019 以降をインストールして下さい。この際、C#も一緒にインストールして下さい。
  (このホームページでは、Microsoft Visual Studio Community 2019 を使用しています。Microsoft Visual Studio Community 2022 でもOK:2022年7月現在)

2)次に、CommonMPのホームページからダウンロードしてきたCommonMPソースを解凍し、適当なフォルダーを作成して配置します。
  
 
  
     図2.2.1 ソース内のフォルダー配置

 図2.2.1において
     「CommonMPData」は、CommonMPで作成した時のモデル等を配置するフォルダーです。
     「Excecute」は、プログラム実行体、CommonMPを動作させるための各種設定ファイル等が入っています。
     「Souce」はCommonMP本体、及び 自作するモデルを開発するための環境が入っています。
     「SySDeveloper」は、「Utility」は、特に要素モデル開発には関係しません。

 ここで、「Source」フォルダを開き、内部の「ディレクトリ構成.txt」を開くと、ソース下の詳細なフォルダー配置が説明されています。
 CommonMPは、システムの構造を 「Model-View-Control」に分けてそれぞれが疎な結合をで接続される様に設計されています。
 ソース内の「HYSSOP」は、上記「MVC」の考え方をCommonMPのソフトウエアフレームワークとして実現しています。
 次に、「HYMCO」は、「全体モデル」を「要素モデル」に分割し、それらを結合して作成するという概念で制作されたモデル(=:OHYMOS の論理を基盤として作成している)を実現するためのソースを配置します。
 海洋関連モデルはこの「HYMCO」内で開発します。

 実際には、「ディレクトリ構成.txt」に記述されているフォルダの


ディレクトリ配置
  「HYMCO」 ・・・・  演算制御部 ソース
   
      「Interface」                ・・・・ I/F or 抽象化クラス
      「CoreImpl」                ・・・・ 処理実装コア部
      「CoreOptions」            ・・・・ 入れ替え可能コンポーネント実装部
      「CUI」                       ・・・・ CUI版メインプログラム
      「PublicModelElement」   ・・・・ 公開要素モデル(開放)
      「OptionImpl」             ・・・・ ユーザー開発要素モデルソース及びテスト用メイン(開放)
      「AddInSysOptions」      ・・・・ 計算制御を利用したオプション機能開発環境(開放)
      「OcenDebugMain」 ・・・・ 海洋向け要素モデル開発時のCommonMPディバッグ環境です。
       「Ocean」  ← ●此処に海洋向け要素モデルを開発フォルダを作成する●



の 赤色で示したフォルダ「Ocean」を作成して、この中で海洋向けの要素モデルの開発を行います。

 さて、CommonMPのプロジェクトファイルは Visual C# 2013 等の古い VisualStudioで作成されており、このままでは Microsoft Visual Studio Community 2019(以降 MS-VS2019と記述) を用いた開発ができません。そこで、関連するプロジェクトを全て MS-VS2019に変換しました。
 このソースは、此処からダウンロードできます。(但し、海洋モデル開発に必要と思われる部分のみを変換)
     ↓
  CommonMP MS-VS2019版   
 
 「External」、「CMPApplicationSysSample」、「SIMULATOR」 は、海洋モデル作成には直接関係していません。
 
 「.\CommonMP\Source\HYMCO\ OceanModelDebugMainPrjct.sln 」ファイル、MS-VS2019から開くと、海洋モデル用の「要素モデル」開発環境が開きます。
  
  図2.2.2 「HYMCO」ファイル内に存在するフォルダーと MS-VS2019用プロジェクトファイル(OceanModelDevugMainPrjct.sln)
      (この、OceanModelDevugMainPrjct.sln を MS-VS2019で開く)

 Microsoft Visual Studio Community 2019で上記プロジェクトを開き、メニューから「ディバッグ」−「ディバッグの開始」を実行すると、ディバッグモードでCommonMPが開きます。
 
     図2.2.3 CommonMPをディバッグモードで実行する
 

 ★CommonMPのデータ格納先の設定
 CommonMPで作成したモデル等を格納するフォルダーを設定したい場合には、CommonMPの「ファイル」−「環境定義」−「データフォルダ格納設定」を選択すると、データフォルダー格納先設定ダイアローグが表示されるので、そのダイアローグからフォルダーを設定してください。以後、自作したプロジェクト、出力結果等はこの位置の下に生成されます。
  

   図2.2.4 データ格納フォルダーの設定
 
 <データ格納フォルダー内の構造>
 ここでデータ格納フォルダー内の構造を説明します。 データフォルダー格納先は、「CommonMPData」とします。
 図2.2.5に、作成したCommonMPプロジェクトに対して、プロジェクトGr名:「外海洋物資t循環モデル」、プロジェクト名:「簡易海洋物質・経済循環モデルPhase01」を付与して保存を行います。
 すると、図2.2.6に示す様にデータフォルダー格納先フォルダー下に「外海洋物資t循環モデル」フォルダーが生成され、そのフォルダー内に「簡易海洋物質・経済循環モデルPhase01.cmprj」ファイルが生成されています。プロジェクトGr名:「外海洋物資t循環モデル」として生成されたフォルダー内部には、「InputData」、「OutputData」、「ParameterData」、「RefInfo」、「SCF」、「SCF」のフォルダーが生成されています。


 CommonMP海洋モデルプロジェクト
  図2.2.5 CommonMPのプロジェクト保存


 CommonMPデータフォルダー内構造
  図2.2.6 CommonMPData内のフォルダー構造


 <海洋モデルディバッグ用出力要素>
 海洋モデル用には、海洋モデルバッグ用に準備した出力要素を予め制作しております。この出力要素は、図2.2.7に示す様に「1次元配列時系列情報」で「海洋関係の要素モデル」接続します。接続パターンは「ディバッグ情報出力」とします。
 このディバッグ用出力要素モデル(CSV出力要素)が書き出すデータ(..csv形式)は、「プロジェクトGr名フォルダー「下の「OutputData」フォルダー内に出力します。図2.2.8に示す様に、「海洋モデルディバッグ用出力要素モデル」のプロパティ画面を開いて、「上書き/別名ファイル選択」の項を0設定すると、「OutputData」フォルダー内のファイルに毎回上書きモードで出力されます。 一方、「上書き/別名ファイル選択」の項を1とすると、シミュレーションを実行する度に、「OutputData」下に「日付から生成したフォルダー」が自動生成されて、そのフォルダー内部の「書き出しファイル名」項目に設定されたファイル名で出力されます。ファイルは .csv形式です。
 
 尚、入力要素モデルが読み出すデータは、「InputData」フォルダー内に配置します。
 
 海洋ディバッグ用出力要素
  図2.2.7 海洋モデルディバッグ用出力要素との接続パターン設定
     
 海洋モデル用ディバッグ出力要素モデル
 図2.2.8 海洋モデルディバッグ用出力要素モデルと、そのプロパティ





(前頁)<<      >>(次頁)

初版:2022/05/20 |2022/07/29修正