Class Irradiation

java.lang.Object
net.simplace.sim.model.FWSimComponent
net.simplace.sim.components.models.lintul5.Irradiation
All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer

public class Irradiation extends net.simplace.sim.model.FWSimComponent
Lintul5 - Simple generic model for simulation of crop growth - Radiation part

Introduction

The sim components in the package lintul5 implement the Lintul5 algorithms from (L5). They are designed to reproduce same results (up to rounding errors) as the original FST program.

The original model is subdivided into multiple sim components (which should be used in the following order to be as close as possible to the original algorithm).

  1. Irradiation
  2. PotentialEvapoTranspiration
  3. WaterBalance
  4. Phenology
  5. RadiationUseEfficiency
  6. Lintul5

Daylength calculation is performed by the transformer component AstronomicParametersTransformer

Irradiation component calculates the daily total irradiation

Description

The component calculates irradiation and atmospheric transmission as in the original PENMAN() routine.

It takes inputs from the AstronomicParametersTransformer.

It's outputs are used by PotentialEvapoTranspiration and Lintul5.

For documentation of the algorithms please consult the orginal documentation (L5)

Changes to original

Original PENMAN() subroutine is split into different parts, without changing the calculated results.

References

(L5) Joost Wolf, User guide for LINTUL5, Wageningen UR, Wageningen, 2012

Author:
G. Krauss
See Also:

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
inputiCOSLDAmplitude of sine of solar heightDOUBLE1--0.0
inputiDAYLAstronomic daylength (base = 0 degrees)DOUBLEh--0.0
inputiDTRdaily total radiation (output of routine WEATHR)DOUBLEJ/(m2 d)---
inputiSINLDSeasonal offset of sine of solar heightDOUBLE1--0.0
outATMTRatmospheric transmissionDOUBLE1--0.0
outAVRADDaily total irradiationDOUBLEJ/(m2 d)--0.0
  • Nested Class Summary

    Nested classes/interfaces inherited from class net.simplace.sim.model.FWSimComponent

    net.simplace.sim.model.FWSimComponent.TEST_STATE
  • Field Summary

    Fields inherited from class net.simplace.sim.model.FWSimComponent

    iFieldMap, iFrequence, iInputMap, iJexlRule, iMasterComponentGroup, iName, iOrderNumber, isComponentGroup, iSimComponentElement, iSimModel, iVarMap
  • Constructor Summary

    Constructors
    Constructor
    Description
    Empty constructor used by class.forName()
    Irradiation(String aName, HashMap<String,net.simplace.sim.util.FWSimVariable<?>> aFieldMap, HashMap<String,String> aInputMap, org.jdom2.Element aSimComponentElement, net.simplace.sim.util.FWSimVarMap aVarMap, int aOrderNumber)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected net.simplace.sim.model.FWSimComponent
    clone(net.simplace.sim.util.FWSimVarMap aVarMap)
    creates a clone from this SimComponent for use in other threads
    HashMap<String,net.simplace.sim.util.FWSimVariable<?>>
     
    HashMap<String,net.simplace.sim.util.FWSimVariable<?>>
    fillTestVariables(int aParamIndex, net.simplace.sim.model.FWSimComponent.TEST_STATE aDefineOrCheck)
    called for single component test to check the components algorithm.
    protected void
     
    protected void
     

    Methods inherited from class net.simplace.sim.model.FWSimComponent

    addVariable, bind, checkCondition, createSimComponent, createSimComponent, createSimComponent, createSimComponent, doProcess, getConstantVariables, getContentType, getCreateFormXML, getDescription, getEditFormXML, getFieldMap, getFrequence, getFrequenceRuleScript, getInputs, getInputVariables, getMasterComponentGroup, getName, getOrderNumber, getOutputVariables, getVariable, getVariableField, getVarMap, initialize, isConditionCheck, isVariableAvailable, performLinks, performLinks, readInputs, removeVariable, reset, runComponentTest, setVariablesDefault, toComponentLinkingXML, toDocXML, toGroupXML, toOutputDefinitionXML, toResourcesDataXML, toResourcesDefinitionXML, toString, toXML, writeVarInfos

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • Irradiation

      public Irradiation(String aName, HashMap<String,net.simplace.sim.util.FWSimVariable<?>> aFieldMap, HashMap<String,String> aInputMap, org.jdom2.Element aSimComponentElement, net.simplace.sim.util.FWSimVarMap aVarMap, int aOrderNumber)
      Parameters:
      aName -
      aFieldMap -
      aInputMap -
      aSimComponentElement -
      aVarMap -
      aOrderNumber -
    • Irradiation

      public Irradiation()
      Empty constructor used by class.forName()
  • Method Details

    • createVariables

      public HashMap<String,net.simplace.sim.util.FWSimVariable<?>> createVariables()
      Specified by:
      createVariables in interface net.simplace.sim.util.FWSimFieldContainer
      Specified by:
      createVariables in class net.simplace.sim.model.FWSimComponent
      See Also:
      • FWSimComponent.createVariables()
    • init

      protected void init()
      Specified by:
      init in class net.simplace.sim.model.FWSimComponent
      See Also:
      • FWSimComponent.init()
    • process

      protected void process()
      Specified by:
      process in class net.simplace.sim.model.FWSimComponent
      See Also:
      • FWSimComponent.process()
    • fillTestVariables

      public HashMap<String,net.simplace.sim.util.FWSimVariable<?>> fillTestVariables(int aParamIndex, net.simplace.sim.model.FWSimComponent.TEST_STATE aDefineOrCheck)
      called for single component test to check the components algorithm.
      Specified by:
      fillTestVariables in class net.simplace.sim.model.FWSimComponent
      See Also:
      • net.simplace.sim.util.FWSimFieldContainer#fillTestVariables(int aParamIndex, TEST_STATE aDefineOrCheck)
    • clone

      protected net.simplace.sim.model.FWSimComponent clone(net.simplace.sim.util.FWSimVarMap aVarMap)
      creates a clone from this SimComponent for use in other threads
      Specified by:
      clone in class net.simplace.sim.model.FWSimComponent
      See Also:
      • FWSimComponent.clone(net.simplace.sim.util.FWSimVarMap)