コンテンツにスキップ

管理プログラム~

プログラムとは、何を、どのステージで、どんな目標に向けて育てるかを定めるテンプレートです。区画にプログラムを設定すると、現在のステージ、目標環境、終了予定日が自動的についてきます。

プログラムは 設定 > プログラム(/geo/programs)にあります。

プログラムは区画ではない

プログラムが表すのは「トマトを、こういう5つのステージで育てる」ということです。区画が表すのは「3号温室の2棟で、3月2日からそのプログラムを使って育てている」ということです。地図に描くのは区画であり、プログラムはその区画が参照する設定にすぎません。複数の区画がひとつのプログラムを共有できます。

植生専用ではない~

どのプログラムにも種類があります — Vegetation(植生)、Livestock(家畜)、Facility(施設)、Other(その他)。「何を、どのステージで、どんな目標に向けて」という同じ構造が、温室の作物にも、家畜の飼育にも、施設の点検サイクルにも同じように使えます。

種類は一致していなければなりません。 植生用の区画に設定できるのは植生プログラムだけです — 家畜用プログラムを設定すると、それらしく見えるステージと目標が画面に表示されてしまいますが、解釈そのものが根本的に間違っており、しかもエラーにはなりません。

プログラムを作成する~

リスト上部のセレクターから選び、追加 を押します。

  • Empty program(空のプログラム) — セレクターが最初に指している値です。ステージは自分で書きます。
  • From a template(テンプレートから開始) — 例をまとめたグループで、項目ごとにステージ数が並記されます。テンプレートは最初から入っているわけではありません — 追加するまでは何も作られないため、自分が育てていない作物がリストを埋めることはありません。最初の1本を作るにはいちばん楽な道でもあります: ステージと長さが埋まった状態で入り、違うところだけを直せば済みます。

新しいプログラムはいま見ているタブに作られ、そのまま編集ドロワーが開いて名前から直せる状態になります。

自分のプログラムのコピーは、このセレクターにはありません。 もとにしたいプログラムを開き、ドロワー下部の [Duplicate](複製) を押します — 同じことをする道をひとつにまとめてあり、プログラムが増えてもセレクターが長くなりません。

組み込み・外部プログラムは編集できない

代わりに複製してください。もし元のプログラムが編集できてしまうと、アップグレードや外部データの更新のたびに変更が上書きされ、気づかないうちに元に戻されてしまいます。読み取り専用のプログラムには保存ボタンも削除ボタンも出ず、[Duplicate] だけが残ります。

項目~

項目 意味
Name リストに表示される名前
Kind Vegetation(植生)/Livestock(家畜)/Facility(施設)/Other(その他)(上記参照)
Applies to このプログラムが対象とするもの — 作物、種、家畜。リストから選ぶか、新しく入力します
Variety 空欄はその対象のデフォルトを意味します。入力すると品種固有の設定になります
Description このプログラムが何のためのものかを自分の言葉で書く欄 — このプログラムが出てくるたびに読み返され、これを使う区画についてAIが助言するときにも読まれます
Heat unit base temperature(積算基準温度) 積算温度(GDD)の基準になります。Advanced settings(詳細設定)の中にあり、植生のプログラムにだけ表示されます。空欄だとステージは暦日で進みます(下記参照)
Target curves Advanced settings(詳細設定)の中にあり、選べるMethod(メソッド)があるときだけ表示されます。項目に設定すると、ステージの固定値の代わりにカーブに従うようになります

ステージ表~

ステージのまとまりは、作期の全体を1本のバーとして描きます — ステージごとに1区間で、幅はその長さに比例し、合計は Whole run として表示されます。区間そのものがボタンです。押すとそのステージだけが下に開き、横にドラッグすると順序が変わります。バーと編集欄の間にある [Add stage] は、いま開いているステージのすぐ後ろに新しいステージを入れます。

