Yolia's environmental simulator
Move the temperature, humidity, wind, rain, and radiation as if you were a researcher testing the system. This is NOT a fake demo: every result you see is calculated by the same real engine Yolia uses with a paying client (AgroclimateDecisionEngine), the only difference is that here you control the weather instead of it coming from a live forecast. You don't need to create an account or write 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 weather 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 for in the weather and why, without having to wait for real good or bad weather to happen.
Move one slider at a time and watch two things: the alert that appears right below that slider (instantly), and the result card further down (the full verdict from the real engine).
It's like playing with your home thermostat and seeing, instantly, at what number an alarm starts to sound — here you can do that same thing a thousand times at no cost.
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 real paid 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 weather? You'll see that the same conditions trigger different alerts depending on whether you are in an open field, greenhouse, protected outdoor or indoors.
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 an 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 lets you audit Yolia's exact climate decision mechanism — every rule, every threshold, every payload — without exposing a real customer'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 slider at a time to isolate its effect.
- Change the 'Environment type' without touching the weather and watch 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: temperatura ≤
1.5 °Coutdoors. - Intense field heat: temperatura ≥
35 °Cin an open field. - Greenhouse overheating: outside temperature + the "typical overheating" you declared ≥
36 °Cof indoor estimate. - Indoor condensation: humedad ≥
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 a container root, 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's causing it. Move the sliders below and watch 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 allocates its capacity between transport, reserves and organs, and when a program becomes saturated. Move the 10 dials (one for each real engine metric) and flag the active stressors — the allocation and the saturation lock recalculate live with the real formula, not an approximation. The goal of this screen: move the dials until you find the point where Yolia would actually block your program, and see what pushes hardest toward that block.
Real coverages you move
ⓘ How this control works
What it measures: how demanding the formula program you asked Yolia for is, compared to what the plant can sustain right now.
At 0: an undemanding program — there's almost no load to sustain, saturation drops to a minimum.
At 1.5 (maximum): a very demanding program for the current capacity — it raises saturation directly, no matter how good the 10 coverages above are.
Where it's used: it's the highest-weighted factor in the real saturation formula: saturación = (max_phase_load_ratio × 75) − (capacidad de procesamiento × 28) − (capacidad de almacenamiento × 20).
What the real engine allocates
Saturation oscilloscope (real 92% lock)
This number runs from 0 to 100. At 92 or above, Yolia actually blocks the program — it's not a decorative figure, it's the same lock production uses to stop a formula the plant can't sustain from moving forward.
Real formula replicated from the engine: PlantResourceDynamicsModel::assess() v6.2.0. The block lock at saturation_risk_pct ≥ 92 is the same one ModuleCompatibilityEngine and PlantResourceDynamicsEngine use in production to decide whether a program can move forward.
2. Real phase schedule (keeps goals from colliding)
In simple words: this panel does NOT use the Spectrograph result from above — it's 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 saves for later, so it doesn't try to change everything in your plant at the same time.
This is Yolia\Domain\Laboratory\LaboratoryIntakeEngine, the real engine that decides which goals for your specialty get activated now, which get scheduled for later, and which get held back — so it doesn't try to do everything at once. The real preparation window Yolia uses runs from 24 to 168 hours, with 96 hours as the default (SandboxProtectedWorkflowService).
Phase 1 · now
Phase 2 · scheduled
Held
Uses the "Recent chemical history" switch from Panel A above — if it's on, risk also goes up here too, exactly like 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 the full goals of the specialty are laid out 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's the same engine from 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 you see the overall pattern instead of a single case.
This button calls the same real mass-testing engine 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's NO copy of the engine here — it's a real call to the same server.
Are you an agronomy teacher or student?
This simulator is free to use, no registration required. If your university wants to use it as class material, or wants to run a large batch of combinations for a research project, write to us at /contacto — we'd love to work with you.