Yolia's environmental simulator
Adjust the temperature, humidity, wind, rain and radiation as if you were a researcher testing the system. This is NOT a demonstration of lies: every result you see is calculated by the same real engine that Yolia uses with a paying customer (AgroclimateDecisionEngine), except here you control the climate instead of it coming from a live forecast. You don't need to create an account or enter anything personal.
How to read the Environmental simulator
You don't need to understand everything at the same time. Choose how deep you want to go.
View the full guideHide the guide
This simulator lets you move the climate with sliders (temperature, humidity, wind, rain, radiation) and see, live, what alerts Yolia would give under those conditions.
It helps you understand what Yolia watches in the weather and why, without having to wait for real good or bad weather to arrive.
Move one bar at a time and watch two things: the notice that appears right below that bar (in the moment), and the result card further down (the full verdict of the real engine).
It's like playing with your home thermostat and seeing, on the spot, at what number an alarm starts to sound — here you can do that same thing a thousand times without spending anything.
Each bar corresponds to a real variable that AgroclimateDecisionEngine::assess() evaluates against fixed alert rules — frost, heat, greenhouse overheating, wind, rain, condensation and pot heating.
The same 7 rules are used in a paid real case; here only where the input data comes from changes (you type it in, instead of coming from a live forecast).
Compare: what happens if I change only the environment without touching the climate? You'll see that the same conditions trigger different alerts depending on whether you are in open field, greenhouse, protected outdoor or indoor.
30°C with high radiation triggers nothing in the open field or indoors, but if you also declared a potted root, it does trigger 'Pot heating' — the combination matters, not just one isolated value.
University zone builds a synthetic one-hour forecast (HomeController::sandboxSimulatorRun) and passes it unchanged to the real production engine, including the merging of consecutive hours (mergeConsecutive) that in a real case avoids repeating the same card 12 times.
It allows auditing Yolia's exact climate decision mechanism — every rule, every threshold, every payload — without exposing a real client's data or writing anything to the database.
Analyze each rule as a function of several variables, not just one: several alerts require two or more simultaneous conditions (temperature AND radiation for pots; rain AND probability for heavy rain), which avoids false positives from a single isolated data point.
Greenhouse overheating uses half of the declared delta when radiation is low — the same outside temperature with different radiation produces different indoor estimates, showing the model is not a simple fixed sum.
- Move one bar at a time to isolate its effect.
- Change the 'Environment type' without touching the weather and see which alerts appear or disappear.
- Turn on 'Greenhouse' to see the live calculation of the indoor estimate.
What Yolia decides live
Calculating…
What exact rules is the engine comparing against?
- Frost: temperature ≤
1.5 °Coutdoors. - Intense field heat: temperature ≥
35 °Cin an open field. - Greenhouse overheating: outside temperature + the "typical overheating" you declared ≥
36 °Cof indoor estimate. - Indoor condensation: humidity ≥
85%, or the temperature very close to the dew point. - Strong gusts: wind ≥
50 km/h. - Likely heavy rain: ≥
10 mmwith high probability. - Pot warming: only with roots in a container, temperature ≥
30 °Cand radiation ≥600 W/m².
1. Resource allocation and saturation spectrograph
In simple words: here you see how tired or saturated the plant is right now, and what is causing it. Move the sliders below and see whether the plant can take more or is already at its limit.
Es Yolia\Domain\Modules\PlantResourceDynamicsModel, the real engine that decides how the plant distributes its capacity among transport, reserves and organs, and when a program becomes saturated. Move the 10 knobs (one for each real engine metric) and mark the active stresses — the distribution and the saturation lock are recalculated live with the real formula, not an approximate simulation. The goal of this screen: move the knobs until you find the point at which Yolia would actually block your program, and see what pushes hardest toward that block.
Real coverages that you control
ⓘ How this control works
What it measures: how demanding the formula program you asked Yolia for is compared with what the plant can sustain right now.
At 0: an undemanding program — there is almost no load to sustain, saturation drops to the minimum.
At 1.5 (maximum): a program that is very demanding for current capacity — it raises saturation directly, no matter how well the 10 coverages above are doing.
Where it's used: is the most heavily weighted factor in the real saturation formula: saturation = (max_phase_load_ratio × 75) − (processing capacity × 28) − (storage capacity × 20).
What the real engine distributes
Saturation oscilloscope (real 92% lock)
This number ranges from 0 to 100. At 92 or more, Yolia truly blocks the program — it is not a decorative number, it is the same lock production uses to keep a formula from advancing when the plant cannot sustain it.
Real replicated formula of the engine: PlantResourceDynamicsModel::assess() v6.2.0. The block lock at saturation_risk_pct ≥ 92 is the same one used by ModuleCompatibilityEngine and PlantResourceDynamicsEngine in production to decide whether a program can move forward.
2. Real phase schedule (prevents goals from clashing)
In simple words: this panel does NOT use the result of the Spectrograph above — it is a different engine. Here you choose the specialty and how healthy your case arrives, and Yolia tells you which goals it activates from day 1 and which it leaves for later, so as not to try to change everything in your plant at the same time.
This is Yolia\Domain\Laboratory\LaboratoryIntakeEngine, the real engine that decides which objectives of your specialty are activated now, which are scheduled for later and which are held back — so you don't try to do everything at once. The real preparation window that Yolia uses goes from 24 to 168 hours, with 96 hours as the default value (SandboxProtectedWorkflowService).
Phase 1 · now
Phase 2 · scheduled
Held
Use the "Recent chemical history" switch in Panel A above — if it is on, the risk goes up here too, exactly as in the real engine. Formula replicated from LaboratoryIntakeEngine::analyze(): same calculation of risk, operating_mode and nowLimit that Yolia uses when creating a real case. Here they are distributed the full goals of the specialty so you can see the whole pattern; in a real case you normally choose only 3 or 4 goals (not all 9), so they almost always all fit in Phase 1.
3. Cascading fuzzing trigger
In simple words: it is the same engine as the Schedule (point 2) above, but instead of running it ONCE with the data you choose, it runs it HUNDREDS of times with random data, so that you see the general pattern instead of a single case.
This button calls the same real mass-testing engine that Yolia already has running (/sandbox/api/pruebas-masivas, the same one used by /sandbox/fuzz): it runs LaboratoryIntakeEngine hundreds of times with random combinations, without saving anything real. There is NO copy of the engine here — it is a real call to the same server.
Are you an agronomy professor or student?
This simulator is free to use, with no sign-up. If your university wants to use it as class material, or you want to run a large batch of combinations for a research project, write to us from /contacto — we would love to work with you.