開いたステージには次の欄があります。

  • Stage name — このステージの呼び名です。その下に折りたたまれている Stage code はシステムが使う識別子です(seedling)。空にすれば名前から作られ、すでに使われているステージのコードを変えると、それまで記録されてきたものとの結び付きが切れます。
  • Days — そのステージの長さであって、累積の合計ではありません。空欄にできるのは最後のステージだけで、「最後まで」を意味します。
  • Heat units — 同じ長さを積算温度で数えた値で、植生のプログラムにだけ表示されます。空欄はそのステージが暦日で判定されることを意味します。
  • Guidance — この時期に何をするかです。このステージにある区画を地図で開いた人が読む文章です。
  • [Delete this stage] — 編集欄のいちばん下。

ステージごとの目標と資源は、入れるまで隠れている

目標の欄は [Targets] の Use different values per stage を、資源の欄は [Resources] の Different per stage を入れたときだけ編集欄に現れます。切ってあれば、どのステージもプログラムに書いた数値を目標にします — 7つのステージそれぞれに箱が付くと、画面には数十個の入力欄が並び、ステージの構造そのものが見えなくなってしまいます。

ステージの目標~

植生のプログラムには Day temp(昼温度)・Night temp(夜温度)・Humidity(湿度)・CO₂・DLI・VPD が最初から入っており、Livestock・Facility・Other は項目のない状態から始まります。Targets で管理する項目を In use で入れ、[Add item] で自分の項目を作ります — EC・pH・飼養密度などを、名前と単位、そしてセンサーが読む値なら測定種類まで付けて(空にすれば人が読むための項目になります)。プログラムに最初から入っている項目は切ることはできても削除はできません。あとで入れ直せば書いておいた値はそのまま残り、自分で作った項目を削除すると、その項目のステージ値も一緒に消えます。

Targets に書いた数値は、どのステージも目指す値です。ステージが持つのはそれと違う値だけで、その項目の範囲を外れた値は受け付けられません。

空欄の項目は保存されません — ゼロと未設定は区別できたままでなければなりません。

表示とアドバイスのため

目標を設定しても、それだけで何かが動き出すわけではありません — それには、その目標に対して動くよう構成された環境制御機能が別途存在している必要があります。目標の役割は、人・AI・(設定されていれば)制御機能が「このステージが目指すべき数値」として同じ数字を参照できるようにすることです。

昼温度・夜温度・湿度は目標ではなくガイドです。 環境コーディネーターの第一目標は引き続きVPDですが、同じVPDでも暑すぎて湿った組み合わせや、寒すぎて乾いた組み合わせで達成できてしまいます。コーディネーターは温度と湿度をステージ値 ± 5 °C / ± 10 % の範囲に保ちます — 施設の位置での日の出から日没までは昼温度、それ以外は夜温度を使い、ハード上下限の内側に収めます。値のないステージでは施設自身のガイド範囲がそのまま使われます。実際に使った範囲はコーディネーターの設定に ガイド範囲 として表示されます。

カーブが設定された項目は、この画面には数値を表示しません。 実際にはカーブに従っている項目のステージ値を表示してしまうと、使われていない数値をあたかも目標であるかのように示すことになります — 画面には代わりに「Follows curve: (カーブ名)」と表示されます。そのカーブが特定の日に実際に何を求めていたか、実測がそこからどれだけ離れていたかは、日誌で昼夜に分けて示されます。

区画ごとに目標をオーバーライドする~

プログラム自体の目標は、新しい区画が最初に持つ値にすぎません — その後は、カーブに従っていないどの目標についても、各区画がプログラムやそれを使う他のすべての区画から独立した独自の値を持てます。

  • 編集するのはプログラムではなく区画側です — /plots ページか AoT Plot ウィジェットから行い、ここからは行いません。
  • オーバーライドはその区画1つだけのものです。変更してもプログラムには一切影響せず、同じプログラムを使う他のどの区画にも影響しません。
  • フィールドを空欄に戻すことがオーバーライドの取り消し方法です — 区画はプログラム自体の値に戻ります。
  • カーブに従う項目は、上で数値が表示されないのと同じ理由で、区画ごとに編集することはやはりできません。

