4章
要素モデル自作の方法
4.10
「バイオ燃料用資源捕獲」要素モデル
〜 海洋モデル用要素モデルの作成例(サンプルプロジェクトプレジェクト:「McOceanSampleModels.csproj
」) 〜
第1章の植物プランクトンを原点とする生態系の中で、ネクトン(魚)を捕獲してそれをバイオ燃料材料にする図を描いておりました。 しかしながら、バイオ燃料を考えるならば、動物プランクトンをそのまま原料とする方が効率が良いとの報告もあり、ここでは、バイオ燃料資源として「動物プランクトン捕獲」要素モデルを制作し、前回までの生態モデルに追加しました。
図4.10.1 バイオ燃料用原料として「プランクトンを捕獲する」要素モデルを追加する
「プランクトン捕獲」要素モデルは、「バイオ燃料」の資源として海洋の「表層混合層」と「真光層」の「動物プランクトン」を対象とします。それよりも深い所は、沈降したデトリタスを栄養素とするプランクトンが主であり、それを引き上げることは、折角海底へ沈降している炭素分を引き戻すことになると思われます。
他の要素モデルと同様に、ファクトリークラスのプロパティ情報生成メソッド(
CreateModelProperty( ) )で、「プランクトン捕獲」要素モデルのプロパティ情報として、送受信情報を設定します。
プログラムソース:4.10.1
namespace
CommonMP.HYMCO.Ocean.McOceanSampleModels //
層設定
//
受信可能なパターン |
入力としては、
1) プランクトンの捕獲
これは、他の生物からの捕食と同じと考えます。
2) 運用経費
プランクトン捕獲だけで独立採算とするのではなく、遠海洋開発(CO2排出権の売買、バイオ燃料供給を事業とする)全体で事業を存続させると考えて、バイオ燃料製造プラントへの売却で利益が出なくとも、事業者からの運用費により事業を継続するとします。
出力としては、
3) 捕獲物売却
捕獲したプランクトンをバイオ製造プラントに対して、売却します。 もしも、海洋開発開発事業者が全体のキャッシュフローを全て管理するならば、売却値をゼロとして、その分を運用経費側で運用しても良いかもしれません。
図4.10.1に於いては、「テスト用バイオ燃料製造プラント」をと接続し、採取可能な最大量の資源を受注します。
4) 排出CO2量
プランクトン捕獲にで排出したCO2の量を「大気圏要素モデル」に与えます。
プランクトンを捕獲するにあたって、大型の生物(数cm以上)や、微細な植物プランクトン(1mm以下)を避けて、その間のサイズの生物を捕獲します。
概念的には、図4.10.2に示す様に前方に目の大きな網を配し、後方に前方よりも少し小さな目の網を配します。すると、前方では、網の目より小さな生物が囲いの中に入り、後方からは、網の目より小さな生物が通り抜けます。したがって、網の中には一定の大きさの生物が集まるので、それを海水ごと吸い上げて、濾し取ったものを原料として採取します。
前方と後方の網目の大きさは、バイオ燃料として最良の生物が集まるように調整します。
図4.10.2 動物プランクトン捕獲の概念図
<動作処理>
*モデル全体構造作成を優先していますので、ここの論理は不正確です。後ほど修正していく予定です。(知識のある方は、要素モデルを自作して、本サンプルと交換してください。)
「バイオ燃料生成プラント」から 接続線:3)捕獲物売却を通じて、要求された買い付け額(親クラスメンバー:m_dNextDealingChash)と、単価(親クラスメンバー:m_dNowUnitCost)から捕獲しようとする資源の量を計算してし、m_TotalReqPlanktonMass
に格納します。
捕獲しようとする資源量を 接続線:1)プランクトンの捕獲を通じてプランクトンを捕獲します(動物プランクトンが植物プランクトンを捕食する時の方法と同様の方法で行います:前頁 1)「捕食」 m_ReqFoodMassに設定 )。この時注意すべき点は、海の層のうち「表面混合層」と「真光層」にのみ捕食量の要求を出し、それ以深の層に対してはゼロとします。捕獲された動物プランクトンは、前頁の植物プランクトンと同様に m_EatenMass に格納されますので、これを単位海域からとれた量[ton]に変換し、m_CatchPlanktonMass へ格納します。
捕獲した資源は、接続線:3) 捕獲物売却によって、取得された資源の量:m_CatchPlanktonMass、現在の資源総量:m_dFeedCapability
を「バイオ燃料生成プラント要素モデル」へ送信します。
また、本要素モデルによって排出されるCO2を、接続線:4)排出CO2量 を通じて大気圏へ放出されます。
プログラムソース:4.10.2
using CommonMP.HYMCO.Ocean.McOceanBaseModel; /// <summary> 各レイヤーからの漁獲量 [t]
</summary> /// <summary>
捕獲層の比 混合層/真光層
</summary>
//----------------------------------- |
初版:2022/08/08 |