実単位ベースの食物網モデル
v45 は v38 の描画・空間探索・水域編集・Web Worker を維持し、生態学コアを day / m / kg / kJ へ置換した版です。生産者は field、動物プランクトンは cohort、大型消費者は individual agent として扱います。
実装範囲
水深・鉛直層は扱いません。漁獲、農薬、富栄養化、生息地消失などの人為的攪乱も実装していません。自動移入と自動種分化も停止しています。
単位
| 量 | 実装 |
|---|---|
| 時間 | day、標準 dt=1/24 day |
| 距離 | m、世界 4800 × 3200 m |
| 動物体重 | kg wet mass |
| 動物エネルギー | kJ |
| producer / zooplankton | kg biomass m-2 |
生産者・cohort
μmax(T)=0.81 exp(0.0631T) day^-110 / 20 / 30°C の golden test は約 1.52 / 2.86 / 5.38 day-1。水域では光・窒素・リン制限を掛け、zooplankton は個体を大量生成せず格子上の cohort biomass として更新します。DO は phytoplankton growth の式へ直接掛けません。
食物網・Holling応答
単一の diet は廃止し、consumer–resource interaction edge を摂食関係のソースにします。植物資源の標準同化効率は 0.45、動物資源は 0.85 です。
Fij = aij Pij Nj^q / (1 + Σ aik Pik hik Nk^q)q=1 を Holling II、q=2 を Holling III とし、handling time は実際に複数資源の分母へ入ります。個体捕食は p=1-exp(-rate×dt) に変換します。
Rall et al. (2012) の mass / temperature scaling は動物個体どうしの捕食の attack / handling に接続しています。all-data slopes は attack が consumer mass +0.47、resource mass +0.15、activation energy +0.44 eV、handling が consumer mass -0.48、resource mass +0.34、activation energy -0.27 eV です。producer / zooplankton は連続 biomass field なので、密度を架空の prey body mass へ変換せず、biomass density に対する飽和摂食を使います。
代謝
B(M,T)=B0 M^(3/4) × temperature responseectotherm は Arrhenius 型温度補正を使い、endotherm とは normalization を分離します。旧版の肉食個体だけを一律 0.55 倍する代謝補正は使いません。
移動
maximum / routine / foraging / escape speed、daily movement budget、自由移動 waypoint を分離しました。最大速度は Hirt et al. (2017) Supplementary Table 4 の式 v=aM^b(1-exp(-hM^i)) を用います。
| mode | a | b | h | i |
|---|---|---|---|---|
| flying | 142.8 | 0.24 | 2.4 | -0.72 |
| running | 25.5 | 0.26 | 22.0 | -0.60 |
| swimming | 11.2 | 0.36 | 19.5 | -0.56 |
v45移動修正: スポーン地点への復帰制約を廃止し、自由移動 waypoint を現在位置から継続生成します。非両棲個体は初期配置時に岸線から余裕を取って配置し、岸線接近時は signed-distance 勾配から法線を求め、禁止側への速度成分だけを除いて接線方向へ連続的に移動します。左右候補角の交互選択、回転指数検出、逆トルクは使いません。producer / zooplankton の仮想目標は到達時に破棄し、摂食しながら自由移動へ戻すことで目標点との往復を防ぎます。stamina は容量比で消費・回復し、通常移動では sprint stamina を消費しません。通常表示の×1は1 day/秒を目標とし、実効 day/秒を別表示します。
出生・死亡
親を死亡させる divide() は廃止しました。成熟、繁殖季節、繁殖間隔、energy reserve を満たすと offspring が出生し、親は生存します。generic 初期種は同じ trophic role でも繁殖季節が完全同期しないよう species ごとに位相をずらします。死亡要因は捕食、飢餓、寿命、背景死亡、温度ストレスとして処理します。研究用の詳細集計出力は持ちません。
初期水域
初期 procedural water の各半径へ √2 を一度掛け、旧版より概ね2倍の面積にします。水域同士が重なるため厳密な2倍にはしません。wet-cell 面積を測って二分探索する処理はありません。ユーザーが編集した水域は受け取った形状をそのまま適用し、水域追加ツールの既定半径も v38 と同じ 170 m です。
環境 forcing
ClimateProvider は seasonal fallback と観測 series を扱える内部機構を持ちますが、実験用 Worker API は公開しません。通常UIで切り替えられる外部入力は freshwater / marine profile のみです。
出力
研究用 batch API と詳細 flux 出力は削除しました。Worker が送るのは描画・個体観察・グラフ表示に必要な内部状態だけです。
参照と較正
- Bissinger et al. (2008) / Eppley: phytoplankton temperature-growth upper envelope。
- Gillooly et al.: mass/temperature metabolic scaling。
- Rall et al. (2012): attack rate / handling time の mass・temperature scaling。
- Brose et al.: predator–prey body-size relationship。
- Hirt et al. (2017): locomotion mode 別 maximum speed model。
文献から一意に決まらない edge baseline、B0、life-history、zooplankton cohort 係数等は simulator calibration です。区分は PARAMETER-PROVENANCE.json に記録しています。