ステージの資源~

Resources は、このプログラムが何を必要とするかを書く場所です — Watering(かん水)・Fertigation(施肥)・Other(その他) がそれぞれスイッチひとつです。Vegetation 以外の種類では Other だけが出ます。給餌や給水のための語彙を根拠なく作らないためです。

プログラムは機能を起動しない

プログラムはそれらを宣言するだけです。このプログラムを使う区画が、自分の置かれている場所を見て、それぞれの設備が実際にそこにあるかどうかを知らせます — 作物が先に気づく前に、人が気づけるようにするためです。いまそうして見つけられるのはかん水だけで、しかも施設の中に限られます — 施設図面に置かれたかん水バルブと突き合わせます。それ以外は、見分ける方法ができるまで意図として記録されるだけです。

ここで入れたスイッチはすべてのステージの既定値です。Different per stage を入れると、あるステージだけそのひとつを切れます — 収穫前の断水のような場合です。そのときステージごとに 「この段階で個別に指定」 なのか 「プログラムに従う」 なのかが並記されるので、わざと切ったステージが抜け落ちと読まれることはありません。

区画の [現況] は、宣言された資源ごとに実際の状態を並べて表示します — 見つかった機能と「稼働中」「停止中」、あるいは設備がまだ置かれていなければ 「この場所にはまだ該当する機器がありません」。そもそもここでは突き合わせようのない場合(露地の区画、まだ語彙のない役割)は、永久に消えない苦情になってしまうため行自体を出しません。[Apply] は、宣言されたものが見つかっていて止まっているときだけ現れ、押すと一度確認します: かん水をオンにするとは、実際に水が流れるということです。

[Apply] は宣言されているものだけを操作します。 何かをオフにすることは決してありません — プログラムは農場が持つ機能の全リストを知らないため、オフにする操作は無関係な機能まで止めてしまいかねないからです。ひとつの役割に複数の機能が該当する場合は、どれも起動せずにその事実を伝えます。どのバルブを回すかは人が決めることです。

GDDでステージを進める~

暦だけで判断すると、涼しい春の年も暑い夏の年も同じ日にステージが切り替わってしまいます。生育は積算された熱に従うため、次の4つすべてが揃っているときはGDDが使われます。

  1. プログラムに積算基準温度が設定されている(詳細設定の中、植生のプログラムにのみあります)
  2. 各ステージに積算温度がある(最後のステージを除いてひとつでも空欄があればGDDは使われません — ひとつのプログラムの中で2つの基準を混在させることはありません)
  3. その区画が80%以上の温度履歴を持っている
  4. その区画の日程に自分で入れた日付がない — 人が入れた日付が優先され、すべて消すまではその日付で進みます

いずれかが欠けている場合、ステージは暦に基づく判定に戻り、区画モーダルはその理由を示します — 「By days・基準温度が未設定」「温度履歴が不足」など。

計算式は日平均です: GDD = max(0, (Tmax + Tmin) / 2 − T_base)。温度は区画内のセンサーから取得され、なければそれを囲むゾーンのセンサーが使われます。プログラムに推奨日積算温度が書かれている場合は、これまでに積み上がった値を、その日あたりの割合で同じ日数だけ積み上がったはずの値と並べて表示します。

環境制御側のGDDとは別物

env_coordinator機能もGDDを積算しますが、そちらは制御補正のためのもので、異なる計算式を使い、その機能自体が存在していることを前提とします。露地の区画にはコーディネーターがないため、こちらの計算は温度履歴だけを使います。両者の値が異なるのは正常です。

ステージ変更の確認・記録・取り消し~

変更の確認は区画ウィンドウの [現況] > ステージ変更 で、ステージ記録と取り消しは [設定] > プログラム で行います。

計算上すでに次のステージに移っている場合、ステージ変更 の行が表示されます。日付を確認・修正し、[確認] を押します。

確認すると起点が動く

