diff --git a/resources/fi/luke/vips/model/cerealmodels/texts_nb.properties b/resources/fi/luke/vips/model/cerealmodels/texts_nb.properties new file mode 100644 index 0000000000000000000000000000000000000000..6398a1da590e72971b37f9140afd18c49e60b47a --- /dev/null +++ b/resources/fi/luke/vips/model/cerealmodels/texts_nb.properties @@ -0,0 +1,7 @@ +# +# +# model name has been hard-coded in the java source file due to the fact that the +#model can be used for three different diseases +usage=<p>The model setup requires the following parameters:</p><ul><li><strong>weather station(s)</strong> are the id(s) used for the relevant weather station(s). If possible, the stations used should be such that they\u2019re already included in VIPS system. It is possible to add new weather stations to VIPS, but this is extra work. Thus, if there\u2019s a near-by weather station already, it is preferred.</li><li><strong>Sowing date</strong> is the date the seeds were placed to the field in question. Please use DD.MM.YYYY format.</li><li><strong>Preceding crop</strong> is the crop type that was cultivated in the field the previous year. Possible crops are <strong>wheat, barley, oats, grass, turnip rape, sugar beet, and legumes</strong>. For fallow fields as well as fields with some other preceding crop use grass.</li><li><strong>Tillage method</strong> is the type of tillage done to the field before sowing. Possible values are <strong>ploughing, reduced tillage, and direct seeding</strong>. Reduced tillage should be used for all fields that are not ploughed and where direct seeding is NOT used.</li><li><strong>Crop susceptibility</strong> is a measure of how resistant the current crop is against the disease. The possible values are <strong>normal, resistant, and susceptible</strong>. In the model normal is the default; resistant crop causes the disease model to (in practice) progress at 50% of the default value and susceptible crop at 150% of the default.</li></ul><p>During the model execution the following weather parameters are required at <strong>One-hour precision</strong>:</p><ul><li>FM2: Average wind speed for the last 60 minutes, measured at 2 meter height (m/s)</li><li>UM: average relative humidity (%)</li><li>RR: Aggregated rainfall in millimeters</li><li>TM: Mean temperature (celcius)</li><li>FF2: Average wind speed for the last 10 minutes, measured at 2 meter height (m(s); only needed if FM2 is not available in the selected data source</li></ul> +description=<h1>FinBladflekk for Bladflekksjukdommer i bygg og hvete (byggbrunflekk, hvetebrunflekk og hveteaksprikk)</h1>\n<p>Skadegjører(e): byggbrunflekk, hveteaksprikk og hvetebrunflekk (<em>Pyrenophora repens</em>, <em>Parastagonospora nodorum, Pyrenophora tritici-repentis</em>)</p>\n{{filename="/images/desc_ill_1.jpg" description="Typiske symptomer av byggbrunflekk (nettflekk) (A), hvetebrunflekk (DTR) (B), og hveteaksprikk (B) (Foto A: Andrea Ficke, Foto B og C: Einar Strand)."}}\n<p>Typiske symptomer av byggbrunflekk (nettflekk) (A), hvetebrunflekk (DTR) (B), og hveteaksprikk (B) (Foto A: Andrea Ficke, Foto B og C: Einar Strand).</p>\n<h3>Modellbeskrivelse</h3>\n<p>FinBladflekk er en modell basert på soppens biologi, utviklet av LUKE (Natural Resources Institute, Finland) for å kunne vurdere daglig og akkumulert risiko for angrep av byggbrunflekk, hveteaksprikk og hvetebrunflekk (DTR). Modellen er basert på vindhastighet (m/s), relativ luftfuktighet (%), nedbør (mm) og temperatur (<sup>o</sup>C). Resultatet er basert på angrepsrisiko, sted, vær og resistensnivå for den aktuelle sorten. Hver sjukdom er modellert individuelt, men basert på den samme modelleringsmåten.</p>\n<p><strong><em><span style="text-decoration: underline;">Modellen kjøres automatisk med default setting for de ulike værstasjonene. Før modellen kan kjøres og gi feltspesifikke varsler, er det viktig å lage individuelle varsler</span></em></strong> og legge inn nærmeste klimastasjon for å kunne innhente værdata fra de siste dagene og prognosen for de neste 3 dagene fremover. I tillegg legges inn sådato, forgrøde (hvete, bygg, havre, raps, belgvekster eller sukkerbeter), jordarbeiding (pløying, redusert jordarbeiding, eller direktesåing) og sortsresistens (normal, mottakelig, sterk).</p>\n<p>Modellen er i Norge bare testet for angrep av byggbrunflekk.</p>\n<h3>Tolking av varsel</h3>\n<p>Når akkumulert risiko for angrep (hvit strek) nærmer seg 50 %, er det tid for å gå ut i åkeren og sjekke sjukdomssituasjonen. Grafikkbakgrunnen blir oransje og tiltak bør vurderes. Når risiko for angrep nærmer seg 100 % er det avgjørende å sjekke åkeren for sjukdomssymptomer. Hvis sjukdommen er tilstede, er tiltak sterk anbefalt. Bakgrunnen i grafikken er nå rød.</p>\n{{filename="/images/desc_ill_2.jpg" description="Fig. 1 Eksempel p\u00e5 akkumulert risiko over tid (hvit linje) og daglig risiko (bl\u00e5 linje). "}}\n<p>Fig. 1 Eksempel på akkumulert risiko over tid (hvit linje) og daglig risiko (blå linje).</p>\n<h3>Varslingssesong – oppstart og avslutning av varsel</h3>\n<p>Modellen beregner risiko for sjukdomsangrep etter såing.</p>\n<h3>Utprøving og validering av modellen</h3>\n<h4>Nasjonalt</h4>\n<p>Vi har gjennomført 4 feltforsøk hos NLR i 2018 og 2019 med sprøyting etter FinBladflekk (Ficke <em>et al.</em> 2020). Sjukdomspresset i alle 4 felt var lav og modellert angrepsrisiko var lav. Vi har så langt ikke hatt forhold for å kunne vurdere hvordan modellen fungerer under høyt smittepress og værforhold som er gunstig for sjukdomsutvikling. Vi vil fortsette med testing av FinBladflekk i Norge i de kommende årene.</p>\n<h4>Internasjonalt</h4>\n<p>FinBladflekk modellen er testet i Finland i bygg og hvete gjennom mange år.</p>\n<h3>Referanser</h3>\n<p>Ficke, A., Grieu, C. & Nordskog, B. 2020. Testing av ulike modeller for bladflekksjukdommer i hvete og bygg. Jord- og plantekultur 2020. NIBIO BOK 6 (1): 86-91.</p>\n<p>Kontaktpersoner: Andrea Ficke (andrea.ficke@nibio.no)</p>\n<h3>Lenker til mer informasjon</h3>\n<p>Byggbrunflekk: <u><a href="https://www.plantevernleksikonet.no/l/oppslag/319/">https://www.plantevernleksikonet.no/l/oppslag/319/</a></u></p>\n<p>Hvetebrunflekk: <u><a href="https://www.plantevernleksikonet.no/l/oppslag/1458/">https://www.plantevernleksikonet.no/l/oppslag/1458/</a></u></p>\n<p>Hveteaksprikk: <u><a href="https://www.plantevernleksikonet.no/l/oppslag/617/">https://www.plantevernleksikonet.no/l/oppslag/617/</a></u></p> +statusInterpretation=Når akkumulert risiko for angrep (hvit strek) nærmer seg 50 %, er det tid for å gå ut i åkeren og sjekke sjukdomssituasjonen. Grafikkbakgrunnen blir oransje og tiltak bør vurderes. Når risiko for angrep nærmer seg 100 % er det avgjørende å sjekke åkeren for sjukdomssymptomer. Hvis sjukdommen er tilstede, er tiltak sterk anbefalt. Bakgrunnen i grafikken er nå rød. diff --git a/resources/images/desc_ill_1.jpg b/resources/images/desc_ill_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2b1539fcbf3c71062741be52b324a530ca200b5f Binary files /dev/null and b/resources/images/desc_ill_1.jpg differ diff --git a/resources/images/desc_ill_2.jpg b/resources/images/desc_ill_2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..95f4f23c1344e3ac3cf4e6cb42617c8d01a95485 Binary files /dev/null and b/resources/images/desc_ill_2.jpg differ diff --git a/src/main/java/fi/luke/vips/model/cerealmodels/FinnCerealModels.java b/src/main/java/fi/luke/vips/model/cerealmodels/FinnCerealModels.java index 2ec9e582afc80022a2686d7acd6474a65fcf1c8f..6be9d2e40144c2d73a8ce43cdb7021eb78886c08 100644 --- a/src/main/java/fi/luke/vips/model/cerealmodels/FinnCerealModels.java +++ b/src/main/java/fi/luke/vips/model/cerealmodels/FinnCerealModels.java @@ -12,6 +12,9 @@ import java.util.TimeZone; import java.util.TreeMap; import fi.uef.envi.mtt.model.diseasepressure.DiseasePressureModel; +import java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; import no.nibio.vips.entity.ModelConfiguration; import no.nibio.vips.entity.Result; import no.nibio.vips.entity.ResultImpl; @@ -47,6 +50,8 @@ public class FinnCerealModels extends I18nImpl implements Model { private Map<Date, List<Double>> windSpeed; private TimeZone zone; private String pathogen; + + private final ModelUtil modelUtil; // warning status limits; these define the upper limits for the corresponding risk category private int noRisk = 50; // no risk warning required @@ -54,6 +59,7 @@ public class FinnCerealModels extends I18nImpl implements Model { public FinnCerealModels() { super("fi.luke.vips.model.cerealmodels.texts"); + this.modelUtil = new ModelUtil(); } @Override @@ -76,7 +82,11 @@ public class FinnCerealModels extends I18nImpl implements Model { @Override public String getModelDescription(String lang) { - return getText("description", lang); + try { + return this.modelUtil.getTextWithBase64EncodedImages(getText("description", lang), this.getClass()); + } catch (IOException ex) { + return this.getText("description", lang); + } } @Override @@ -104,6 +114,9 @@ public class FinnCerealModels extends I18nImpl implements Model { return pathogen + " -malli"; } + if (arg0.equals("nb")) { + return "FinBladflekk"; + } return getModelName(); }