/** Constructor. */
  public PrecipitationEffectDoubleLogistic(
      GUIManager oManager, BehaviorTypeBase oParent, String sDescriptor) throws ModelException {
    super(oManager, oParent, sDescriptor, "", "", "");

    addRequiredData(mp_fAl);
    addRequiredData(mp_fBl);
    addRequiredData(mp_fCl);
    addRequiredData(mp_fAh);
    addRequiredData(mp_fBh);
    addRequiredData(mp_fCh);

    addRequiredData(m_iPrecipType);

    // Default precipitation type to annual
    m_iPrecipType.setValue(0);
  }
  /**
   * Constructor.
   *
   * @param oManager GUIManager object
   * @param oParent Parent managing object.
   * @param sDescriptor The name of the behavior for the user.
   * @param sParFileTag String which is used to identify this behavior in the parameter file.
   * @param sXMLRootString XML tag to surround this behavior's data.
   */
  public QuadratGLILight(
      GUIManager oManager,
      BehaviorTypeBase oParent,
      String sDescriptor,
      String sParFileTag,
      String sXMLRootString)
      throws ModelException {
    super(
        oManager,
        oParent,
        sDescriptor,
        sParFileTag,
        sXMLRootString,
        "light_behaviors.quadrat_based_gli");

    m_fMinVersion = 1.0;
    m_fVersion = 1.0;
    mp_oNewTreeDataMembers.add(new DataMember("Light level", "Light", DataMember.FLOAT));

    // Set this to false because we don't yet have a way to duplicate grids
    m_bCanBeDuplicated = false;

    m_iQuadratGLICalcAllGLIs.setValue("false");

    addRequiredData(m_iNumQuadratAziDiv);
    addRequiredData(m_iNumQuadratAltDiv);
    addRequiredData(m_fQuadratMinSunAngle);
    addRequiredData(m_fQuadratLightHeight);
    addRequiredData(m_iQuadratGLICalcAllGLIs);

    // Grids
    Grid oNewGrid;
    // Quadrat grid
    String sGridName = "Quadrat GLI";

    // Create the data member
    DataMember[] p_oDataMembers = new DataMember[1];

    p_oDataMembers[0] = new DataMember("GLI", "GLI", DataMember.FLOAT);
    oNewGrid = new Grid(sGridName, p_oDataMembers, null, 2, 2);

    // Assign to quadrat light
    oNewGrid = m_oManager.addGrid(oNewGrid, false);
    addGrid(oNewGrid, false);
  }