「定植は8月4日に始まった」と確認すると、残りのステージはその日から再計算されます。プログラムはあくまで標準であり、現実は標準どおりには進まないため、確認された事実ひとつひとつが残りの日程を組み直します。日付が編集できるのはそのためです — 実際に観察された日は計算上の日とは違うことがあり、その差がそれ以降のすべてを動かします。

確認済みの変更はステージ記録に蓄積されます。[直前を戻す] で直近の1件を取り消せます。

  • 記録は決して削除されません — 取り消された行も「undone」と表示されたまま残ります。
  • 取り消せるのは直近の1件だけです。任意の記録を取り消せるようにすると、起点をたどれなくなってしまいます。
  • 一度も確認されたことのない区画は、以前とまったく同じように振る舞います — 既存の区画に対して遡って承認を求めることはありません。

確認するまで何も進みません

区画は一度でも確認されると、次のステージを確認するまで — 目標環境も含めて — 現在のステージにとどまり続けます。計算上すでに次に進んでいても同じです。その場合、次のステージの行は「waiting for your confirmation」と表示されます。(自動進行が設定された区画は例外です — その判断はすでに済んでいるためです。)

日程を編集する — 延期と前倒し~

プログラムのステージ長はあくまで標準であり、区画はそれを参照するだけです。実際の日程は、区画モーダルの [設定] > ステージ日程 で編集します。

  • 編集するのはそのステージが何日続くかです — プログラムと同じ言い方なので、日付の計算をする必要はありません。開始日はその結果として横に表示されます。
  • まだ来ていないステージの長さを編集し、[Save] を押します。
  • ひとつのステージを変更すると、それより後のステージが動きます。 後の日付を固定したいときは、次のステージを同じ日数だけ短くします。
  • 最後のステージには長さがありません(最後まで)— いつ終わるかは、区画を終了することで決まります。
  • プログラム自体の長さをそのまま入力し直すと、そのステージは標準に戻ります — 専用の「元に戻す」ボタンはありません。

ステージのガイダンス、ステージの追加と削除~

すべて同じ表の中で行い、プログラム自体には触れません — ここで変更した内容はこの区画だけに適用されます。

  • ステージの [Edit] を押すと、長さの入力欄とガイダンス欄の両方が開きます。どちらかを変更して [Save] を押せば、両方とも反映されます。プログラム側に何も書かれていない場合でも書き込めます。空にすればプログラム自体の文章に戻ります。
  • そのエディター左下の [Remove stage] は、今作にはないステージを外します(育苗ステージなしでいきなり定植、など)。確認済みの変更が指しているステージと、それより前のステージは外せません — 外すとそのとき記録したことが失われてしまいます。まず変更を取り消してください。まだ一度も変更を確認していなければ失われる記録がないため、最初のステージを飛ばす作期はそのまま外せます。
  • 表の下の [Add stage] は、標準には枠のないステージ(追肥など)のための名前と長さの入力欄を開きます。追加分は最後に入り、位置は長さで調整します。
  • 現在のステージのガイダンスは、[現況] タブの軸の下にそのまま表示され、クリックする必要はありません。他のステージのガイダンスはこの表の中にあります。

この日程をプログラムとして登録する~

長さを調整し、ステージを追加し、ガイダンスを書き込んだあと、その知識はその区画の中だけにあります。[設定] タブの [プログラム] カード下部にある [プログラムとして登録] を使うと、それを再利用できるようにできます。

  • 登録される内容は、区画が実際に従っているリストです — 外したステージは入らず、追加したステージは含まれ、長さは標準ではなく境界と境界の間の実際の期間になります(最後のステージは「最後まで」として入ります)。ガイダンスも一緒に登録されます。
  • この区画が実際に従っている値もそのまま登録されます — この区画で変更した目標が、新しいプログラムの数値になります。目標の項目そのもの(名前・単位・範囲)は、元のプログラムからそのままコピーされます。さらに返ってくる内容には、この区画が各目標に対して実際に測定した値がステージごとに含まれます — センサーごとの中央値とp25〜p75です。ステージ長はすでに現場の実績で更新されていましたが、目標はそれまで戻す手段のなかった、その仕組みのもう半分でした。
  • AIに adopt_targets で登録を頼むと、あいまいさのないものだけが実測の中央値に書き換えられます。2つのセンサーの値が食い違う場合、そのステージに実測がない場合、カーブが設定されている場合、または値がその項目の定義範囲を外れている場合は、元の値がそのまま残り、理由が示されます — どのセンサーを信用するかは、システムではなく人が判断することです。
  • 画面上では、[Register] を押すとその真下に比較が展開されます — ステージごとに target → this plot's median、値が食い違う場合はセンサーごとに1行ずつ表示されます。表示するだけで、見ただけでは何も変更されません。
  • 区画がそのプログラムに移されるわけではありません。 登録はコピーです — 進行中の作期の解釈を変えてしまうと、何のために育てていたのかが気づかないうちに変わってしまいます。この区画もそのプログラムに乗せたい場合は、[設定] で新しいプログラムを選んでください。
  • [Register as programme] を押すと、名前の欄と [Register] ボタンが開きます。 名前を空にすれば、植えているものとこの区画の名前から作られ、すでに使われている名前には番号が付け加えられます。
  • 書き込んだガイダンスはステージ変更をまたいでも残ります。 過去のステージについての観察が次の遷移で消えてしまうのでは、記録としての価値がありません。
  • ステージ変更の行にある [延期] は、変更を表示されている日付に動かします。[確認] は「その日に起きた」(事実)を意味し、[延期] は「その日に起きる予定」(予定)を意味します。
  • すでに過ぎた境界はここでは編集しません — それは [確認] と [直前を戻す] の役目です。
  • 何らかの日付を設定すると、その区画は積算温度ではなく日付でステージを判定するようになります。すべてクリアすればGDDに戻ります。
  • 終了予定日は、編集された日程に従います。

自動進行~

区画で ステージを自動で進める をオンにすると、確認を求めずに変更が記録されるようになります。区画モーダルの [設定] > ステージ日程 にあります。

  • 区画ごとに設定されます。 同じプログラムを使う2つの区画でも設定が異なってかまいません — 誰も見ていなくてもステージを進めてよいかどうかは、作物についてではなく、その場所についての事実だからです。
  • デフォルトはオフです。 デフォルトでオンになっていたら、誰も何も決めていないのにステージが進んでしまいます。
  • 記録される日付は、見た時点ではなくデータから導かれた日付です。3週間後に区画を開いても、同じ日付が記録されます。
  • 根拠となる日付がなければ、何も記録されず、判断は人に委ねられたままになります。
  • 自動で記録された項目は、ログに「auto」と表示されます。

資源まで自動になるわけではない

ステージが自動で進むようになっても、灌漑や施肥の機能が自動でオンになるわけではありません。それは別の判断であり、[Apply] が必要なのは変わりません。

区画を直接管理する~

/plots はすべての区画を、進行中・予定・終了済みを含めて一覧表示します — 絞り込む手段は 検索 ボックスひとつで、作物・品種・区画名・施設・ゾーン・サイト・地図・プログラム名をまとめて検索します(区画を参照)。区画はここでは作成できません — 区画はデザインツールのPlotモードで描くことによってのみ生まれます。このページは、すでに存在する区画を管理するためのものです。

区画をクリックすると、このページがプログラム用に使うのと同じ種類のドロワーが開きます — 各ステージの長さ、ガイダンス、その区画の独自の目標がすべてひとつのステージトラックの中にまとまっています。[Save] を押すまでは、ドロワーから何も送信されません。

AoT Plot ウィジェットは、このページに来なくてもダッシュボードから区画をひとつ見続けられるよう、まったく同じドロワーを開きます。地図ウィジェットの区画ポップアップは同じ運用上の事実を示しますが、そのどれも編集はしません。

関連~