V1_0.java [src/java/m/ghg/daycent] Revision: default  Date:
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package m.ghg.daycent;

import csip.Config;
import csip.api.server.Executable;
import csip.ModelDataService;
import csip.api.client.ModelDataServiceCall;
import csip.api.server.ServiceException;
import csip.annotations.Description;
import csip.annotations.Name;
import csip.annotations.Options;
import csip.annotations.Resource;
import csip.utils.Parallel;
import csip.utils.TextParser;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.text.DecimalFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import javax.ws.rs.Path;
import static m.ghg.ApplicationResources.*;
import m.ghg.ApplicationResources;
import org.apache.commons.io.input.ReversedLinesFileReader;
import util.WeatherStatistics;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.runtime.RuntimeConstants;
import org.codehaus.jettison.json.JSONObject;
import util.ServiceUtils;

/**
 *
 * @author sidereus, od
 */
@Name("Daycent simulation execution")
@Description("Daycent CSIP service")
@Path("m/daycent/1.0")
@Options(timeout = "P1H")
@Resource(from = ApplicationResources.class)
public class V1_0 extends ModelDataService {

  protected String schedule;
  protected String schedule_IC;
  protected boolean fileAsJSON;
  protected String aoaId;
  protected JSONObject aoa_geometry;
  protected double[] latlon = {Double.NaN, Double.NaN};
  protected int weatherDuration;
  protected int startingYear;

  protected boolean useClimateWind;

  private final WeatherStatistics ws = new WeatherStatistics();

  Map<String, Map<String, Double>> crops = new HashMap<>();
  Map<String, Map<String, Double>> trees = new HashMap<>();
  Map<String, Map<String, Double>> fixes = new HashMap<>();
  Map<String, Map<String, Double>> lrrm = new HashMap<>();
  Map<String, Map<String, Double>> sitepars = new HashMap<>();
  Map<String, Map<String, Double>> soilpars = new HashMap<>();
  DecimalFormat df3 = new DecimalFormat("0.0##");
  DecimalFormat df1 = new DecimalFormat("0.#");
  DecimalFormat df1_0 = new DecimalFormat("0.0");
  DecimalFormat df4_0 = new DecimalFormat("0.0000");
  DecimalFormat df = new DecimalFormat("0.############");

  protected double nlayer;
  protected List<Double> profileDepths;

  @Override
  protected void preProcess() throws ServiceException {
    schedule = parameter().getString(SCHEDULE_FILE);
    schedule_IC = parameter().getString(SCHEDULE_FILE_IC, "");
    aoa_geometry = parameter().getParamJSON(soils.AoA.AOA_GEOMETRY);
    useClimateWind = parameter().getBoolean(USE_CLIMATE_WIND, false);
    fileAsJSON = parameter().getBoolean(STREAM_FILE, false);
    weatherDuration = parameter().getInt(WEATHER_DURATION_TXT);
    startingYear = parameter().getInt(STARTING_YEAR_TXT);

    schedule = ServiceUtils.checkRemoveExtension(schedule);
  }


  @Override
  protected void doProcess() throws Exception {

    Parallel.run(Config.getBoolean("ghg.serial.datafetch", false),
        () -> {
          fetchClimate();
        }
    );
    computeWeatherStats();
    createConfig(getSite100());
    runDaycent();
    runDaycentList();
  }


  @Override
  protected void postProcess() throws Exception {
    results().put(workspace().getFile(schedule + ".lis"));
    results().put(workspace().getFile(schedule + ".bin"));
    parseOutfile().forEach(out -> results().put(workspace().getFile(out)));
  }


  protected void computeWeatherStats() throws IOException, Exception {
    try (Stream<String> stream = workspace().lines(DAYCENT_WEATHER)) {
      ws.compute(stream);
    }
  }


  protected String getSite100() throws IOException {
    String scheduleWithExtension = schedule + ".sch";
    return new TextParser(workspace().getFile(scheduleWithExtension))
        .toLineContaining(".100")
        .tokens().asStringArray()[0];
  }


  protected List<String> parseOutfile() throws IOException {
    try (Stream<String> stream = workspace().lines("outfiles.in")) {
      return stream
          .filter(l -> l.startsWith("1"))
          .map(l -> l.split("\\s+")[1])
          .collect(Collectors.toList());
    }
  }


  protected void runDaycent() throws ServiceException, IOException {
    Executable exe = resources().getExe(DAYCENT);
    exe = (schedule_IC.isEmpty()) ? buildExe(exe) : buildExeIC(exe);
    int ret = exe.exec();
    if (ret != 0 || simulationFailure(exe)) {
      throwError(ret, exe);
    }
  }


  protected void runDaycentList() throws ServiceException, IOException {
    Executable exe = resources().getExe(DAYCENT_LIST);
    exe.addArguments(
        schedule,
        schedule,
        "outvars.txt"
    );
    int ret = exe.exec();
    if (ret != 0 || lisFailure(exe)) {
      throwError(ret, exe);
    }
  }


  private void throwError(int ret, Executable exe) throws IOException, ServiceException {
    File stderr = exe.stderr();
    File stdout = exe.stdout();
    String err = "ret: " + ret + "\n";
    if (stderr.exists() && stderr.length() > 0) {
      err = err + "stderr: \n" + workspace().readString(stderr.getName());
    }
    if (stdout.exists() && stdout.length() > 0) {
      String out = "";
      ReversedLinesFileReader r = new ReversedLinesFileReader(stdout, Charset.forName("UTF-8"));
      for (int i = 0; i < 20; i++) {
        String l = r.readLine();
        if (l == null) {
          break;
        }
        out = l + '\n' + out;
      }
      r.close();
      err = err + "stdout (last 10 lines): ...\n" + out;
    }
    throw new ServiceException("Error running " + exe.getName() + ": " + err);
  }


  private Executable buildExe(Executable exe) {
    exe.addArguments(
        "-s", schedule,
        "-n", schedule
    );
    return exe;
  }


  private Executable buildExeIC(Executable exe) {
    schedule_IC = ServiceUtils.checkRemoveExtension(schedule_IC);
    exe.addArguments(
        "-s", schedule,
        "-n", schedule,
        "-e", schedule_IC
    );
    return exe;
  }


  protected void fetchClimate() throws Exception {
    ModelDataServiceCall mds = new ModelDataServiceCall()
        .put(STARTING_YEAR_TXT, startingYear)
        .put(WEATHER_DURATION_TXT, weatherDuration)
        .put(STREAM_FILE, fileAsJSON)
        .put(USE_CLIMATE_WIND, useClimateWind)
        .put(soils.AoA.AOA_GEOMETRY, new JSONObject()
            .put(TYPE, aoa_geometry.get(TYPE))
            .put(COORDINATES, aoa_geometry.get(COORDINATES)))
        .url(Config.getString(WEATHER_URL_KEY,
            request().getCodebase() + "d/weather/cligen/1.0"))
        .call();

    if (mds.serviceFinished()) {
      mds.download(DAYCENT_WEATHER, workspace().getFile(DAYCENT_WEATHER));
    } else {
      throw new ServiceException("GHG Weather service error: " + mds.getError());
    }
  }


  protected boolean simulationFailure(Executable exe) throws IOException {
    try (Stream<String> stream = workspace().lines(exe.stderr())) {
      return stream
          .filter(l -> l.toLowerCase().contains("execution success"))
          .collect(Collectors.toList())
          .isEmpty();
    }
  }


  protected boolean lisFailure(Executable exe) throws IOException {
    try (Stream<String> stream = workspace().lines(exe.stdout())) {
      return stream
          .filter(l -> l.contains("Done."))
          .collect(Collectors.toList())
          .isEmpty();
    }
  }


  // because templates are currently inputs
  private File renameInputTemplate(String template) throws IOException {
    String sourcePath = workspace().getFile(template).getAbsolutePath();
    String destPath = workspace().getDir().getAbsolutePath()
        .concat(File.separator).concat(TMP100);
    File sourceTemplate = new File(sourcePath);
    File destTemplate = new File(destPath);

    Files.copy(sourceTemplate.toPath(), destTemplate.toPath());

    if (!Files.readAllLines(sourceTemplate.toPath()).equals(Files.readAllLines(destTemplate.toPath()))) {
      throw new IOException("File not fully copied");
    } else {
      Files.delete(sourceTemplate.toPath());
    }

    return sourceTemplate;
  }


  private void cleanUpWorkspace() throws IOException {
    Files.delete(workspace().getFile(TMP100).toPath());
  }


  protected void createConfig(String template) throws IOException {
    VelocityEngine velocity = new VelocityEngine();
    velocityInit(velocity);
    VelocityContext context = new VelocityContext();
    context.put(DAYCENT.toLowerCase(), this);

    File filledTemplate = renameInputTemplate(template);

    try (FileWriter w = new FileWriter(filledTemplate.getAbsolutePath())) {
      Template vt = velocity.getTemplate(TMP100, "utf-8");
      vt.merge(context, w);
    }
    cleanUpWorkspace();
  }


  public void velocityInit(VelocityEngine velocity) {
    velocity.setProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH,
        workspace().getDir().getAbsolutePath());
    velocity.init();
  }


  static final Map<String, String> prdxDef = new HashMap() {
    {
      put(GRASS_CLOVER_PASTURE1, "0.35");
      put(GRASS_CLOVER_PASTUREI1, "2.0");
      put(GRASS_CLOVER_PASTUREI2, "2.0");
      put(GRASS_CLOVER_PASTUREI3, "2.0");
      put(GRASS_CLOVER_PASTUREI4, "2.0");
      put(GRASS_CLOVER_PASTUREI5, "2.0");
      put(SOYBEAN1, "0.3");
      put(SOYBEAN2, "0.4");
      put(SOYBEAN3, "0.5");
      put(SOYBEAN4, "0.6");
      put(OAT1, "0.5");
      put(OAT2, "1.85");
      put(OAT3, "2.0");
      put(CORN1, "0.30");
      put(CORN2, "0.40");
      put(CORN3, "0.45");
      put(CORN4, "0.55");
      put(CORN5, "0.60");
      put(CORN6, "0.68");
      put(CORN7, "0.75");
      put(CORN8, "0.90");
      put(CORN9, "1.05");
      put(CORN10, "1.35");
      put(CORN11, "1.65");
      put(CORN12, "2.0");
      put(CORN13, "3.0");
      put(POPCORN13, "3.0");
      put(SWEETCORN13, "3.0");
      put(CORNSILAGE9, "3.0");
      put(CORNSILAGE10, "3.0");
      put(CORNSILAGE11, "3.0");
      put(CORNSILAGE12, "3.0");
      put(CORNSILAGE13, "3.0");
      put(GRASS_50WARM_50COOL, "1.418");
      put(SORGHUM1, "2.25");
      put(SORGHUM2, "2.25");
      put(SORGHUM3, "2.5");
      put(FSORGHUM, "2.5");
      put(SORG_HAY, "2.5");
      put(SORG_SILAGE, "2.5");
      put(COTTON, "1.6");
      put(COTTON2, "1.6");
      put(MILLET1, "2.0");
      put(MS, "2.0");
      put(FLAX, "2.1");
      put(LENT, "1.4");
      put(BUCKWHEAT, "1.4");
      put(WHEAT, "1.7");
      put(WHEAT1, "1.75");
      put(WHEAT2, "1.85");
      put(WHEAT3, "2.0");
      put(WHEAT3P, "2.0");
      put(WHEAT3EG, "2.0");
      put(BARLEY1, "1.75");
      put(BARLEY2, "1.85");
      put(BARLEY3, "2.0");
      put(BARLEY_HAY, "2.0");
      put(BARLEY_SILAGE, "2.0");
      put(GRASS_0WARM_100COOL, "3.5");
      put(GRASS_100WARM_0COOL, "0.7");
      put(GRASS_25WARM_75COOL, "3.5");
      put(GRASS_75WARM_25COOL, "3.5");
      put(GRASS_0W_100C, "1.5");
      put(GRASS_100W_0C, "1.5");
      put(GRASS_50W_50C, "1.5");
      put(GRASS_25W_75C, "1.5");
      put(GRASS_75W_25C, "1.5");
      put(GRASS_CLOVER_PASTURED1, "1.5");
      put(GRASS_CLOVER_PASTURED2, "1.5");
      put(GRASS_CLOVER_PASTURED3, "1.5");
      put(GRASS_CLOVER_PASTURED4, "1.5");
      put(GRASS_CLOVER_PASTURED5, "1.5");
      put(DRYBEANS, "1.4");
      put(MUNGBEANS, "1.4");
      put(WHEAT_HARVEST_INDEX_0, "0.30");
      put(WHEAT_HARVEST_INDEX_1, "0.3"); // was 1.7
      put(WHEAT_HARVEST_INDEX_2, "1.75");
      put(WHEAT_HARVEST_INDEX_3, "1.85");
      put(WHEAT_HARVEST_INDEX_4, "2.0");
      put(WHEAT_SILAGE_HARVEST_INDEX_4, "2.0");
      put(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4, "2.0");
      put(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4, "2.0");
      put(SOFT_WHEAT_HARVEST_INDEX_4, "2.0");
      put(WHEAT_HARVEST_INDEX_3EG, "2.0");
      put(SUNFLOWER, "2.1");
      put(AUSTRIAN_WINTER_PEA, "2.1");
      put(GENERIC_AUSTRIAN_PEA, "1.4");
      put(PEA1, "1.4");
      put(PEA2, "1.4");
      put(SWITCHGRASS, "2.75");
      put(BAHIA_SWITCHGRASS, "2.0");
      put(POTATO_LAUCHSTADT, "2.0");
      put(POTATO_SUGARBEET, "3.5");
      put(POTATO_SUGARBEETL, "3.5");
      put(WEEDSG1, "1.5");
      put(WEEDSG2, "1.5");
      put(WEEDSG3, "1.5");
      put(WEEDSG4, "1.5");
      put(WEEDSG5, "1.5");
      put(WEEDSWA, "1.5");
      put(WEEDSE, "1.5");
      put(ONION_JORDAN, "2.0");
      put(TOMATOES, "2.0");
      put(ALFALFA1, "0.3");
      put(ALFALFA2, "0.3");
      put(ALFALFA3, "0.3");
      put(ALFALFA4, "2.0");
      put(ALFALFA_BALEAGE, "2.0");
      put(SOYBEAN_CLOVER, "2.0");
      put(GRASS_CLOVER_PASTUREWA, "1.5");
      put(GRASS_CLOVER_PASTUREIWA, "3.5");
      put(GRASS_100COOL, "1.5");
      put(PEANUT, "2.5");
      put(RICE_LOWLAND, "2.5");
      put(SAFFLOWER, "2.1");
      put(MILLET, "2.5");
      put(MILLETM, "2.5");
      put(WHEAT_HARVEST_INDEX_RYE, "1.85");
      put(WHEAT_HARVEST_INDEX_RHAY, "1.85");
      put(WHEAT_HARVEST_INDEX_RSIL, "1.85");
      put(WHEAT_HARVEST_INDEX_TRIT, "1.85");
      put(SOYBEAN_COVER_CROP, "1.4");
      put(TEMPERATE_TALLGRASS, "0.7");
      put(LEGUME_COVER_CROP, "1.4");
      put(CEREAL_COVER_CROP, "1.85");
      put(CEREAL_HAY, "1.85");
      put(GRASS_COVER_CROP, "1.50");
      put(BROADLEAF_COVER_CROP, "2.0");
      put(LEGUME_CEREAL_COVER_CROP, "1.5");

    }


  };

  static final Map<String, String> himaxDef = new HashMap() {
    {
      put(GRASS_50WARM_50COOL, "0.02");
      put(CORN1, "0.35");
      put(CORN2, "0.35");
      put(CORN3, "0.4");
      put(CORN4, "0.45");
      put(CORN5, "0.5");
      put(CORN6, "0.6");
      put(CORN7, "0.6");
      put(CORN8, "0.6");
      put(CORN9, "0.6");
      put(CORN10, "0.6");
      put(CORN11, "0.6");
      put(CORN12, "0.6");
      put(CORN13, "0.6");
      put(POPCORN13, "0.6");
      put(SWEETCORN13, "0.6");
      put(CORNSILAGE9, "0.6");
      put(CORNSILAGE10, "0.6");
      put(CORNSILAGE11, "0.6");
      put(CORNSILAGE12, "0.6");
      put(CORNSILAGE13, "0.6");
      put(GRASS_CLOVER_PASTURE1, "0.02");
      put(GRASS_CLOVER_PASTUREI1, "0.02");
      put(GRASS_CLOVER_PASTUREI2, "0.02");
      put(GRASS_CLOVER_PASTUREI3, "0.02");
      put(GRASS_CLOVER_PASTUREI4, "0.02");
      put(GRASS_CLOVER_PASTUREI5, "0.02");
      put(SOYBEAN1, "0.37");
      put(SOYBEAN2, "0.45");
      put(SOYBEAN3, "0.5");
      put(SOYBEAN4, "0.5");
      put(OAT1, "0.43");
      put(OAT2, "0.45");
      put(OAT3, "0.5");
      put(CORN4, "0.45");
      put(SORGHUM1, "0.5");
      put(SORGHUM2, "0.5");
      put(SORGHUM3, "0.5");
      put(FSORGHUM, "0.5");
      put(SORG_HAY, "0.5");
      put(SORG_SILAGE, "0.5");
      put(COTTON, "0.35");
      put(COTTON2, "0.35");
      put(MILLET1, "0.5");
      put(MS, "0.5");
      put(FLAX, "0.40");
      put(LENT, "0.31");
      put(BUCKWHEAT, "0.31");
      put(WHEAT, "0.35");
      put(WHEAT1, "0.4");
      put(WHEAT2, "0.45");
      put(WHEAT3, "0.5");
      put(WHEAT3P, "0.5");
      put(WHEAT3EG, "0.5");
      put(BARLEY1, "0.4");
      put(BARLEY2, "0.45");
      put(BARLEY3, "0.5");
      put(BARLEY_HAY, "0.5");
      put(BARLEY_SILAGE, "0.5");
      put(GRASS_0WARM_100COOL, "0.02");
      put(GRASS_100WARM_0COOL, "0.02");
      put(GRASS_25WARM_75COOL, "0.05");
      put(GRASS_75WARM_25COOL, "0.05");
      put(GRASS_0W_100C, "0.02");
      put(GRASS_100W_0C, "0.02");
      put(GRASS_50W_50C, "0.02");
      put(GRASS_25W_75C, "0.02");
      put(GRASS_75W_25C, "0.02");
      put(GRASS_CLOVER_PASTURED1, "0.02");
      put(GRASS_CLOVER_PASTURED2, "0.02");
      put(GRASS_CLOVER_PASTURED3, "0.02");
      put(GRASS_CLOVER_PASTURED4, "0.02");
      put(GRASS_CLOVER_PASTURED5, "0.02");
      put(DRYBEANS, "0.4");
      put(MUNGBEANS, "0.4");
      put(WHEAT_HARVEST_INDEX_0, "0.35");
      put(WHEAT_HARVEST_INDEX_1, "0.35");
      put(WHEAT_HARVEST_INDEX_2, "0.4");
      put(WHEAT_HARVEST_INDEX_3, "0.45");
      put(WHEAT_HARVEST_INDEX_4, "0.5");
      put(WHEAT_SILAGE_HARVEST_INDEX_4, "0.5");
      put(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4, "0.5");
      put(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4, "0.5");
      put(SOFT_WHEAT_HARVEST_INDEX_4, "0.5");
      put(WHEAT_HARVEST_INDEX_3EG, "0.5");
      put(SUNFLOWER, "0.4");
      put(AUSTRIAN_WINTER_PEA, "0.31");
      put(GENERIC_AUSTRIAN_PEA, "0.31");
      put(PEA1, "0.31");
      put(PEA2, "0.31");
      put(SWITCHGRASS, "0.2");
      put(BAHIA_SWITCHGRASS, "0.2");
      put(POTATO_LAUCHSTADT, "0.02");
      put(POTATO_SUGARBEET, "0.02");
      put(POTATO_SUGARBEETL, "0.02");
      put(WEEDSG1, "0.02");
      put(WEEDSG2, "0.02");
      put(WEEDSG3, "0.02");
      put(WEEDSG4, "0.02");
      put(WEEDSG5, "0.02");
      put(WEEDSWA, "0.02");
      put(WEEDSE, "0.02");
      put(ONION_JORDAN, "0.5");
      put(TOMATOES, "0.5");
      put(ALFALFA1, "0.02");
      put(ALFALFA2, "0.02");
      put(ALFALFA3, "0.02");
      put(ALFALFA4, "0.02");
      put(ALFALFA_BALEAGE, "0.02");
      put(SOYBEAN_CLOVER, "0.02");
      put(GRASS_CLOVER_PASTUREWA, "0.02");
      put(GRASS_CLOVER_PASTUREIWA, "0.02");
      put(GRASS_100COOL, "0.0");
      put(PEANUT, "0.41");
      put(RICE_LOWLAND, "0.55");
      put(SAFFLOWER, "0.30");
      put(MILLET, "0.5");
      put(MILLETM, "0.5");
      put(WHEAT_HARVEST_INDEX_RYE, "0.45");
      put(WHEAT_HARVEST_INDEX_RHAY, "0.45");
      put(WHEAT_HARVEST_INDEX_RSIL, "0.45");
      put(WHEAT_HARVEST_INDEX_TRIT, "0.45");
      put(SOYBEAN_COVER_CROP, "0.4");
      put(TEMPERATE_TALLGRASS, "0.0");
      put(LEGUME_COVER_CROP, "0.4");
      put(CEREAL_COVER_CROP, "0.45");
      put(CEREAL_HAY, "0.45");
      put(GRASS_COVER_CROP, "0.0");
      put(BROADLEAF_COVER_CROP, "0.5");
      put(LEGUME_CEREAL_COVER_CROP, "0.02");
    }


  };

  static final Map<String, String> hiwsfDef = new HashMap() {
    {
      put(GRASS_50WARM_50COOL, "0.02");
      put(CORN1, "0.5");
      put(CORN2, "0.35");
      put(CORN3, "0.4");
      put(CORN4, "0.45");
      put(CORN5, "0.5");
      put(CORN6, "0.6");
      put(CORN7, "0.6");
      put(CORN8, "0.6");
      put(CORN9, "0.6");
      put(CORN10, "0.6");
      put(CORN11, "0.6");
      put(CORN12, "0.6");
      put(CORN13, "0.6");
      put(POPCORN13, "0.6");
      put(SWEETCORN13, "0.6");
      put(CORNSILAGE9, "0.6");
      put(CORNSILAGE10, "0.6");
      put(CORNSILAGE11, "0.6");
      put(CORNSILAGE12, "0.6");
      put(CORNSILAGE13, "0.6");
      put(GRASS_CLOVER_PASTURE1, "0.02");
      put(GRASS_CLOVER_PASTUREI1, "0.02");
      put(GRASS_CLOVER_PASTUREI2, "0.02");
      put(GRASS_CLOVER_PASTUREI3, "0.02");
      put(GRASS_CLOVER_PASTUREI4, "0.02");
      put(GRASS_CLOVER_PASTUREI5, "0.02");
      put(SOYBEAN1, "0.37");
      put(SOYBEAN2, "0.45");
      put(SOYBEAN3, "0.5");
      put(SOYBEAN4, "0.5");
      put(OAT1, "0.43");
      put(OAT2, "0.45");
      put(OAT3, "0.5");
      put(CORN4, "0.45");
      put(SORGHUM1, "0.5");
      put(SORGHUM2, "0.5");
      put(SORGHUM3, "0.5");
      put(FSORGHUM, "0.5");
      put(SORG_HAY, "0.5");
      put(SORG_SILAGE, "0.5");
      put(COTTON, "0.35");
      put(COTTON2, "0.35");
      put(MILLET1, "0.5");
      put(MS, "0.5");
      put(FLAX, "0.40");
      put(LENT, "0.31");
      put(BUCKWHEAT, "0.31");
      put(WHEAT, "0.35");
      put(WHEAT1, "0.4");
      put(WHEAT2, "0.45");
      put(WHEAT3, "0.5");
      put(WHEAT3P, "0.5");
      put(WHEAT3EG, "0.5");
      put(BARLEY1, "0.4");
      put(BARLEY2, "0.45");
      put(BARLEY3, "0.5");
      put(BARLEY_HAY, "0.5");
      put(BARLEY_SILAGE, "0.5");
      put(GRASS_0WARM_100COOL, "0.02");
      put(GRASS_100WARM_0COOL, "0.02");
      put(GRASS_25WARM_75COOL, "0.05");
      put(GRASS_75WARM_25COOL, "0.05");
      put(GRASS_0W_100C, "0.02");
      put(GRASS_100W_0C, "0.02");
      put(GRASS_50W_50C, "0.02");
      put(GRASS_25W_75C, "0.02");
      put(GRASS_75W_25C, "0.02");
      put(GRASS_CLOVER_PASTURED1, "0.02");
      put(GRASS_CLOVER_PASTURED2, "0.02");
      put(GRASS_CLOVER_PASTURED3, "0.02");
      put(GRASS_CLOVER_PASTURED4, "0.02");
      put(GRASS_CLOVER_PASTURED5, "0.02");
      put(DRYBEANS, "0.4");
      put(MUNGBEANS, "0.4");
      put(WHEAT_HARVEST_INDEX_0, "0.35");
      put(WHEAT_HARVEST_INDEX_1, "0.35");
      put(WHEAT_HARVEST_INDEX_2, "0.4");
      put(WHEAT_HARVEST_INDEX_3, "0.45");
      put(WHEAT_HARVEST_INDEX_4, "0.5");
      put(WHEAT_SILAGE_HARVEST_INDEX_4, "0.5");
      put(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4, "0.5");
      put(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4, "0.5");
      put(SOFT_WHEAT_HARVEST_INDEX_4, "0.5");
      put(WHEAT_HARVEST_INDEX_3EG, "0.5");
      put(SUNFLOWER, "0.4");
      put(AUSTRIAN_WINTER_PEA, "0.31");
      put(GENERIC_AUSTRIAN_PEA, "0.5");
      put(PEA1, "0.5");
      put(PEA2, "0.5");
      put(SWITCHGRASS, "0.2");
      put(BAHIA_SWITCHGRASS, "0.2");
      put(POTATO_LAUCHSTADT, "0.02");
      put(POTATO_SUGARBEET, "0.02");
      put(POTATO_SUGARBEETL, "0.02");
      put(WEEDSG1, "0.02");
      put(WEEDSG2, "0.02");
      put(WEEDSG3, "0.02");
      put(WEEDSG4, "0.02");
      put(WEEDSG5, "0.02");
      put(WEEDSWA, "0.02");
      put(WEEDSE, "0.02");
      put(ONION_JORDAN, "0.5");
      put(TOMATOES, "0.5");
      put(ALFALFA1, "0.02");
      put(ALFALFA2, "0.02");
      put(ALFALFA3, "0.02");
      put(ALFALFA4, "0.02");
      put(ALFALFA_BALEAGE, "0.02");
      put(SOYBEAN_CLOVER, "0.02");
      put(GRASS_CLOVER_PASTUREWA, "0.02");
      put(GRASS_CLOVER_PASTUREIWA, "0.02");
      put(GRASS_100COOL, "0.0");
      put(PEANUT, "0.41");
      put(RICE_LOWLAND, "0.55");
      put(SAFFLOWER, "0.5");
      put(MILLET, "0.5");
      put(MILLETM, "0.5");
      put(WHEAT_HARVEST_INDEX_RYE, "0.45");
      put(WHEAT_HARVEST_INDEX_RHAY, "0.45");
      put(WHEAT_HARVEST_INDEX_RSIL, "0.45");
      put(WHEAT_HARVEST_INDEX_TRIT, "0.45");
      put(SOYBEAN_COVER_CROP, "0.4");
      put(TEMPERATE_TALLGRASS, "0.0");
      put(LEGUME_COVER_CROP, "0.4");
      put(CEREAL_COVER_CROP, "0.45");
      put(CEREAL_HAY, "0.45");
      put(GRASS_COVER_CROP, "0.0");
      put(BROADLEAF_COVER_CROP, "0.5");
      put(LEGUME_CEREAL_COVER_CROP, "0.02");
    }


  };

  static final Map<String, String> ppdf1Def = new HashMap() {
    {
      put(OAT1, "17.0");
      put(GRASS_50WARM_50COOL, "22.0");
      put(CORN1, "30.0");
      put(CORN2, "30.0");
      put(CORN3, "30.0");
      put(CORN4, "30.0");
      put(CORN5, "30.0");
      put(CORN6, "30.0");
      put(CORN7, "30.0");
      put(CORN8, "30.0");
      put(CORN9, "30.0");
      put(CORN10, "30.0");
      put(CORN11, "30.0");
      put(CORN12, "30.0");
      put(CORN13, "30.0");
      put(POPCORN13, "30.0");
      put(SWEETCORN13, "30.0");
      put(CORNSILAGE9, "30.0");
      put(CORNSILAGE10, "30.0");
      put(CORNSILAGE11, "30.0");
      put(CORNSILAGE12, "30.0");
      put(CORNSILAGE13, "30.0");
      put(GRASS_CLOVER_PASTURE1, "22.0");
      put(GRASS_CLOVER_PASTUREI1, "15.0");
      put(GRASS_CLOVER_PASTUREI2, "30.0");
      put(GRASS_CLOVER_PASTUREI3, "22.0");
      put(GRASS_CLOVER_PASTUREI4, "18.0");
      put(GRASS_CLOVER_PASTUREI5, "27.0");
      put(SOYBEAN1, "27.0");
      put(SOYBEAN2, "27.0");
      put(SOYBEAN3, "27.0");
      put(SOYBEAN4, "27.0");
      put(OAT2, "17.0");
      put(OAT3, "17.0");
      put(SORGHUM1, "30.0");
      put(SORGHUM2, "30.0");
      put(SORGHUM3, "30.0");
      put(FSORGHUM, "30.0");
      put(SORG_HAY, "30.0");
      put(SORG_SILAGE, "30.0");
      put(COTTON, "27.0");
      put(COTTON2, "27.0");
      put(MILLET1, "30.0");
      put(MS, "30.0");
      put(FLAX, "23.0");
      put(LENT, "15.0");
      put(BUCKWHEAT, "15.0");
      put(WHEAT, "17.0");
      put(WHEAT1, "17.0");
      put(WHEAT2, "17.0");
      put(WHEAT3, "17.0");
      put(WHEAT3P, "17.0");
      put(WHEAT3EG, "17.0");
      put(BARLEY1, "17.0");
      put(BARLEY2, "17.0");
      put(BARLEY3, "17.0");
      put(BARLEY_HAY, "17.0");
      put(BARLEY_SILAGE, "17.0");
      put(GRASS_0WARM_100COOL, "15.0");
      put(GRASS_100WARM_0COOL, "30.0");
      put(GRASS_25WARM_75COOL, "18.0");
      put(GRASS_75WARM_25COOL, "27.0");
      put(GRASS_0W_100C, "15.0");
      put(GRASS_100W_0C, "30.0");
      put(GRASS_50W_50C, "22.0");
      put(GRASS_25W_75C, "18.0");
      put(GRASS_75W_25C, "27.0");
      put(GRASS_CLOVER_PASTURED1, "15.0");
      put(GRASS_CLOVER_PASTURED2, "30.0");
      put(GRASS_CLOVER_PASTURED3, "22.0");
      put(GRASS_CLOVER_PASTURED4, "18.0");
      put(GRASS_CLOVER_PASTURED5, "27.0");
      put(DRYBEANS, "27.0");
      put(MUNGBEANS, "27.0");
      put(WHEAT_HARVEST_INDEX_0, "18.0");
      put(WHEAT_HARVEST_INDEX_1, "18.0");
      put(WHEAT_HARVEST_INDEX_2, "18.0");
      put(WHEAT_HARVEST_INDEX_3, "18.0");
      put(WHEAT_HARVEST_INDEX_4, "18.0");
      put(WHEAT_SILAGE_HARVEST_INDEX_4, "18.0");
      put(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4, "17.0");
      put(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4, "18.0");
      put(SOFT_WHEAT_HARVEST_INDEX_4, "18.0");
      put(WHEAT_HARVEST_INDEX_3EG, "18.0");
      put(SUNFLOWER, "23.0");
      put(AUSTRIAN_WINTER_PEA, "15.0");
      put(GENERIC_AUSTRIAN_PEA, "15.0");
      put(PEA1, "15.0");
      put(PEA2, "15.0");
      put(SWITCHGRASS, "30.0");
      put(BAHIA_SWITCHGRASS, "30.0");
      put(POTATO_LAUCHSTADT, "17.0");
      put(POTATO_SUGARBEET, "17.0");
      put(POTATO_SUGARBEETL, "17.0");
      put(WEEDSG1, "15.0");
      put(WEEDSG2, "30.0");
      put(WEEDSG3, "22.0");
      put(WEEDSG4, "18.0");
      put(WEEDSG5, "27.0");
      put(WEEDSWA, "18.0");
      put(WEEDSE, "20.0");
      put(ONION_JORDAN, "27.0");
      put(TOMATOES, "27.0");
      put(ALFALFA1, "22.0");
      put(ALFALFA2, "22.0");
      put(ALFALFA3, "22.0");
      put(ALFALFA4, "22.0");
      put(ALFALFA_BALEAGE, "22.0");
      put(SOYBEAN_CLOVER, "25.0");
      put(GRASS_CLOVER_PASTUREWA, "18.0");
      put(GRASS_CLOVER_PASTUREIWA, "18.0");
      put(GRASS_100COOL, "15.0");
      put(PEANUT, "27.0");
      put(RICE_LOWLAND, "30.0");
      put(SAFFLOWER, "25.0");
      put(MILLET, "30.0");
      put(MILLETM, "30.0");
      put(WHEAT_HARVEST_INDEX_RYE, "20.0");
      put(WHEAT_HARVEST_INDEX_RHAY, "20.0");
      put(WHEAT_HARVEST_INDEX_RSIL, "20.0");
      put(WHEAT_HARVEST_INDEX_TRIT, "20.0");
      put(SOYBEAN_COVER_CROP, "27.0");
      put(TEMPERATE_TALLGRASS, "27.0");
      put(LEGUME_COVER_CROP, "27.0");
      put(CEREAL_COVER_CROP, "20.0");
      put(CEREAL_HAY, "20.0");
      put(GRASS_COVER_CROP, "15.0");
      put(BROADLEAF_COVER_CROP, "30.0");
      put(LEGUME_CEREAL_COVER_CROP, "18.0");
    }


  };

  static final Map<String, String> ppdf2Def = new HashMap() {
    {
      put(OAT1, "35.0");
      put(GRASS_50WARM_50COOL, "38.0");
      put(CORN1, "40.0");
      put(CORN2, "45.0");
      put(CORN3, "45.0");
      put(CORN4, "45.0");
      put(CORN5, "45.0");
      put(CORN6, "45.0");
      put(CORN7, "45.0");
      put(CORN8, "45.0");
      put(CORN9, "45.0");
      put(CORN10, "45.0");
      put(CORN11, "45.0");
      put(CORN12, "45.0");
      put(CORN13, "45.0");
      put(POPCORN13, "45.0");
      put(SWEETCORN13, "45.0");
      put(CORNSILAGE9, "45.0");
      put(CORNSILAGE10, "45.0");
      put(CORNSILAGE11, "45.0");
      put(CORNSILAGE12, "45.0");
      put(CORNSILAGE13, "45.0");
      put(GRASS_CLOVER_PASTURE1, "35.0");
      put(GRASS_CLOVER_PASTUREI1, "32.0");
      put(GRASS_CLOVER_PASTUREI2, "45.0");
      put(GRASS_CLOVER_PASTUREI3, "35.0");
      put(GRASS_CLOVER_PASTUREI4, "35.0");
      put(GRASS_CLOVER_PASTUREI5, "45.0");
      put(SOYBEAN1, "40.0");
      put(SOYBEAN2, "40.0");
      put(SOYBEAN3, "40.0");
      put(SOYBEAN4, "40.0");
      put(OAT2, "35.0");
      put(OAT3, "35.0");
      put(SORGHUM1, "45.0");
      put(SORGHUM2, "45.0");
      put(SORGHUM3, "45.0");
      put(FSORGHUM, "45.0");
      put(SORG_HAY, "45.0");
      put(SORG_SILAGE, "45.0");
      put(COTTON, "40.0");
      put(COTTON2, "40.0");
      put(MILLET1, "45.0");
      put(MS, "45.0");
      put(FLAX, "35.0");
      put(LENT, "30.0");
      put(BUCKWHEAT, "30.0");
      put(WHEAT, "35.0");
      put(WHEAT1, "35.0");
      put(WHEAT2, "35.0");
      put(WHEAT3, "35.0");
      put(WHEAT3P, "35.0");
      put(WHEAT3EG, "35.0");
      put(BARLEY1, "35.0");
      put(BARLEY2, "35.0");
      put(BARLEY3, "35.0");
      put(BARLEY_HAY, "35.0");
      put(BARLEY_SILAGE, "35.0");
      put(GRASS_0WARM_100COOL, "32.0");
      put(GRASS_100WARM_0COOL, "45.0");
      put(GRASS_25WARM_75COOL, "35.0");
      put(GRASS_75WARM_25COOL, "45.0");
      put(GRASS_0W_100C, "32.0");
      put(GRASS_100W_0C, "45.0");
      put(GRASS_50W_50C, "38.0");
      put(GRASS_25W_75C, "35.0");
      put(GRASS_75W_25C, "45.0");
      put(GRASS_CLOVER_PASTURED1, "32.0");
      put(GRASS_CLOVER_PASTURED2, "45.0");
      put(GRASS_CLOVER_PASTURED3, "35.0");
      put(GRASS_CLOVER_PASTURED4, "35.0");
      put(GRASS_CLOVER_PASTURED5, "45.0");
      put(DRYBEANS, "40.0");
      put(MUNGBEANS, "40.0");
      put(WHEAT_HARVEST_INDEX_0, "35.0");
      put(WHEAT_HARVEST_INDEX_1, "35.0");
      put(WHEAT_HARVEST_INDEX_2, "35.0");
      put(WHEAT_HARVEST_INDEX_3, "35.0");
      put(WHEAT_HARVEST_INDEX_4, "35.0");
      put(WHEAT_SILAGE_HARVEST_INDEX_4, "35.0");
      put(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4, "35.0");
      put(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4, "35.0");
      put(SOFT_WHEAT_HARVEST_INDEX_4, "35.0");
      put(WHEAT_HARVEST_INDEX_3EG, "35.0");
      put(SUNFLOWER, "35.0");
      put(AUSTRIAN_WINTER_PEA, "30.0");
      put(GENERIC_AUSTRIAN_PEA, "30.0");
      put(PEA1, "30.0");
      put(PEA2, "30.0");
      put(SWITCHGRASS, "45.0");
      put(BAHIA_SWITCHGRASS, "45.0");
      put(POTATO_LAUCHSTADT, "35.0");
      put(POTATO_SUGARBEET, "35.0");
      put(POTATO_SUGARBEETL, "35.0");
      put(WEEDSG1, "32.0");
      put(WEEDSG2, "45.0");
      put(WEEDSG3, "38.0");
      put(WEEDSG4, "35.0");
      put(WEEDSG5, "45.0");
      put(WEEDSWA, "30.0");
      put(WEEDSE, "40.0");
      put(ONION_JORDAN, "40.0");
      put(TOMATOES, "40.0");
      put(ALFALFA1, "35.0");
      put(ALFALFA2, "35.0");
      put(ALFALFA3, "35.0");
      put(ALFALFA4, "35.0");
      put(ALFALFA_BALEAGE, "35.0");
      put(SOYBEAN_CLOVER, "40.0");
      put(GRASS_CLOVER_PASTUREWA, "35.0");
      put(GRASS_CLOVER_PASTUREIWA, "35.0");
      put(GRASS_100COOL, "32.0");
      put(PEANUT, "40.0");
      put(RICE_LOWLAND, "45.0");
      put(SAFFLOWER, "35.0");
      put(MILLET, "45.0");
      put(MILLETM, "45.0");
      put(WHEAT_HARVEST_INDEX_RYE, "40.0");
      put(WHEAT_HARVEST_INDEX_RHAY, "40.0");
      put(WHEAT_HARVEST_INDEX_RSIL, "40.0");
      put(WHEAT_HARVEST_INDEX_TRIT, "40.0");
      put(SOYBEAN_COVER_CROP, "40.0");
      put(TEMPERATE_TALLGRASS, "45.0");
      put(LEGUME_COVER_CROP, "40.0");
      put(CEREAL_COVER_CROP, "40.0");
      put(CEREAL_HAY, "40.0");
      put(GRASS_COVER_CROP, "32.0");
      put(BROADLEAF_COVER_CROP, "45.0");
      put(LEGUME_CEREAL_COVER_CROP, "35.0");
    }


  };

  // replace defaults
  static final Map<String, String> ppdf3Def = new HashMap() {
    {
      put(OAT1, "17.0");
      put(GRASS_50WARM_50COOL, "22.0");
      put(CORN1, "30.0");
      put(CORN2, "30.0");
      put(CORN3, "30.0");
      put(CORN4, "30.0");
      put(CORN5, "30.0");
      put(CORN6, "30.0");
      put(CORN7, "30.0");
      put(CORN8, "30.0");
      put(CORN9, "30.0");
      put(CORN10, "30.0");
      put(CORN11, "30.0");
      put(CORN12, "30.0");
      put(CORN13, "30.0");
      put(POPCORN13, "30.0");
      put(SWEETCORN13, "30.0");
      put(CORNSILAGE9, "30.0");
      put(CORNSILAGE10, "30.0");
      put(CORNSILAGE11, "30.0");
      put(CORNSILAGE12, "30.0");
      put(CORNSILAGE13, "30.0");
      put(GRASS_CLOVER_PASTURE1, "22.0");
      put(GRASS_CLOVER_PASTUREI1, "15.0");
      put(GRASS_CLOVER_PASTUREI2, "30.0");
      put(GRASS_CLOVER_PASTUREI3, "22.0");
      put(GRASS_CLOVER_PASTUREI4, "18.0");
      put(GRASS_CLOVER_PASTUREI5, "27.0");
      put(SOYBEAN1, "27.0");
      put(SOYBEAN2, "27.0");
      put(SOYBEAN3, "27.0");
      put(SOYBEAN4, "27.0");
      put(OAT2, "17.0");
      put(OAT3, "17.0");
      put(SORGHUM1, "30.0");
      put(SORGHUM2, "30.0");
      put(SORGHUM3, "30.0");
      put(FSORGHUM, "30.0");
      put(SORG_HAY, "30.0");
      put(SORG_SILAGE, "30.0");
      put(COTTON, "27.0");
      put(COTTON2, "27.0");
      put(MILLET1, "30.0");
      put(MS, "1.0");
      put(FLAX, "23.0");
      put(LENT, "15.0");
      put(BUCKWHEAT, "15.0");
      put(WHEAT, "17.0");
      put(WHEAT1, "17.0");
      put(WHEAT2, "17.0");
      put(WHEAT3, "17.0");
      put(WHEAT3P, "17.0");
      put(WHEAT3EG, "17.0");
      put(BARLEY1, "17.0");
      put(BARLEY2, "17.0");
      put(BARLEY3, "17.0");
      put(BARLEY_HAY, "17.0");
      put(BARLEY_SILAGE, "17.0");
      put(GRASS_0WARM_100COOL, "15.0");
      put(GRASS_100WARM_0COOL, "30.0");
      put(GRASS_25WARM_75COOL, "18.0");
      put(GRASS_75WARM_25COOL, "27.0");
      put(GRASS_0W_100C, "15.0");
      put(GRASS_100W_0C, "30.0");
      put(GRASS_50W_50C, "22.0");
      put(GRASS_25W_75C, "18.0");
      put(GRASS_75W_25C, "27.0");
      put(GRASS_CLOVER_PASTURED1, "15.0");
      put(GRASS_CLOVER_PASTURED2, "30.0");
      put(GRASS_CLOVER_PASTURED3, "22.0");
      put(GRASS_CLOVER_PASTURED4, "18.0");
      put(GRASS_CLOVER_PASTURED5, "27.0");
      put(DRYBEANS, "27.0");
      put(MUNGBEANS, "27.0");
      put(WHEAT_HARVEST_INDEX_0, "18.0");
      put(WHEAT_HARVEST_INDEX_1, "18.0");
      put(WHEAT_HARVEST_INDEX_2, "18.0");
      put(WHEAT_HARVEST_INDEX_3, "18.0");
      put(WHEAT_HARVEST_INDEX_4, "18.0");
      put(WHEAT_SILAGE_HARVEST_INDEX_4, "18.0");
      put(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4, "17.0");
      put(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4, "18.0");
      put(SOFT_WHEAT_HARVEST_INDEX_4, "18.0");
      put(WHEAT_HARVEST_INDEX_3EG, "18.0");
      put(SUNFLOWER, "23.0");
      put(AUSTRIAN_WINTER_PEA, "15.0");
      put(GENERIC_AUSTRIAN_PEA, "15.0");
      put(PEA1, "15.0");
      put(PEA2, "15.0");
      put(SWITCHGRASS, "30.0");
      put(BAHIA_SWITCHGRASS, "30.0");
      put(POTATO_LAUCHSTADT, "17.0");
      put(POTATO_SUGARBEET, "17.0");
      put(POTATO_SUGARBEETL, "17.0");
      put(WEEDSG1, "15.0");
      put(WEEDSG2, "30.0");
      put(WEEDSG3, "22.0");
      put(WEEDSG4, "18.0");
      put(WEEDSG5, "27.0");
      put(WEEDSWA, "18.0");
      put(WEEDSE, "20.0");
      put(ONION_JORDAN, "27.0");
      put(TOMATOES, "27.0");
      put(ALFALFA1, "22.0");
      put(ALFALFA2, "22.0");
      put(ALFALFA3, "22.0");
      put(ALFALFA4, "25.0");
      put(ALFALFA_BALEAGE, "25.0");
      put(SOYBEAN_CLOVER, "25.0");
      put(GRASS_CLOVER_PASTUREWA, "18.0");
      put(GRASS_CLOVER_PASTUREIWA, "18.0");
      put(GRASS_100COOL, "15.0");
      put(PEANUT, "27.0");
      put(RICE_LOWLAND, "30.0");
      put(SAFFLOWER, "25.0");
      put(MILLET, "30.0");
      put(MILLETM, "30.0");
      put(WHEAT_HARVEST_INDEX_RYE, "20.0");
      put(WHEAT_HARVEST_INDEX_RHAY, "20.0");
      put(WHEAT_HARVEST_INDEX_RSIL, "20.0");
      put(WHEAT_HARVEST_INDEX_TRIT, "20.0");
      put(SOYBEAN_COVER_CROP, "27.0");
      put(TEMPERATE_TALLGRASS, "27.0");
      put(LEGUME_COVER_CROP, "27.0");
      put(CEREAL_COVER_CROP, "20.0");
      put(CEREAL_HAY, "0.7");
      put(GRASS_COVER_CROP, "15.0");
      put(BROADLEAF_COVER_CROP, "1.0");
      put(LEGUME_CEREAL_COVER_CROP, "18.0");
    }


  };

  // replace defaults
  static final Map<String, String> ppdf4Def = new HashMap() {
    {
      put(OAT1, "35.0");
      put(GRASS_50WARM_50COOL, "38.0");
      put(CORN1, "40.0");
      put(CORN2, "45.0");
      put(CORN3, "45.0");
      put(CORN4, "45.0");
      put(CORN5, "45.0");
      put(CORN6, "45.0");
      put(CORN7, "45.0");
      put(CORN8, "45.0");
      put(CORN9, "45.0");
      put(CORN10, "45.0");
      put(CORN11, "45.0");
      put(CORN12, "45.0");
      put(CORN13, "45.0");
      put(POPCORN13, "45.0");
      put(SWEETCORN13, "45.0");
      put(CORNSILAGE9, "45.0");
      put(CORNSILAGE10, "45.0");
      put(CORNSILAGE11, "45.0");
      put(CORNSILAGE12, "45.0");
      put(CORNSILAGE13, "45.0");
      put(GRASS_CLOVER_PASTURE1, "35.0");
      put(GRASS_CLOVER_PASTUREI1, "32.0");
      put(GRASS_CLOVER_PASTUREI2, "45.0");
      put(GRASS_CLOVER_PASTUREI3, "35.0");
      put(GRASS_CLOVER_PASTUREI4, "35.0");
      put(GRASS_CLOVER_PASTUREI5, "45.0");
      put(SOYBEAN1, "40.0");
      put(SOYBEAN2, "40.0");
      put(SOYBEAN3, "40.0");
      put(SOYBEAN4, "40.0");
      put(OAT2, "35.0");
      put(OAT3, "35.0");
      put(SORGHUM1, "45.0");
      put(SORGHUM2, "45.0");
      put(SORGHUM3, "45.0");
      put(FSORGHUM, "45.0");
      put(SORG_HAY, "45.0");
      put(SORG_SILAGE, "45.0");
      put(COTTON, "40.0");
      put(COTTON2, "40.0");
      put(MILLET1, "45.0");
      put(MS, "2.5");
      put(FLAX, "35.0");
      put(LENT, "30.0");
      put(BUCKWHEAT, "30.0");
      put(WHEAT, "35.0");
      put(WHEAT1, "35.0");
      put(WHEAT2, "35.0");
      put(WHEAT3, "35.0");
      put(WHEAT3P, "35.0");
      put(WHEAT3EG, "35.0");
      put(BARLEY1, "35.0");
      put(BARLEY2, "35.0");
      put(BARLEY3, "35.0");
      put(BARLEY_HAY, "35.0");
      put(BARLEY_SILAGE, "35.0");
      put(GRASS_0WARM_100COOL, "32.0");
      put(GRASS_100WARM_0COOL, "45.0");
      put(GRASS_25WARM_75COOL, "35.0");
      put(GRASS_75WARM_25COOL, "45.0");
      put(GRASS_0W_100C, "32.0");
      put(GRASS_100W_0C, "45.0");
      put(GRASS_50W_50C, "38.0");
      put(GRASS_25W_75C, "35.0");
      put(GRASS_75W_25C, "45.0");
      put(GRASS_CLOVER_PASTURED1, "32.0");
      put(GRASS_CLOVER_PASTURED2, "45.0");
      put(GRASS_CLOVER_PASTURED3, "35.0");
      put(GRASS_CLOVER_PASTURED4, "35.0");
      put(GRASS_CLOVER_PASTURED5, "45.0");
      put(DRYBEANS, "40.0");
      put(MUNGBEANS, "40.0");
      put(WHEAT_HARVEST_INDEX_0, "35.0");
      put(WHEAT_HARVEST_INDEX_1, "35.0");
      put(WHEAT_HARVEST_INDEX_2, "35.0");
      put(WHEAT_HARVEST_INDEX_3, "35.0");
      put(WHEAT_HARVEST_INDEX_4, "35.0");
      put(WHEAT_SILAGE_HARVEST_INDEX_4, "35.0");
      put(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4, "35.0");
      put(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4, "35.0");
      put(SOFT_WHEAT_HARVEST_INDEX_4, "35.0");
      put(WHEAT_HARVEST_INDEX_3EG, "35.0");
      put(SUNFLOWER, "35.0");
      put(AUSTRIAN_WINTER_PEA, "30.0");
      put(GENERIC_AUSTRIAN_PEA, "30.0");
      put(PEA1, "30.0");
      put(PEA2, "30.0");
      put(SWITCHGRASS, "45.0");
      put(BAHIA_SWITCHGRASS, "45.0");
      put(POTATO_LAUCHSTADT, "35.0");
      put(POTATO_SUGARBEET, "35.0");
      put(POTATO_SUGARBEETL, "35.0");
      put(WEEDSG1, "32.0");
      put(WEEDSG2, "45.0");
      put(WEEDSG3, "38.0");
      put(WEEDSG4, "35.0");
      put(WEEDSG5, "45.0");
      put(WEEDSWA, "30.0");
      put(WEEDSE, "40.0");
      put(ONION_JORDAN, "40.0");
      put(TOMATOES, "40.0");
      put(ALFALFA1, "35.0");
      put(ALFALFA2, "35.0");
      put(ALFALFA3, "35.0");
      put(ALFALFA4, "40.0");
      put(ALFALFA_BALEAGE, "40.0");
      put(SOYBEAN_CLOVER, "40.0");
      put(GRASS_CLOVER_PASTUREWA, "35.0");
      put(GRASS_CLOVER_PASTUREIWA, "35.0");
      put(GRASS_100COOL, "32.0");
      put(PEANUT, "40.0");
      put(RICE_LOWLAND, "45.0");
      put(SAFFLOWER, "35.0");
      put(MILLET, "45.0");
      put(MILLETM, "45.0");
      put(WHEAT_HARVEST_INDEX_RYE, "40.0");
      put(WHEAT_HARVEST_INDEX_RHAY, "40.0");
      put(WHEAT_HARVEST_INDEX_RSIL, "40.0");
      put(WHEAT_HARVEST_INDEX_TRIT, "40.0");
      put(SOYBEAN_COVER_CROP, "40.0");
      put(TEMPERATE_TALLGRASS, "45.0");
      put(LEGUME_COVER_CROP, "40.0");
      put(CEREAL_COVER_CROP, "40.0");
      put(CEREAL_HAY, "5.0");
      put(GRASS_COVER_CROP, "32.0");
      put(BROADLEAF_COVER_CROP, "2.5");
      put(LEGUME_CEREAL_COVER_CROP, "35.0");
    }


  };

  static final Map<String, String> pramnDef = new HashMap() {
    {
      put(OAT1, "10.0");
      put(GRASS_50WARM_50COOL, "10.0");
      put(CORN1, "10.0");
      put(CORN2, "10.0");
      put(CORN3, "10.0");
      put(CORN4, "10.0");
      put(CORN5, "10.0");
      put(CORN6, "10.0");
      put(CORN7, "10.0");
      put(CORN8, "10.0");
      put(CORN9, "10.0");
      put(CORN10, "10.0");
      put(CORN11, "10.0");
      put(CORN12, "10.0");
      put(CORN13, "10.0");
      put(POPCORN13, "10.0");
      put(SWEETCORN13, "10.0");
      put(CORNSILAGE9, "10.0");
      put(CORNSILAGE10, "10.0");
      put(CORNSILAGE11, "10.0");
      put(CORNSILAGE12, "10.0");
      put(CORNSILAGE13, "10.0");
      put(GRASS_CLOVER_PASTURE1, "10.0");
      put(GRASS_CLOVER_PASTUREI1, "10.0");
      put(GRASS_CLOVER_PASTUREI2, "10.0");
      put(GRASS_CLOVER_PASTUREI3, "10.0");
      put(GRASS_CLOVER_PASTUREI4, "10.0");
      put(GRASS_CLOVER_PASTUREI5, "10.0");
      put(SOYBEAN1, "10.0");
      put(SOYBEAN2, "10.0");
      put(SOYBEAN3, "10.0");
      put(SOYBEAN4, "10.0");
      put(OAT2, "20.0");
      put(OAT3, "20.0");
      put(SORGHUM1, "10.0");
      put(SORGHUM2, "10.0");
      put(SORGHUM3, "10.0");
      put(FSORGHUM, "10.0");
      put(SORG_HAY, "10.0");
      put(SORG_SILAGE, "10.0");
      put(COTTON, "10.0");
      put(COTTON2, "10.0");
      put(MILLET1, "10.0");
      put(MS, "10.0");
      put(FLAX, "10.0");
      put(LENT, "10.0");
      put(BUCKWHEAT, "10.0");
      put(WHEAT, "10.0");
      put(WHEAT1, "10.0");
      put(WHEAT2, "10.0");
      put(WHEAT3, "10.0");
      put(WHEAT3P, "10.0");
      put(WHEAT3EG, "10.0");
      put(BARLEY1, "10.0");
      put(BARLEY2, "10.0");
      put(BARLEY3, "10.0");
      put(BARLEY_HAY, "10.0");
      put(BARLEY_SILAGE, "10.0");
      put(GRASS_0WARM_100COOL, "10.0");
      put(GRASS_100WARM_0COOL, "10.0");
      put(GRASS_25WARM_75COOL, "10.0");
      put(GRASS_75WARM_25COOL, "10.0");
      put(GRASS_0W_100C, "10.0");
      put(GRASS_100W_0C, "10.0");
      put(GRASS_50W_50C, "10.0");
      put(GRASS_25W_75C, "10.0");
      put(GRASS_75W_25C, "10.0");
      put(GRASS_CLOVER_PASTURED1, "10.0");
      put(GRASS_CLOVER_PASTURED2, "10.0");
      put(GRASS_CLOVER_PASTURED3, "10.0");
      put(GRASS_CLOVER_PASTURED4, "10.0");
      put(GRASS_CLOVER_PASTURED5, "10.0");
      put(DRYBEANS, "10.0");
      put(MUNGBEANS, "10.0");
      put(WHEAT_HARVEST_INDEX_0, "10.0");
      put(WHEAT_HARVEST_INDEX_1, "10.0");
      put(WHEAT_HARVEST_INDEX_2, "10.0");
      put(WHEAT_HARVEST_INDEX_3, "10.0");
      put(WHEAT_HARVEST_INDEX_4, "10.0");
      put(WHEAT_SILAGE_HARVEST_INDEX_4, "10.0");
      put(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4, "10.0");
      put(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4, "10.0");
      put(SOFT_WHEAT_HARVEST_INDEX_4, "20.0");
      put(WHEAT_HARVEST_INDEX_3EG, "10.0");
      put(SUNFLOWER, "10.0");
      put(AUSTRIAN_WINTER_PEA, "10.0");
      put(GENERIC_AUSTRIAN_PEA, "10.0");
      put(PEA1, "10.0");
      put(PEA2, "10.0");
      put(SWITCHGRASS, "10.0");
      put(BAHIA_SWITCHGRASS, "10.0");
      put(POTATO_LAUCHSTADT, "10.0");
      put(POTATO_SUGARBEET, "10.0");
      put(POTATO_SUGARBEETL, "10.0");
      put(WEEDSG1, "10.0");
      put(WEEDSG2, "10.0");
      put(WEEDSG3, "10.0");
      put(WEEDSG4, "10.0");
      put(WEEDSG5, "10.0");
      put(WEEDSWA, "10.0");
      put(WEEDSE, "10.0");
      put(ONION_JORDAN, "10.0");
      put(TOMATOES, "10.0");
      put(ALFALFA1, "10.0");
      put(ALFALFA2, "10.0");
      put(ALFALFA3, "10.0");
      put(ALFALFA4, "10.0");
      put(ALFALFA_BALEAGE, "10.0");
      put(SOYBEAN_CLOVER, "10.0");
      put(GRASS_CLOVER_PASTUREWA, "10.0");
      put(GRASS_CLOVER_PASTUREIWA, "10.0");
      put(GRASS_100COOL, "10.0");
      put(PEANUT, "10.0");
      put(RICE_LOWLAND, "10.0");
      put(SAFFLOWER, "10.0");
      put(MILLET, "10.0");
      put(MILLETM, "10.0");
      put(WHEAT_HARVEST_INDEX_RYE, "10.0");
      put(WHEAT_HARVEST_INDEX_RHAY, "10.0");
      put(WHEAT_HARVEST_INDEX_RSIL, "10.0");
      put(WHEAT_HARVEST_INDEX_TRIT, "10.0");
      put(SOYBEAN_COVER_CROP, "10.0");
      put(TEMPERATE_TALLGRASS, "10.0");
      put(LEGUME_COVER_CROP, "10.0");
      put(CEREAL_COVER_CROP, "10.0");
      put(CEREAL_HAY, "10.0");
      put(GRASS_COVER_CROP, "10.0");
      put(BROADLEAF_COVER_CROP, "10.0");
      put(LEGUME_CEREAL_COVER_CROP, "10.0");
    }


  };

  static final Map<String, String> pramxDef = new HashMap() {
    {
      put(OAT1, "40.0");
      put(GRASS_50WARM_50COOL, "40.0");
      put(CORN1, "40.0");
      put(CORN2, "40.0");
      put(CORN3, "40.0");
      put(CORN4, "40.0");
      put(CORN5, "40.0");
      put(CORN6, "40.0");
      put(CORN7, "40.0");
      put(CORN8, "40.0");
      put(CORN9, "40.0");
      put(CORN10, "40.0");
      put(CORN11, "40.0");
      put(CORN12, "40.0");
      put(CORN13, "40.0");
      put(POPCORN13, "40.0");
      put(SWEETCORN13, "40.0");
      put(CORNSILAGE9, "40.0");
      put(CORNSILAGE10, "40.0");
      put(CORNSILAGE11, "40.0");
      put(CORNSILAGE12, "40.0");
      put(CORNSILAGE13, "40.0");
      put(GRASS_CLOVER_PASTURE1, "40.0");
      put(GRASS_CLOVER_PASTUREI1, "40.0");
      put(GRASS_CLOVER_PASTUREI2, "40.0");
      put(GRASS_CLOVER_PASTUREI3, "40.0");
      put(GRASS_CLOVER_PASTUREI4, "40.0");
      put(GRASS_CLOVER_PASTUREI5, "40.0");
      put(SOYBEAN1, "40.0");
      put(SOYBEAN2, "40.0");
      put(SOYBEAN3, "40.0");
      put(SOYBEAN4, "40.0");
      put(OAT2, "40.0");
      put(OAT3, "40.0");
      put(SORGHUM1, "40.0");
      put(SORGHUM2, "40.0");
      put(SORGHUM3, "40.0");
      put(FSORGHUM, "40.0");
      put(SORG_HAY, "40.0");
      put(SORG_SILAGE, "40.0");
      put(COTTON, "40.0");
      put(COTTON2, "40.0");
      put(MILLET1, "40.0");
      put(MS, "40.0");
      put(FLAX, "40.0");
      put(LENT, "40.0");
      put(BUCKWHEAT, "40.0");
      put(WHEAT, "40.0");
      put(WHEAT1, "40.0");
      put(WHEAT2, "40.0");
      put(WHEAT3, "40.0");
      put(WHEAT3P, "40.0");
      put(WHEAT3EG, "40.0");
      put(BARLEY1, "40.0");
      put(BARLEY2, "40.0");
      put(BARLEY3, "40.0");
      put(BARLEY_HAY, "40.0");
      put(BARLEY_SILAGE, "40.0");
      put(GRASS_0WARM_100COOL, "40.0");
      put(GRASS_100WARM_0COOL, "40.0");
      put(GRASS_25WARM_75COOL, "40.0");
      put(GRASS_75WARM_25COOL, "40.0");
      put(GRASS_0W_100C, "40.0");
      put(GRASS_100W_0C, "40.0");
      put(GRASS_50W_50C, "40.0");
      put(GRASS_25W_75C, "40.0");
      put(GRASS_75W_25C, "40.0");
      put(GRASS_CLOVER_PASTURED1, "40.0");
      put(GRASS_CLOVER_PASTURED2, "40.0");
      put(GRASS_CLOVER_PASTURED3, "40.0");
      put(GRASS_CLOVER_PASTURED4, "40.0");
      put(GRASS_CLOVER_PASTURED5, "40.0");
      put(DRYBEANS, "40.0");
      put(MUNGBEANS, "40.0");
      put(WHEAT_HARVEST_INDEX_0, "40.0");
      put(WHEAT_HARVEST_INDEX_1, "40.0");
      put(WHEAT_HARVEST_INDEX_2, "40.0");
      put(WHEAT_HARVEST_INDEX_3, "40.0");
      put(WHEAT_HARVEST_INDEX_4, "40.0");
      put(WHEAT_SILAGE_HARVEST_INDEX_4, "40.0");
      put(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4, "40.0");
      put(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4, "40.0");
      put(SOFT_WHEAT_HARVEST_INDEX_4, "40.0");
      put(WHEAT_HARVEST_INDEX_3EG, "40.0");
      put(SUNFLOWER, "40.0");
      put(AUSTRIAN_WINTER_PEA, "40.0");
      put(GENERIC_AUSTRIAN_PEA, "40.0");
      put(PEA1, "40.0");
      put(PEA2, "40.0");
      put(SWITCHGRASS, "40.0");
      put(BAHIA_SWITCHGRASS, "40.0");
      put(POTATO_LAUCHSTADT, "40.0");
      put(POTATO_SUGARBEET, "40.0");
      put(POTATO_SUGARBEETL, "40.0");
      put(WEEDSG1, "40.0");
      put(WEEDSG2, "40.0");
      put(WEEDSG3, "40.0");
      put(WEEDSG4, "40.0");
      put(WEEDSG5, "40.0");
      put(WEEDSWA, "40.0");
      put(WEEDSE, "40.0");
      put(ONION_JORDAN, "40.0");
      put(TOMATOES, "40.0");
      put(ALFALFA1, "40.0");
      put(ALFALFA2, "40.0");
      put(ALFALFA3, "40.0");
      put(ALFALFA4, "40.0");
      put(ALFALFA_BALEAGE, "40.0");
      put(SOYBEAN_CLOVER, "40.0");
      put(GRASS_CLOVER_PASTUREWA, "40.0");
      put(GRASS_CLOVER_PASTUREIWA, "40.0");
      put(GRASS_100COOL, "40.0");
      put(PEANUT, "40.0");
      put(RICE_LOWLAND, "40.0");
      put(SAFFLOWER, "40.0");
      put(MILLET, "40.0");
      put(MILLETM, "40.0");
      put(WHEAT_HARVEST_INDEX_RYE, "40.0");
      put(WHEAT_HARVEST_INDEX_RHAY, "40.0");
      put(WHEAT_HARVEST_INDEX_RSIL, "40.0");
      put(WHEAT_HARVEST_INDEX_TRIT, "40.0");
      put(SOYBEAN_COVER_CROP, "40.0");
      put(TEMPERATE_TALLGRASS, "40.0");
      put(LEGUME_COVER_CROP, "40.0");
      put(CEREAL_COVER_CROP, "40.0");
      put(CEREAL_HAY, "40.0");
      put(GRASS_COVER_CROP, "40.0");
      put(BROADLEAF_COVER_CROP, "40.0");
      put(LEGUME_CEREAL_COVER_CROP, "40.0");
    }


  };

  static final Map<String, String> wscoeff1Def = new HashMap() {
    {
      put(OAT1, "40.0");
      put(GRASS_50WARM_50COOL, "40.0");
      put(CORN1, "40.0");
      put(CORN2, "40.0");
      put(CORN3, "40.0");
      put(CORN4, "40.0");
      put(CORN5, "40.0");
      put(CORN6, "40.0");
      put(CORN7, "40.0");
      put(CORN8, "40.0");
      put(CORN9, "40.0");
      put(CORN10, "40.0");
      put(CORN11, "40.0");
      put(CORN12, "40.0");
      put(CORN13, "40.0");
      put(POPCORN13, "40.0");
      put(SWEETCORN13, "40.0");
      put(CORNSILAGE9, "40.0");
      put(CORNSILAGE10, "40.0");
      put(CORNSILAGE11, "40.0");
      put(CORNSILAGE12, "40.0");
      put(CORNSILAGE13, "40.0");
      put(GRASS_CLOVER_PASTURE1, "40.0");
      put(GRASS_CLOVER_PASTUREI1, "40.0");
      put(GRASS_CLOVER_PASTUREI2, "40.0");
      put(GRASS_CLOVER_PASTUREI3, "40.0");
      put(GRASS_CLOVER_PASTUREI4, "40.0");
      put(GRASS_CLOVER_PASTUREI5, "40.0");
      put(SOYBEAN1, "40.0");
      put(SOYBEAN2, "40.0");
      put(SOYBEAN3, "40.0");
      put(SOYBEAN4, "0.378");
      put(OAT2, "40.0");
      put(OAT3, "40.0");
      put(SORGHUM1, "40.0");
      put(SORGHUM2, "40.0");
      put(SORGHUM3, "40.0");
      put(FSORGHUM, "40.0");
      put(SORG_HAY, "40.0");
      put(SORG_SILAGE, "40.0");
      put(COTTON, "40.0");
      put(COTTON2, "40.0");
      put(MILLET1, "40.0");
      put(MS, "40.0");
      put(FLAX, "40.0");
      put(LENT, "40.0");
      put(BUCKWHEAT, "40.0");
      put(WHEAT, "40.0");
      put(WHEAT1, "40.0");
      put(WHEAT2, "40.0");
      put(WHEAT3, "0.378");
      put(WHEAT3P, "0.378");
      put(WHEAT3EG, "40.0");
      put(BARLEY1, "40.0");
      put(BARLEY2, "40.0");
      put(BARLEY3, "40.0");
      put(BARLEY_HAY, "40.0");
      put(BARLEY_SILAGE, "40.0");
      put(GRASS_0WARM_100COOL, "40.0");
      put(GRASS_100WARM_0COOL, "40.0");
      put(GRASS_25WARM_75COOL, "40.0");
      put(GRASS_75WARM_25COOL, "40.0");
      put(GRASS_0W_100C, "40.0");
      put(GRASS_100W_0C, "40.0");
      put(GRASS_50W_50C, "40.0");
      put(GRASS_25W_75C, "40.0");
      put(GRASS_75W_25C, "40.0");
      put(GRASS_CLOVER_PASTURED1, "40.0");
      put(GRASS_CLOVER_PASTURED2, "40.0");
      put(GRASS_CLOVER_PASTURED3, "40.0");
      put(GRASS_CLOVER_PASTURED4, "40.0");
      put(GRASS_CLOVER_PASTURED5, "40.0");
      put(DRYBEANS, "40.0");
      put(MUNGBEANS, "40.0");
      put(WHEAT_HARVEST_INDEX_0, "40.0");
      put(WHEAT_HARVEST_INDEX_1, "40.0");
      put(WHEAT_HARVEST_INDEX_2, "40.0");
      put(WHEAT_HARVEST_INDEX_3, "40.0");
      put(WHEAT_HARVEST_INDEX_4, "0.378");
      put(WHEAT_SILAGE_HARVEST_INDEX_4, "40.0");
      put(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4, "40.0");
      put(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4, "40.0");
      put(SOFT_WHEAT_HARVEST_INDEX_4, "0.378");
      put(WHEAT_HARVEST_INDEX_3EG, "40.0");
      put(SUNFLOWER, "40.0");
      put(AUSTRIAN_WINTER_PEA, "40.0");
      put(GENERIC_AUSTRIAN_PEA, "40.0");
      put(PEA1, "40.0");
      put(PEA2, "40.0");
      put(SWITCHGRASS, "40.0");
      put(BAHIA_SWITCHGRASS, "40.0");
      put(POTATO_LAUCHSTADT, "40.0");
      put(POTATO_SUGARBEET, "40.0");
      put(POTATO_SUGARBEETL, "40.0");
      put(WEEDSG1, "40.0");
      put(WEEDSG2, "40.0");
      put(WEEDSG3, "40.0");
      put(WEEDSG4, "40.0");
      put(WEEDSG5, "40.0");
      put(WEEDSWA, "40.0");
      put(WEEDSE, "40.0");
      put(ONION_JORDAN, "40.0");
      put(TOMATOES, "40.0");
      put(ALFALFA1, "40.0");
      put(ALFALFA2, "40.0");
      put(ALFALFA3, "40.0");
      put(ALFALFA4, "40.0");
      put(ALFALFA_BALEAGE, "40.0");
      put(SOYBEAN_CLOVER, "40.0");
      put(GRASS_CLOVER_PASTUREWA, "40.0");
      put(GRASS_CLOVER_PASTUREIWA, "40.0");
      put(GRASS_100COOL, "40.0");
      put(PEANUT, "40.0");
      put(RICE_LOWLAND, "40.0");
      put(SAFFLOWER, "40.0");
      put(MILLET, "40.0");
      put(MILLETM, "40.0");
      put(WHEAT_HARVEST_INDEX_RYE, "40.0");
      put(WHEAT_HARVEST_INDEX_RHAY, "40.0");
      put(WHEAT_HARVEST_INDEX_RSIL, "40.0");
      put(WHEAT_HARVEST_INDEX_TRIT, "40.0");
      put(SOYBEAN_COVER_CROP, "40.0");
      put(TEMPERATE_TALLGRASS, "40.0");
      put(LEGUME_COVER_CROP, "40.0");
      put(CEREAL_COVER_CROP, "40.0");
      put(CEREAL_HAY, "40.0");
      put(GRASS_COVER_CROP, "40.0");
      put(BROADLEAF_COVER_CROP, "40.0");
      put(LEGUME_CEREAL_COVER_CROP, "40.0");
    }


  };

  static final Map<String, String> wscoeff2Def = new HashMap() {
    {
      put(OAT1, "0.15");
      put(GRASS_50WARM_50COOL, "0.15");
      put(CORN1, "0.15");
      put(CORN2, "0.15");
      put(CORN3, "0.15");
      put(CORN4, "0.15");
      put(CORN5, "0.15");
      put(CORN6, "0.15");
      put(CORN7, "0.15");
      put(CORN8, "0.15");
      put(CORN9, "0.15");
      put(CORN10, "0.15");
      put(CORN11, "0.15");
      put(CORN12, "0.15");
      put(CORN13, "0.15");
      put(POPCORN13, "0.15");
      put(SWEETCORN13, "0.15");
      put(CORNSILAGE9, "0.15");
      put(CORNSILAGE10, "0.15");
      put(CORNSILAGE11, "0.15");
      put(CORNSILAGE12, "0.15");
      put(CORNSILAGE13, "0.15");
      put(GRASS_CLOVER_PASTURE1, "0.15");
      put(GRASS_CLOVER_PASTUREI1, "0.15");
      put(GRASS_CLOVER_PASTUREI2, "0.15");
      put(GRASS_CLOVER_PASTUREI3, "0.15");
      put(GRASS_CLOVER_PASTUREI4, "0.15");
      put(GRASS_CLOVER_PASTUREI5, "0.15");
      put(SOYBEAN1, "0.15");
      put(SOYBEAN2, "0.15");
      put(SOYBEAN3, "0.15");
      put(SOYBEAN4, "9.0");
      put(OAT2, "0.15");
      put(OAT3, "0.15");
      put(SORGHUM1, "0.15");
      put(SORGHUM2, "0.15");
      put(SORGHUM3, "0.15");
      put(FSORGHUM, "0.15");
      put(SORG_HAY, "0.15");
      put(SORG_SILAGE, "0.15");
      put(COTTON, "0.15");
      put(COTTON2, "0.15");
      put(MILLET1, "0.15");
      put(MS, "0.15");
      put(FLAX, "0.15");
      put(LENT, "0.15");
      put(BUCKWHEAT, "0.15");
      put(WHEAT, "0.15");
      put(WHEAT1, "0.15");
      put(WHEAT2, "0.15");
      put(WHEAT3, "9");
      put(WHEAT3P, "9");
      put(WHEAT3EG, "0.15");
      put(BARLEY1, "0.15");
      put(BARLEY2, "0.15");
      put(BARLEY3, "0.15");
      put(BARLEY_HAY, "0.15");
      put(BARLEY_SILAGE, "0.15");
      put(GRASS_0WARM_100COOL, "0.15");
      put(GRASS_100WARM_0COOL, "0.15");
      put(GRASS_25WARM_75COOL, "0.15");
      put(GRASS_75WARM_25COOL, "0.15");
      put(GRASS_0W_100C, "0.15");
      put(GRASS_100W_0C, "0.15");
      put(GRASS_50W_50C, "0.15");
      put(GRASS_25W_75C, "0.15");
      put(GRASS_75W_25C, "0.15");
      put(GRASS_CLOVER_PASTURED1, "0.15");
      put(GRASS_CLOVER_PASTURED2, "0.15");
      put(GRASS_CLOVER_PASTURED3, "0.15");
      put(GRASS_CLOVER_PASTURED4, "0.15");
      put(GRASS_CLOVER_PASTURED5, "0.15");
      put(DRYBEANS, "0.15");
      put(MUNGBEANS, "0.15");
      put(WHEAT_HARVEST_INDEX_0, "0.15");
      put(WHEAT_HARVEST_INDEX_1, "0.15");
      put(WHEAT_HARVEST_INDEX_2, "0.15");
      put(WHEAT_HARVEST_INDEX_3, "0.15");
      put(WHEAT_HARVEST_INDEX_4, "9");
      put(WHEAT_SILAGE_HARVEST_INDEX_4, "0.15");
      put(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4, "9");
      put(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4, "0.15");
      put(SOFT_WHEAT_HARVEST_INDEX_4, "9");
      put(WHEAT_HARVEST_INDEX_3EG, "0.15");
      put(SUNFLOWER, "0.15");
      put(AUSTRIAN_WINTER_PEA, "0.15");
      put(GENERIC_AUSTRIAN_PEA, "0.15");
      put(PEA1, "0.15");
      put(PEA2, "0.15");
      put(SWITCHGRASS, "0.15");
      put(BAHIA_SWITCHGRASS, "0.15");
      put(POTATO_LAUCHSTADT, "0.15");
      put(POTATO_SUGARBEET, "0.15");
      put(POTATO_SUGARBEETL, "0.15");
      put(WEEDSG1, "0.15");
      put(WEEDSG2, "0.15");
      put(WEEDSG3, "0.15");
      put(WEEDSG4, "0.15");
      put(WEEDSG5, "0.15");
      put(WEEDSWA, "0.15");
      put(WEEDSE, "0.15");
      put(ONION_JORDAN, "0.15");
      put(TOMATOES, "0.15");
      put(ALFALFA1, "0.15");
      put(ALFALFA2, "0.15");
      put(ALFALFA3, "0.15");
      put(ALFALFA4, "0.15");
      put(ALFALFA_BALEAGE, "0.15");
      put(SOYBEAN_CLOVER, "0.15");
      put(GRASS_CLOVER_PASTUREWA, "0.15");
      put(GRASS_CLOVER_PASTUREIWA, "0.15");
      put(GRASS_100COOL, "0.15");
      put(PEANUT, "0.15");
      put(RICE_LOWLAND, "0.15");
      put(SAFFLOWER, "0.15");
      put(MILLET, "0.15");
      put(MILLETM, "0.15");
      put(WHEAT_HARVEST_INDEX_RYE, "0.15");
      put(WHEAT_HARVEST_INDEX_RHAY, "0.15");
      put(WHEAT_HARVEST_INDEX_RSIL, "0.15");
      put(WHEAT_HARVEST_INDEX_TRIT, "0.15");
      put(SOYBEAN_COVER_CROP, "0.15");
      put(TEMPERATE_TALLGRASS, "0.15");
      put(LEGUME_COVER_CROP, "0.15");
      put(CEREAL_COVER_CROP, "0.15");
      put(CEREAL_HAY, "0.15");
      put(GRASS_COVER_CROP, "0.15");
      put(BROADLEAF_COVER_CROP, "0.15");
      put(LEGUME_CEREAL_COVER_CROP, "0.15");
    }


  };

  static final Map<String, String> sfavailDef = new HashMap() {
    {
      put(OAT1, "0.15");
      put(GRASS_50WARM_50COOL, "0.15");
      put(CORN1, "0.15");
      put(CORN2, "0.15");
      put(CORN3, "0.15");
      put(CORN4, "0.15");
      put(CORN5, "0.15");
      put(CORN6, "0.15");
      put(CORN7, "0.15");
      put(CORN8, "0.15");
      put(CORN9, "0.15");
      put(CORN10, "0.15");
      put(CORN11, "0.15");
      put(CORN12, "0.15");
      put(CORN13, "0.15");
      put(POPCORN13, "0.15");
      put(SWEETCORN13, "0.15");
      put(CORNSILAGE9, "0.15");
      put(CORNSILAGE10, "0.15");
      put(CORNSILAGE11, "0.15");
      put(CORNSILAGE12, "0.15");
      put(CORNSILAGE13, "0.15");
      put(GRASS_CLOVER_PASTURE1, "0.15");
      put(GRASS_CLOVER_PASTUREI1, "0.15");
      put(GRASS_CLOVER_PASTUREI2, "0.15");
      put(GRASS_CLOVER_PASTUREI3, "0.15");
      put(GRASS_CLOVER_PASTUREI4, "0.15");
      put(GRASS_CLOVER_PASTUREI5, "0.15");
      put(SOYBEAN1, "0.15");
      put(SOYBEAN2, "0.15");
      put(SOYBEAN3, "0.15");
      put(SOYBEAN4, "0.15");
      put(OAT2, "0.15");
      put(OAT3, "0.15");
      put(SORGHUM1, "0.15");
      put(SORGHUM2, "0.15");
      put(SORGHUM3, "0.15");
      put(FSORGHUM, "0.15");
      put(SORG_HAY, "0.15");
      put(SORG_SILAGE, "0.15");
      put(COTTON, "0.15");
      put(COTTON2, "0.15");
      put(MILLET1, "0.15");
      put(MS, "0.15");
      put(FLAX, "0.15");
      put(LENT, "0.15");
      put(BUCKWHEAT, "0.15");
      put(WHEAT, "0.15");
      put(WHEAT1, "0.15");
      put(WHEAT2, "0.15");
      put(WHEAT3, "0.15");
      put(WHEAT3P, "0.15");
      put(WHEAT3EG, "0.15");
      put(BARLEY1, "0.15");
      put(BARLEY2, "0.15");
      put(BARLEY3, "0.15");
      put(BARLEY_HAY, "0.15");
      put(BARLEY_SILAGE, "0.15");
      put(GRASS_0WARM_100COOL, "0.15");
      put(GRASS_100WARM_0COOL, "0.15");
      put(GRASS_25WARM_75COOL, "0.15");
      put(GRASS_75WARM_25COOL, "0.15");
      put(GRASS_0W_100C, "0.15");
      put(GRASS_100W_0C, "0.15");
      put(GRASS_50W_50C, "0.15");
      put(GRASS_25W_75C, "0.15");
      put(GRASS_75W_25C, "0.15");
      put(GRASS_CLOVER_PASTURED1, "0.15");
      put(GRASS_CLOVER_PASTURED2, "0.15");
      put(GRASS_CLOVER_PASTURED3, "0.15");
      put(GRASS_CLOVER_PASTURED4, "0.15");
      put(GRASS_CLOVER_PASTURED5, "0.15");
      put(DRYBEANS, "0.15");
      put(MUNGBEANS, "0.15");
      put(WHEAT_HARVEST_INDEX_0, "0.15");
      put(WHEAT_HARVEST_INDEX_1, "0.15");
      put(WHEAT_HARVEST_INDEX_2, "0.15");
      put(WHEAT_HARVEST_INDEX_3, "0.15");
      put(WHEAT_HARVEST_INDEX_4, "0.15");
      put(WHEAT_SILAGE_HARVEST_INDEX_4, "0.15");
      put(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4, "0.15");
      put(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4, "0.15");
      put(SOFT_WHEAT_HARVEST_INDEX_4, "0.15");
      put(WHEAT_HARVEST_INDEX_3EG, "0.15");
      put(SUNFLOWER, "0.15");
      put(AUSTRIAN_WINTER_PEA, "0.15");
      put(GENERIC_AUSTRIAN_PEA, "0.15");
      put(PEA1, "0.15");
      put(PEA2, "0.15");
      put(SWITCHGRASS, "0.15");
      put(BAHIA_SWITCHGRASS, "0.15");
      put(POTATO_LAUCHSTADT, "0.15");
      put(POTATO_SUGARBEET, "0.15");
      put(POTATO_SUGARBEETL, "0.15");
      put(WEEDSG1, "0.15");
      put(WEEDSG2, "0.15");
      put(WEEDSG3, "0.15");
      put(WEEDSG4, "0.15");
      put(WEEDSG5, "0.15");
      put(WEEDSWA, "0.15");
      put(WEEDSE, "0.15");
      put(ONION_JORDAN, "0.15");
      put(TOMATOES, "0.15");
      put(ALFALFA1, "0.15");
      put(ALFALFA2, "0.15");
      put(ALFALFA3, "0.15");
      put(ALFALFA4, "0.15");
      put(ALFALFA_BALEAGE, "0.15");
      put(SOYBEAN_CLOVER, "0.15");
      put(GRASS_CLOVER_PASTUREWA, "0.15");
      put(GRASS_CLOVER_PASTUREIWA, "0.15");
      put(GRASS_100COOL, "0.15");
      put(PEANUT, "0.15");
      put(RICE_LOWLAND, "0.15");
      put(SAFFLOWER, "0.15");
      put(MILLET, "0.15");
      put(MILLETM, "0.15");
      put(WHEAT_HARVEST_INDEX_RYE, "0.15");
      put(WHEAT_HARVEST_INDEX_RHAY, "0.15");
      put(WHEAT_HARVEST_INDEX_RSIL, "0.15");
      put(WHEAT_HARVEST_INDEX_TRIT, "0.15");
      put(SOYBEAN_COVER_CROP, "0.15");
      put(TEMPERATE_TALLGRASS, "0.15");
      put(LEGUME_COVER_CROP, "0.15");
      put(CEREAL_COVER_CROP, "0.15");
      put(CEREAL_HAY, "0.15");
      put(GRASS_COVER_CROP, "0.15");
      put(BROADLEAF_COVER_CROP, "0.15");
      put(LEGUME_CEREAL_COVER_CROP, "0.15");
    }


  };

  static final Map<String, String> fixDef = new HashMap() {
    {
      put(FWLOSS1, "1.00");
      put(FWLOSS2, "1.00");
      put(FWLOSS3, "1.00");
      put(FWLOSS4, "0.8");
      put("ag_fwloss1", "1.00");
      put("ag_fwloss2", "1.00");
      put("ag_fwloss3", "1.00");
      put("ag_fwloss4", "0.8");
      put("pa_fwloss1", "1.00");
      put("pa_fwloss2", "1.00");
      put("pa_fwloss3", "1.00");
      put("pa_fwloss4", "0.8");
      put("tt_fwloss1", "1.00");
      put("tt_fwloss2", "1.00");
      put("tt_fwloss3", "1.00");
      put("tt_fwloss4", "0.8");
      put(DEC32, "5.0");
      put(DEC11, "2.5");
      put(DEC12, "4.9");
      put(DEC21, "10.0");
      put(DEC22, "18.5");
      put(DEC31, "7.0");
      put(DEC51, "5.0");
      put(DEC4, "0.03");
      put(DEC52, "0.1");
      put("pa_dec11", "2.0");
      put("pa_dec12", "4.9");
      put("pa_dec21", "8.0");
      put("pa_dec22", "18.5");
      put("pa_dec31", "6.0");
      put("pa_dec51", "0.1");
      put("pa_dec32", "5.0");
      put("pa_dec4", "0.03");
      put("pa_dec52", "0.1");
      put("ag_dec11", "3.5");
      put("ag_dec12", "3.95");
      put("ag_dec21", "13.0");
      put("ag_dec22", "17.25");
      put("ag_dec31", "6.92");
      put("ag_dec51", "0.1");
      put("ag_dec32", "5.0");
      put("ag_dec4", "0.03");
      put("ag_dec52", "0.1");
      put("tt_dec11", "3.5");
      put("tt_dec12", "3.95");
      put("tt_dec21", "13.0");
      put("tt_dec22", "17.25");
      put("tt_dec31", "6.92");
      put("tt_dec51", "0.1");
      put("tt_dec32", "5.0");
      put("tt_dec4", "0.03");
      put("tt_dec52", "0.1");
      put(TEFF1, "11.166"); // avg necpalova and black
      put(TEFF2, "6.875"); // avg necpalova and black
      put(TEFF3, "19.85"); // avg necpalova and black
      put(TEFF4, "0.0355"); // avg necpalova and black
      put("pa_teff1", "15.4"); // black
      put("pa_teff2", "11.75"); // black
      put("pa_teff3", "29.7"); // black
      put("pa_teff4", "0.031"); // black
      put("ag_teff1", "11.166"); // avg necpalova and black
      put("ag_teff2", "6.875"); // avg necpalova and black
      put("ag_teff3", "19.85"); // avg necpalova and black
      put("ag_teff4", "0.0355"); // avg necpalova and black
      put("tt_teff1", "11.166"); // avg necpalova and black
      put("tt_teff2", "6.875"); // avg necpalova and black
      put("tt_teff3", "19.85"); // avg necpalova and black
      put("tt_teff4", "0.0355"); // avg necpalova and black
      put(PS1S31, "0.003");
      put(PS1S32, "0.032");
      put(PS2S31, "0.003");
      put(PS2S32, "0.009");
      put("pa_ps1s31", "0.003");
      put("pa_ps1s32", "0.032");
      put("pa_ps2s31", "0.003");
      put("pa_ps2s32", "0.009");
      put("ag_ps1s31", "0.003");
      put("ag_ps1s32", "0.032");
      put("ag_ps2s31", "0.003");
      put("ag_ps2s32", "0.009");
      put("tt_ps1s31", "0.003");
      put("tt_ps1s32", "0.032");
      put("tt_ps2s31", "0.003");
      put("tt_ps2s32", "0.009");
      put("fleach3", "0.45");
      put("tt_fleach3", "0.45");
      put("ag_fleach3", "0.45");
      put("pa_fleach3", "0.45");
      put(PMCO22, "0.55");
      put(P2CO22, "0.55");
      put(PS1CO22, "0.45");
      put(P1CO2A2, "0.17");
      put(P1CO2B2, "0.68");
      put(P3CO2, "0.55");
      put("ag_pmco22", "0.55");  //default value
      put("pa_pmco22", "0.55");  //default value
      put("tt_pmco22", "0.55");  //default value
      put("ag_p2co22", "0.55");  //default value
      put("pa_p2co22", "0.55");  //default value 
      put("tt_p2co22", "0.55");  //default value 
      put("ag_ps1co22", "0.45");  //default value
      put("pa_ps1co22", "0.45");  //default value
      put("tt_ps1co22", "0.45");  //default value
      put("ag_p1co2a2", "0.17");  //default value
      put("pa_p1co2a2", "0.17");  //default value
      put("tt_p1co2a2", "0.17");  //default value
      put("ag_p1co2b2", "0.68");  //default value
      put("pa_p1co2b2", "0.68");  //default value 
      put("tt_p1co2b2", "0.68");  //default value 
      put("ag_p3co2", "0.55");  //default value
      put("pa_p3co2", "0.55");  //default value 
      put("tt_p3co2", "0.55");  //default value 
    }


  };

  static final Map<String, String> lrrmDef = new HashMap() {
    {
      put(BASEF, "0.3");

    }


  };

  static final Map<String, String> siteparDef = new HashMap() {
    {
      put("dmpflux", "0.000008");
      put("pa_dmpflux", "0.000008");
      put("ag_dmpflux", "0.000008");
      put("tt_dmpflux", "0.000008");
      put("MaxNitAmt", "0.40");
      put("pa_MaxNitAmt", "0.40");
      put("ag_MaxNitAmt", "0.40");
      put("tt_MaxNitAmt", "0.40");
      put("wfpsdnitadj", "1.45");
      put("pa_wfpsdnitadj", "1.45");
      put("ag_wfpsdnitadj", "1.45");
      put("tt_wfpsdnitadj", "1.45");
      put("n2n2oadj", "0.62");
      put("pa_n2n2oadj", "0.62");
      put("ag_n2n2oadj", "0.62");
      put("tt_n2n2oadj", "0.62");
    }


  };

  static final Map<String, String> soilDef = new HashMap() {
    {
      put("fieldCapacity1", "NA");
      put("fieldCapacity2", "NA");
      put("fieldCapacity3", "NA");
      put("fieldCapacity4", "NA");
      put("fieldCapacity5", "NA");
      put("fieldCapacity6", "NA");
      put("fieldCapacity7", "NA");
      put("fieldCapacity8", "NA");
      put("fieldCapacity9", "NA");
      put("fieldCapacity10", "NA");
      put("wiltingPoint1", "NA");
      put("wiltingPoint2", "NA");
      put("wiltingPoint3", "NA");
      put("wiltingPoint4", "NA");
      put("wiltingPoint5", "NA");
      put("wiltingPoint6", "NA");
      put("wiltingPoint7", "NA");
      put("wiltingPoint8", "NA");
      put("wiltingPoint9", "NA");
      put("wiltingPoint10", "NA");
    }


  };

  static final Map<String, String> prdxTree = new HashMap() {
    {
      put(TMDF, "0.3");
      put(CTMX, "0.5");

    }


  };

  static final Map<String, String> ppdf1Tree = new HashMap() {
    {
      put(TMDF, "30");
      put(CTMX, "22");

    }


  };

  static final Map<String, String> ppdf2Tree = new HashMap() {
    {
      put(TMDF, "45");
      put(CTMX, "40");

    }


  };

  private String getCropParam(Map<String, String> pdef, String crop, String param) {
    String p = crops.containsKey(crop)
        ? df3.format(crops.get(crop).get(param)) : pdef.get(crop);
    if (p == null) {
      throw new IllegalArgumentException(crop + " not supported (yet) for " + param);
    }
    return p;
  }


  private String getTreeParam(Map<String, String> pdef, String tree, String param) {
    String p = trees.containsKey(tree)
        ? df3.format(trees.get(tree).get(param)) : pdef.get(tree);
    if (p == null) {
      throw new IllegalArgumentException(tree + " not supported (yet) for " + param);
    }
    return p;
  }


  private String getFileParam(Map<String, Map<String, Double>> hashmap, Map<String, String> pdef, String filename, String param) {
    String p = hashmap.containsKey(filename)
        ? df3.format(hashmap.get(filename).get(param)) : pdef.get(param);
    if (p == null) {
      throw new IllegalArgumentException(filename + " not supported (yet) for " + param);
    }
    return p;
  }


  private String getSiteParam(Map<String, Map<String, Double>> hashmap, Map<String, String> pdef, String filename, String param) {
    String p = hashmap.containsKey(filename)
        ? df.format(hashmap.get(filename).get(param)) : pdef.get(param);
    if (p == null) {
      throw new IllegalArgumentException(filename + " not supported (yet) for " + param);
    }
    return p;
  }


  private String getSoilParam(Map<String, Map<String, Double>> hashmap, Map<String, String> pdef, String filename, String param) {
    String p = hashmap.containsKey(filename)
        ? df.format(hashmap.get(filename).get(param)) : pdef.get(param);
    if (p == null) {
      throw new IllegalArgumentException(filename + " not supported (yet) for " + param);
    }
    return p;
  }


  public String getSitlat() {
    String val = String.valueOf(latlon[0]);
    return String.valueOf(latlon[0]);
  }


  public String getSitlon() {
    return String.valueOf(latlon[1]);
  }


  protected String getPRAMN(String crop) {
    return getCropParam(pramnDef, crop, PRAMN);
  }


  protected String getPRAMX(String crop) {
    return getCropParam(pramxDef, crop, PRAMX);
  }


  protected String getPRDX(String crop) {
    return getCropParam(prdxDef, crop, PRDX);
  }


  protected String getHIMAX(String crop) {
    return getCropParam(himaxDef, crop, HIMAX);
  }


  protected String getHIWSF(String crop) {
    return getCropParam(hiwsfDef, crop, HIWSF);
  }


  protected String getWSCOEFF1(String crop) {
    return getCropParam(wscoeff1Def, crop, WSCOEFF1);
  }


  protected String getWSCOEFF2(String crop) {
    return getCropParam(wscoeff2Def, crop, WSCOEFF2);
  }


  protected String getSITEPAR(String param) {
    return getSiteParam(sitepars, siteparDef, "site", param);
  }


  protected String getSOILPAR(String param) {
    return getSoilParam(soilpars, soilDef, "soil", param);
  }


  protected String getFIXPARAMS(String param) {
    return getFileParam(fixes, fixDef, FIXES, param);
  }


  protected String getLRRMPARAMS(String param) {
    return getFileParam(lrrm, lrrmDef, LRRM, param);
  }


  protected String getPPDF1(String crop) {
    return getCropParam(ppdf1Def, crop, PPDF1);
  }


  protected String getPPDF2(String crop) {
    return getCropParam(ppdf2Def, crop, PPDF2);
  }


  protected String getPPDF3(String crop) {
    return getCropParam(ppdf3Def, crop, PPDF3);
  }


  protected String getPPDF4(String crop) {
    return getCropParam(ppdf4Def, crop, PPDF4);
  }


  protected String getSFAVAIL(String crop) {
    return getCropParam(sfavailDef, crop, SFAVAIL);
  }


  protected String getPRDXTREE(String tree) {
    return getTreeParam(prdxTree, tree, PRDX);
  }


  protected String getPPDF1TREE(String tree) {
    return getTreeParam(ppdf1Tree, tree, PPDF1);
  }


  protected String getPPDF2TREE(String tree) {
    return getTreeParam(ppdf2Tree, tree, PPDF2);
  }


  public String getPrdxtreetmdf() {
    return getPRDXTREE(TMDF);
  }


  public String getPpdf1treetmdf() {
    return getPPDF1TREE(TMDF);
  }


  public String getPpdf2treetmdf() {
    return getPPDF2TREE(TMDF);
  }


  public String getPrdxtreectmx() {
    return getPRDXTREE(CTMX);
  }


  public String getPpdf1treectmx() {
    return getPPDF1TREE(CTMX);
  }


  public String getPpdf2treectmx() {
    return getPPDF2TREE(CTMX);
  }


  private double getLayerDepth(int layer) {
    if (layer > (profileDepths.size() + 1)) {
      return 0.0;
    } else {
      //return profileDepths.get(layer) - profileDepths.get(layer - 1);
      return profileDepths.get(layer - 2);
    }
  }


  public String getPrecip1() {
    return df1.format(ws.getAvgPrecip(JANUARY));
  }


  public String getPrecip2() {
    return df1.format(ws.getAvgPrecip(FEBRUARY));
  }


  public String getPrecip3() {
    return df1.format(ws.getAvgPrecip(MARCH));
  }


  public String getPrecip4() {
    return df1.format(ws.getAvgPrecip(APRIL));
  }


  public String getPrecip5() {
    return df1.format(ws.getAvgPrecip(MAY));
  }


  public String getPrecip6() {
    return df1.format(ws.getAvgPrecip(JUNE));
  }


  public String getPrecip7() {
    return df1.format(ws.getAvgPrecip(JULY));
  }


  public String getPrecip8() {
    return df1.format(ws.getAvgPrecip(AUGUST));
  }


  public String getPrecip9() {
    return df1.format(ws.getAvgPrecip(SEPTEMBER));
  }


  public String getPrecip10() {
    return df1.format(ws.getAvgPrecip(OCTOBER));
  }


  public String getPrecip11() {
    return df1.format(ws.getAvgPrecip(NOVEMBER));
  }


  public String getPrecip12() {
    return df1.format(ws.getAvgPrecip(DECEMBER));
  }


  public String getPrcstd1() {
    return df1.format(ws.getStdPrecip(JANUARY));
  }


  public String getPrcstd2() {
    return df1.format(ws.getStdPrecip(FEBRUARY));
  }


  public String getPrcstd3() {
    return df1.format(ws.getStdPrecip(MARCH));
  }


  public String getPrcstd4() {
    return df1.format(ws.getStdPrecip(APRIL));
  }


  public String getPrcstd5() {
    return df1.format(ws.getStdPrecip(MAY));
  }


  public String getPrcstd6() {
    return df1.format(ws.getStdPrecip(JUNE));
  }


  public String getPrcstd7() {
    return df1.format(ws.getStdPrecip(JULY));
  }


  public String getPrcstd8() {
    return df1.format(ws.getStdPrecip(AUGUST));
  }


  public String getPrcstd9() {
    return df1.format(ws.getStdPrecip(SEPTEMBER));
  }


  public String getPrcstd10() {
    return df1.format(ws.getStdPrecip(OCTOBER));
  }


  public String getPrcstd11() {
    return df1.format(ws.getStdPrecip(NOVEMBER));
  }


  public String getPrcstd12() {
    return df1.format(ws.getStdPrecip(DECEMBER));
  }


  public String getPrcskw1() {
    return df1.format(ws.getSkwPrecip(JANUARY));
  }


  public String getPrcskw2() {
    return df1.format(ws.getSkwPrecip(FEBRUARY));
  }


  public String getPrcskw3() {
    return df1.format(ws.getSkwPrecip(MARCH));
  }


  public String getPrcskw4() {
    return df1.format(ws.getSkwPrecip(APRIL));
  }


  public String getPrcskw5() {
    return df1.format(ws.getSkwPrecip(MAY));
  }


  public String getPrcskw6() {
    return df1.format(ws.getSkwPrecip(JUNE));
  }


  public String getPrcskw7() {
    return df1.format(ws.getSkwPrecip(JULY));
  }


  public String getPrcskw8() {
    return df1.format(ws.getSkwPrecip(AUGUST));
  }


  public String getPrcskw9() {
    return df1.format(ws.getSkwPrecip(SEPTEMBER));
  }


  public String getPrcskw10() {
    return df1.format(ws.getSkwPrecip(OCTOBER));
  }


  public String getPrcskw11() {
    return df1.format(ws.getSkwPrecip(NOVEMBER));
  }


  public String getPrcskw12() {
    return df1.format(ws.getSkwPrecip(DECEMBER));
  }


  public String getTmn2m1() {
    return df1.format(ws.getMonthlyTmin(JANUARY));
  }


  public String getTmn2m2() {
    return df1.format(ws.getMonthlyTmin(FEBRUARY));
  }


  public String getTmn2m3() {
    return df1.format(ws.getMonthlyTmin(MARCH));
  }


  public String getTmn2m4() {
    return df1.format(ws.getMonthlyTmin(APRIL));
  }


  public String getTmn2m5() {
    return df1.format(ws.getMonthlyTmin(MAY));
  }


  public String getTmn2m6() {
    return df1.format(ws.getMonthlyTmin(JUNE));
  }


  public String getTmn2m7() {
    return df1.format(ws.getMonthlyTmin(JULY));
  }


  public String getTmn2m8() {
    return df1.format(ws.getMonthlyTmin(AUGUST));
  }


  public String getTmn2m9() {
    return df1.format(ws.getMonthlyTmin(SEPTEMBER));
  }


  public String getTmn2m10() {
    return df1.format(ws.getMonthlyTmin(OCTOBER));
  }


  public String getTmn2m11() {
    return df1.format(ws.getMonthlyTmin(NOVEMBER));
  }


  public String getTmn2m12() {
    return df1.format(ws.getMonthlyTmin(DECEMBER));
  }


  public String getTmx2m1() {
    return df1.format(ws.getMonthlyTmax(JANUARY));
  }


  public String getTmx2m2() {
    return df1.format(ws.getMonthlyTmax(FEBRUARY));
  }


  public String getTmx2m3() {
    return df1.format(ws.getMonthlyTmax(MARCH));
  }


  public String getTmx2m4() {
    return df1.format(ws.getMonthlyTmax(APRIL));
  }


  public String getTmx2m5() {
    return df1.format(ws.getMonthlyTmax(MAY));
  }


  public String getTmx2m6() {
    return df1.format(ws.getMonthlyTmax(JUNE));
  }


  public String getTmx2m7() {
    return df1.format(ws.getMonthlyTmax(JULY));
  }


  public String getTmx2m8() {
    return df1.format(ws.getMonthlyTmax(AUGUST));
  }


  public String getTmx2m9() {
    return df1.format(ws.getMonthlyTmax(SEPTEMBER));
  }


  public String getTmx2m10() {
    return df1.format(ws.getMonthlyTmax(OCTOBER));
  }


  public String getTmx2m11() {
    return df1.format(ws.getMonthlyTmax(NOVEMBER));
  }


  public String getTmx2m12() {
    return df1.format(ws.getMonthlyTmax(DECEMBER));
  }


  public String getPrdxpc4ef() {
    return getPRDX(TEMPERATE_TALLGRASS);
  }


  public String getPpdf1pc4ef() {
    return getPPDF1(TEMPERATE_TALLGRASS);
  }


  public String getPpdf2pc4ef() {
    return getPPDF2(TEMPERATE_TALLGRASS);
  }


  public String getHimaxpc4ef() {
    return getHIMAX(BROADLEAF_COVER_CROP);
  }


  public String getPrdxcc5() {
    return getPRDX(LEGUME_CEREAL_COVER_CROP);
  }


  public String getPpdf1cc5() {
    return getPPDF1(LEGUME_CEREAL_COVER_CROP);
  }


  public String getPpdf2cc5() {
    return getPPDF2(LEGUME_CEREAL_COVER_CROP);
  }


  public String getHimaxcc5() {
    return getHIMAX(LEGUME_CEREAL_COVER_CROP);
  }


  public String getPrdxcc4() {
    return getPRDX(BROADLEAF_COVER_CROP);
  }


  public String getPpdf1cc4() {
    return getPPDF1(BROADLEAF_COVER_CROP);
  }


  public String getPpdf2cc4() {
    return getPPDF2(BROADLEAF_COVER_CROP);
  }


  public String getHimaxcc4() {
    return getHIMAX(BROADLEAF_COVER_CROP);
  }


  public String getPrdxcc3() {
    return getPRDX(GRASS_COVER_CROP);
  }


  public String getPpdf1cc3() {
    return getPPDF1(GRASS_COVER_CROP);
  }


  public String getPpdf2cc3() {
    return getPPDF2(GRASS_COVER_CROP);
  }


  public String getHimaxcc3() {
    return getHIMAX(GRASS_COVER_CROP);
  }


  public String getPrdxcc2() {
    return getPRDX(CEREAL_COVER_CROP);
  }


  public String getPpdf1cc2() {
    return getPPDF1(CEREAL_COVER_CROP);
  }


  public String getPpdf2cc2() {
    return getPPDF2(CEREAL_COVER_CROP);
  }


  public String getHimaxcc2() {
    return getHIMAX(CEREAL_COVER_CROP);
  }


  public String getPrdxchay() {
    return getPRDX(CEREAL_HAY);
  }


  public String getPpdf1chay() {
    return getPPDF1(CEREAL_HAY);
  }


  public String getPpdf2chay() {
    return getPPDF2(CEREAL_HAY);
  }


  public String getPpdf3chay() {
    return getPPDF3(CEREAL_HAY);
  }


  public String getPpdf4chay() {
    return getPPDF4(CEREAL_HAY);
  }


  public String getHimaxchay() {
    return getHIMAX(CEREAL_HAY);
  }


  public String getPrdxcc1() {
    return getPRDX(LEGUME_COVER_CROP);
  }


  public String getPpdf1cc1() {
    return getPPDF1(LEGUME_COVER_CROP);
  }


  public String getPpdf2cc1() {
    return getPPDF2(LEGUME_COVER_CROP);
  }


  public String getHimaxcc1() {
    return getHIMAX(LEGUME_COVER_CROP);
  }


  public String getPrdxcsl9() {
    return getPRDX(CORNSILAGE9);
  }


  public String getPpdf1csl9() {
    return getPPDF1(CORNSILAGE9);
  }


  public String getPpdf2csl9() {
    return getPPDF2(CORNSILAGE9);
  }


  public String getHimaxcsl9() {
    return getHIMAX(CORNSILAGE9);
  }


  public String getHiwsfcsl9() {
    return getHIWSF(CORNSILAGE9);
  }


  public String getSfavailcsl9() {
    return getSFAVAIL(CORNSILAGE9);
  }


  public String getPrdxcsl10() {
    return getPRDX(CORNSILAGE10);
  }


  public String getPpdf1csl10() {
    return getPPDF1(CORNSILAGE10);
  }


  public String getPpdf2csl10() {
    return getPPDF2(CORNSILAGE10);
  }


  public String getHimaxcsl10() {
    return getHIMAX(CORNSILAGE10);
  }


  public String getHiwsfcsl10() {
    return getHIWSF(CORNSILAGE10);
  }


  public String getSfavailcsl10() {
    return getSFAVAIL(CORNSILAGE10);
  }


  public String getPrdxcsl11() {
    return getPRDX(CORNSILAGE11);
  }


  public String getPpdf1csl11() {
    return getPPDF1(CORNSILAGE11);
  }


  public String getPpdf2csl11() {
    return getPPDF2(CORNSILAGE11);
  }


  public String getHimaxcsl11() {
    return getHIMAX(CORNSILAGE11);
  }


  public String getHiwsfcsl11() {
    return getHIWSF(CORNSILAGE11);
  }


  public String getSfavailcsl11() {
    return getSFAVAIL(CORNSILAGE11);
  }


  public String getPrdxcsl12() {
    return getPRDX(CORNSILAGE12);
  }


  public String getPpdf1csl12() {
    return getPPDF1(CORNSILAGE12);
  }


  public String getPpdf2csl12() {
    return getPPDF2(CORNSILAGE12);
  }


  public String getHimaxcsl12() {
    return getHIMAX(CORNSILAGE12);
  }


  public String getHiwsfcsl12() {
    return getHIWSF(CORNSILAGE12);
  }


  public String getSfavailcsl12() {
    return getSFAVAIL(CORNSILAGE12);
  }


  public String getPrdxcsl13() {
    return getPRDX(CORNSILAGE13);
  }


  public String getPpdf1csl13() {
    return getPPDF1(CORNSILAGE13);
  }


  public String getPpdf2csl13() {
    return getPPDF2(CORNSILAGE13);
  }


  public String getHimaxcsl13() {
    return getHIMAX(CORNSILAGE13);
  }


  public String getHiwsfcsl13() {
    return getHIWSF(CORNSILAGE13);
  }


  public String getSfavailcsl13() {
    return getSFAVAIL(CORNSILAGE13);
  }


  public String getPrdxsc13() {
    return getPRDX(SWEETCORN13);
  }


  public String getPpdf1sc13() {
    return getPPDF1(SWEETCORN13);
  }


  public String getPpdf2sc13() {
    return getPPDF2(SWEETCORN13);
  }


  public String getHimaxsc13() {
    return getHIMAX(SWEETCORN13);
  }


  public String getPrdxc13() {
    return getPRDX(CORN13);
  }


  public String getPpdf1c13() {
    return getPPDF1(CORN13);
  }


  public String getPpdf2c13() {
    return getPPDF2(CORN13);
  }


  public String getHimaxc13() {
    return getHIMAX(CORN13);
  }


  public String getHiwsfc13() {
    return getHIWSF(CORN13);
  }


  public String getSfavailc13() {
    return getSFAVAIL(CORN13);
  }


  public String getPrdxpc13() {
    return getPRDX(POPCORN13);
  }


  public String getPpdf1pc13() {
    return getPPDF1(POPCORN13);
  }


  public String getPpdf2pc13() {
    return getPPDF2(POPCORN13);
  }


  public String getHimaxpc13() {
    return getHIMAX(POPCORN13);
  }


  public String getHiwsfpc13() {
    return getHIWSF(POPCORN13);
  }


  public String getSfavailpc13() {
    return getSFAVAIL(POPCORN13);
  }


  public String getPrdxc12() {
    return getPRDX(CORN12);
  }


  public String getPpdf1c12() {
    return getPPDF1(CORN12);
  }


  public String getPpdf2c12() {
    return getPPDF2(CORN12);
  }


  public String getHimaxc12() {
    return getHIMAX(CORN12);
  }


  public String getPrdxc11() {
    return getPRDX(CORN11);
  }


  public String getPpdf1c11() {
    return getPPDF1(CORN11);
  }


  public String getPpdf2c11() {
    return getPPDF2(CORN11);
  }


  public String getHimaxc11() {
    return getHIMAX(CORN11);
  }


  public String getPrdxc10() {
    return getPRDX(CORN10);
  }


  public String getPpdf1c10() {
    return getPPDF1(CORN10);
  }


  public String getPpdf2c10() {
    return getPPDF2(CORN10);
  }


  public String getHimaxc10() {
    return getHIMAX(CORN10);
  }


  public String getPrdxc9() {
    return getPRDX(CORN9);
  }


  public String getPpdf1c9() {
    return getPPDF1(CORN9);
  }


  public String getPpdf2c9() {
    return getPPDF2(CORN9);
  }


  public String getHimaxc9() {
    return getHIMAX(CORN9);
  }


  public String getPrdxc8() {
    return getPRDX(CORN8);
  }


  public String getPpdf1c8() {
    return getPPDF1(CORN8);
  }


  public String getPpdf2c8() {
    return getPPDF2(CORN8);
  }


  public String getHimaxc8() {
    return getHIMAX(CORN8);
  }


  public String getPrdxc7() {
    return getPRDX(CORN7);
  }


  public String getPpdf1c7() {
    return getPPDF1(CORN7);
  }


  public String getPpdf2c7() {
    return getPPDF2(CORN7);
  }


  public String getHimaxc7() {
    return getHIMAX(CORN7);
  }


  public String getPrdxc6() {
    return getPRDX(CORN6);
  }


  public String getPpdf1c6() {
    return getPPDF1(CORN6);
  }


  public String getPpdf2c6() {
    return getPPDF2(CORN6);
  }


  public String getHimaxc6() {
    return getHIMAX(CORN6);
  }


  public String getHimaxc5() {
    return getHIMAX(CORN5);
  }


  public String getPrdxc5() {
    return getPRDX(CORN5);
  }


  public String getPpdf1c5() {
    return getPPDF1(CORN5);
  }


  public String getPpdf2c5() {
    return getPPDF2(CORN5);
  }


  public String getHimaxgi3() {
    return getHIMAX(GRASS_50WARM_50COOL);
  }


  public String getPpdf1gi3() {
    return getPPDF1(GRASS_50WARM_50COOL);
  }


  public String getPpdf2gi3() {
    return getPPDF2(GRASS_50WARM_50COOL);
  }


  public String getPrdxgi3() {
    return getPRDX(GRASS_50WARM_50COOL);
  }


  public String getPrdxc1() {
    return getPRDX(CORN1);
  }


  public String getPpdf1c1() {
    return getPPDF1(CORN1);
  }


  public String getPpdf2c1() {
    return getPPDF2(CORN1);
  }


  public String getHimaxc1() {
    return getHIMAX(CORN1);
  }


  public String getPrdxc2() {
    return getPRDX(CORN2);
  }


  public String getPpdf1c2() {
    return getPPDF1(CORN2);
  }


  public String getPpdf2c2() {
    return getPPDF2(CORN2);
  }


  public String getHimaxc2() {
    return getHIMAX(CORN2);
  }


  public String getPrdxc3() {
    return getPRDX(CORN3);
  }


  public String getPpdf1c3() {
    return getPPDF1(CORN3);
  }


  public String getPpdf2c3() {
    return getPPDF2(CORN3);
  }


  public String getHimaxc3() {
    return getHIMAX(CORN3);
  }


  public String getPrdxc4() {
    return getPRDX(CORN4);
  }


  public String getPpdf1c4() {
    return getPPDF1(CORN4);
  }


  public String getPpdf2c4() {
    return getPPDF2(CORN4);
  }


  public String getHimaxc4() {
    return getHIMAX(CORN4);
  }


  public String getPrdxoat1() {
    return getPRDX(OAT1);
  }


  public String getPpdf1oat1() {
    return getPPDF1(OAT1);
  }


  public String getPpdf2oat1() {
    return getPPDF2(OAT1);
  }


  public String getHimaxoat1() {
    return getHIMAX(OAT1);
  }


  public String getPpdf1oat2() {
    return getPPDF1(OAT2);
  }


  public String getPpdf2oat2() {
    return getPPDF2(OAT2);
  }


  public String getPrdxoat2() {
    return getPRDX(OAT2);
  }


  public String getHimaxoat2() {
    return getHIMAX(OAT2);
  }


  public String getPpdf1oat3() {
    return getPPDF1(OAT3);
  }


  public String getPpdf2oat3() {
    return getPPDF2(OAT3);
  }


  public String getPrdxoat3() {
    return getPRDX(OAT3);
  }


  public String getHimaxoat3() {
    return getHIMAX(OAT3);
  }


  public String getHiwsfoat3() {
    return getHIWSF(OAT3);
  }


  public String getSfavailoat3() {
    return getSFAVAIL(OAT3);
  }


  public String getPrdxsybn4() {
    return getPRDX(SOYBEAN4);
  }


  public String getPpdf1sybn4() {
    return getPPDF1(SOYBEAN4);
  }


  public String getPpdf2sybn4() {
    return getPPDF2(SOYBEAN4);
  }


  public String getHimaxsybn4() {
    return getHIMAX(SOYBEAN4);
  }


  public String getHiwsfsybn4() {
    return getHIWSF(SOYBEAN4);
  }


  public String getWscoeff1sybn4() {
    return getWSCOEFF1(SOYBEAN4);
  }


  public String getWscoeff2sybn4() {
    return getWSCOEFF2(SOYBEAN4);
  }


  public String getPrdxbkw() {
    return getPRDX(BUCKWHEAT);
  }


  public String getPpdf1bkw() {
    return getPPDF1(BUCKWHEAT);
  }


  public String getPpdf2bkw() {
    return getPPDF2(BUCKWHEAT);
  }


  public String getHimaxbkw() {
    return getHIMAX(BUCKWHEAT);
  }


  public String getHiwsfbkw() {
    return getHIWSF(BUCKWHEAT);
  }


  public String getWscoeff1bkw() {
    return getWSCOEFF1(BUCKWHEAT);
  }


  public String getWscoeff2bkw() {
    return getWSCOEFF2(BUCKWHEAT);
  }


  public String getPpdf1sybn1() {
    return getPPDF1(SOYBEAN1);
  }


  public String getPpdf2sybn1() {
    return getPPDF2(SOYBEAN1);
  }


  public String getPrdxsybn1() {
    return getPRDX(SOYBEAN1);
  }


  public String getHimaxsybn1() {
    return getHIMAX(SOYBEAN1);
  }


  public String getPpdf1sybn2() {
    return getPPDF1(SOYBEAN2);
  }


  public String getPpdf2sybn2() {
    return getPPDF2(SOYBEAN2);
  }


  public String getPrdxsybn2() {
    return getPRDX(SOYBEAN2);
  }


  public String getHimaxsybn2() {
    return getHIMAX(SOYBEAN2);
  }


  public String getPpdf1sybn3() {
    return getPPDF1(SOYBEAN3);
  }


  public String getPpdf2sybn3() {
    return getPPDF2(SOYBEAN3);
  }


  public String getPrdxsybn3() {
    return getPRDX(SOYBEAN3);
  }


  public String getHimaxsybn3() {
    return getHIMAX(SOYBEAN3);
  }


  public String getPrdxgcp1() {
    return getPRDX(GRASS_CLOVER_PASTURE1);
  }


  public String getPpdf1gcp1() {
    return getPPDF1(GRASS_CLOVER_PASTURE1);
  }


  public String getPpdf2gcp1() {
    return getPPDF2(GRASS_CLOVER_PASTURE1);
  }


  public String getHimaxgcp1() {
    return getHIMAX(GRASS_CLOVER_PASTURE1);
  }


  public String getPpdf1sorg3() {
    return getPPDF1(SORGHUM3);
  }


  public String getPpdf2sorg3() {
    return getPPDF2(SORGHUM3);
  }


  public String getPrdxsorg3() {
    return getPRDX(SORGHUM3);
  }


  public String getHimaxsorg3() {
    return getHIMAX(SORGHUM3);
  }


  public String getHiwsfsorg3() {
    return getHIWSF(SORGHUM3);
  }


  public String getSfavailsorg3() {
    return getSFAVAIL(SORGHUM3);
  }


  public String getPpdf1sorg1() {
    return getPPDF1(SORGHUM1);
  }


  public String getPpdf2sorg1() {
    return getPPDF2(SORGHUM1);
  }


  public String getPrdxsorg1() {
    return getPRDX(SORGHUM1);
  }


  public String getHimaxsorg1() {
    return getHIMAX(SORGHUM1);
  }


  public String getPpdf1sorg2() {
    return getPPDF1(SORGHUM2);
  }


  public String getPpdf2sorg2() {
    return getPPDF2(SORGHUM2);
  }


  public String getPrdxsorg2() {
    return getPRDX(SORGHUM2);
  }


  public String getHimaxsorg2() {
    return getHIMAX(SORGHUM2);
  }


  public String getPpdf1fsorg() {
    return getPPDF1(FSORGHUM);
  }


  public String getPpdf2fsorg() {
    return getPPDF2(FSORGHUM);
  }


  public String getPrdxfsorg() {
    return getPRDX(FSORGHUM);
  }


  public String getHimaxfsorg() {
    return getHIMAX(FSORGHUM);
  }


  public String getPpdf1bsorg() {
    return getPPDF1(SORG_HAY);
  }


  public String getPpdf2bsorg() {
    return getPPDF2(SORG_HAY);
  }


  public String getPrdxbsorg() {
    return getPRDX(SORG_HAY);
  }


  public String getHimaxbsorg() {
    return getHIMAX(SORG_HAY);
  }


  public String getHiwsfbsorg() {
    return getHIWSF(SORG_HAY);
  }


  public String getSfavaibsorg() {
    return getSFAVAIL(SORG_HAY);
  }


  public String getPpdf1ssorg() {
    return getPPDF1(SORG_SILAGE);
  }


  public String getPpdf2ssorg() {
    return getPPDF2(SORG_SILAGE);
  }


  public String getPrdxssorg() {
    return getPRDX(SORG_SILAGE);
  }


  public String getHimaxssorg() {
    return getHIMAX(SORG_SILAGE);
  }


  public String getHiwsfssorg() {
    return getHIWSF(SORG_SILAGE);
  }


  public String getSfavailssorg() {
    return getSFAVAIL(SORG_SILAGE);
  }


  public String getPpdf1cot() {
    return getPPDF1(COTTON);
  }


  public String getPpdf2cot() {
    return getPPDF2(COTTON);
  }


  public String getPrdxcot() {
    return getPRDX(COTTON);
  }


  public String getHimaxcot() {
    return getHIMAX(COTTON);
  }


  public String getPpdf1cot2() {
    return getPPDF1(COTTON2);
  }


  public String getPpdf2cot2() {
    return getPPDF2(COTTON2);
  }


  public String getPrdxcot2() {
    return getPRDX(COTTON2);
  }


  public String getHimaxcot2() {
    return getHIMAX(COTTON2);
  }


  public String getPpdf1mill1() {
    return getPPDF1(MILLET1);
  }


  public String getPpdf2mill1() {
    return getPPDF2(MILLET1);
  }


  public String getPrdxmill1() {
    return getPRDX(MILLET1);
  }


  public String getHimaxmill1() {
    return getHIMAX(MILLET1);
  }


  public String getPpdf1ms() {
    return getPPDF1(MS);
  }


  public String getPpdf2ms() {
    return getPPDF2(MS);
  }


  public String getPramnms() {
    return getPRAMN(MS);
  }


  public String getPramxms() {
    return getPRAMX(MS);
  }


  public String getPrdxms() {
    return getPRDX(MS);
  }


  public String getHimaxms() {
    return getHIMAX(MS);
  }


  public String getPpdf1flax() {
    return getPPDF1(FLAX);
  }


  public String getPpdf2flax() {
    return getPPDF2(FLAX);
  }


  public String getPrdxflax() {
    return getPRDX(FLAX);
  }


  public String getHimaxflax() {
    return getHIMAX(FLAX);
  }


  public String getPpdf1lent() {
    return getPPDF1(LENT);
  }


  public String getPpdf2lent() {
    return getPPDF2(LENT);
  }


  public String getPrdxlent() {
    return getPRDX(LENT);
  }


  public String getHimaxlent() {
    return getHIMAX(LENT);
  }


  public String getPpdf1sw0() {
    return getPPDF1(WHEAT);
  }


  public String getPpdf2sw0() {
    return getPPDF2(WHEAT);
  }


  public String getPrdxsw0() {
    return getPRDX(WHEAT);
  }


  public String getHimaxsw0() {
    return getHIMAX(WHEAT);
  }


  public String getPpdf1sw1() {
    return getPPDF1(WHEAT1);
  }


  public String getPpdf2sw1() {
    return getPPDF2(WHEAT1);
  }


  public String getPrdxsw1() {
    return getPRDX(WHEAT1);
  }


  public String getHimaxsw1() {
    return getHIMAX(WHEAT1);
  }


  public String getHiwsfsw1() {
    return getHIWSF(WHEAT1);
  }


  public String getWscoeff1sw1() {
    return getWSCOEFF1(WHEAT1);
  }


  public String getWscoeff2sw1() {
    return getWSCOEFF2(WHEAT1);
  }


  public String getSfavailsw1() {
    return getSFAVAIL(WHEAT1);
  }


  public String getPpdf1sw2() {
    return getPPDF1(WHEAT2);
  }


  public String getPpdf2sw2() {
    return getPPDF2(WHEAT2);
  }


  public String getPrdxsw2() {
    return getPRDX(WHEAT2);
  }


  public String getHimaxsw2() {
    return getHIMAX(WHEAT2);
  }


  public String getHiwsfsw2() {
    return getHIWSF(WHEAT2);
  }


  public String getWscoeff1sw2() {
    return getWSCOEFF1(WHEAT2);
  }


  public String getWscoeff2sw2() {
    return getWSCOEFF2(WHEAT2);
  }


  public String getSfavailsw2() {
    return getSFAVAIL(WHEAT2);
  }


  public String getPpdf1sw3() {
    return getPPDF1(WHEAT3);
  }


  public String getPpdf2sw3() {
    return getPPDF2(WHEAT3);
  }


  public String getWscoeff1sw3() {
    return getWSCOEFF1(WHEAT3);
  }


  public String getWscoeff2sw3() {
    return getWSCOEFF2(WHEAT3);
  }


  public String getPrdxsw3() {
    return getPRDX(WHEAT3);
  }


  public String getHimaxsw3() {
    return getHIMAX(WHEAT3);
  }


  public String getHiwsfsw3() {
    return getHIWSF(WHEAT3);
  }


  public String getSfavailsw3() {
    return getSFAVAIL(WHEAT3);
  }


  public String getPpdf1swsl4() {
    return getPPDF1(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4);
  }


  public String getPpdf2swsl4() {
    return getPPDF2(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4);
  }


  public String getWscoeff1swsl4() {
    return getWSCOEFF1(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4);
  }


  public String getWscoeff2swsl4() {
    return getWSCOEFF2(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4);
  }


  public String getPrdxswsl4() {
    return getPRDX(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4);
  }


  public String getHimaxswsl4() {
    return getHIMAX(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4);
  }


  public String getHiwsfswsl4() {
    return getHIWSF(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4);
  }


  public String getSfavailswsl4() {
    return getSFAVAIL(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4);
  }


  public String getPpdf1wbl4() {
    return getPPDF1(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4);
  }


  public String getPpdf2wbl4() {
    return getPPDF2(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4);
  }


  public String getWscoeff1wbl4() {
    return getWSCOEFF1(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4);
  }


  public String getWscoeff2wbl4() {
    return getWSCOEFF2(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4);
  }


  public String getPrdxwbl4() {
    return getPRDX(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4);
  }


  public String getHimaxwbl4() {
    return getHIMAX(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4);
  }


  public String getHiwsfwbl4() {
    return getHIWSF(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4);
  }


  public String getSfavailwbl4() {
    return getSFAVAIL(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4);
  }


  public String getPpdf1sw3p() {
    return getPPDF1(WHEAT3P);
  }


  public String getPpdf2sw3p() {
    return getPPDF2(WHEAT3P);
  }


  public String getWscoeff1sw3p() {
    return getWSCOEFF1(WHEAT3P);
  }


  public String getWscoeff2sw3p() {
    return getWSCOEFF2(WHEAT3P);
  }


  public String getPrdxsw3p() {
    return getPRDX(WHEAT3P);
  }


  public String getHimaxsw3p() {
    return getHIMAX(WHEAT3P);
  }


  public String getHiwsfsw3p() {
    return getHIWSF(WHEAT3P);
  }


  public String getSfavailsw3p() {
    return getSFAVAIL(WHEAT3P);
  }


  public String getPpdf1sw3eg() {
    return getPPDF1(WHEAT3EG);
  }


  public String getPpdf2sw3eg() {
    return getPPDF2(WHEAT3EG);
  }


  public String getPrdxsw3eg() {
    return getPRDX(WHEAT3EG);
  }


  public String getHimaxsw3eg() {
    return getHIMAX(WHEAT3EG);
  }


  public String getPpdf1bar1() {
    return getPPDF1(BARLEY1);
  }


  public String getPpdf2bar1() {
    return getPPDF2(BARLEY1);
  }


  public String getPrdxbar1() {
    return getPRDX(BARLEY1);
  }


  public String getHimaxbar1() {
    return getHIMAX(BARLEY1);
  }


  public String getPpdf1bar2() {
    return getPPDF1(BARLEY2);
  }


  public String getPpdf2bar2() {
    return getPPDF2(BARLEY2);
  }


  public String getPrdxbar2() {
    return getPRDX(BARLEY2);
  }


  public String getHimaxbar2() {
    return getHIMAX(BARLEY2);
  }


  public String getPpdf1bar3() {
    return getPPDF1(BARLEY3);
  }


  public String getPpdf2bar3() {
    return getPPDF2(BARLEY3);
  }


  public String getPrdxbar3() {
    return getPRDX(BARLEY3);
  }


  public String getHimaxbar3() {
    return getHIMAX(BARLEY3);
  }


  public String getPpdf1bsil() {
    return getPPDF1(BARLEY_SILAGE);
  }


  public String getPpdf2bsil() {
    return getPPDF2(BARLEY_SILAGE);
  }


  public String getPrdxbsil() {
    return getPRDX(BARLEY_SILAGE);
  }


  public String getHimaxbsil() {
    return getHIMAX(BARLEY_SILAGE);
  }


  public String getSfavailbsil() {
    return getSFAVAIL(BARLEY_SILAGE);
  }


  public String getPpdf1bhay() {
    return getPPDF1(BARLEY_HAY);
  }


  public String getPpdf2bhay() {
    return getPPDF2(BARLEY_HAY);
  }


  public String getPrdxbhay() {
    return getPRDX(BARLEY_HAY);
  }


  public String getHimaxbhay() {
    return getHIMAX(BARLEY_HAY);
  }


  public String getPpdf1gi1() {
    return getPPDF1(GRASS_0WARM_100COOL);
  }


  public String getPpdf2gi1() {
    return getPPDF2(GRASS_0WARM_100COOL);
  }


  public String getPrdxgi1() {
    return getPRDX(GRASS_0WARM_100COOL);
  }


  public String getHimaxgi1() {
    return getHIMAX(GRASS_0WARM_100COOL);
  }


  public String getPpdf1gi2() {
    return getPPDF1(GRASS_100WARM_0COOL);
  }


  public String getPpdf2gi2() {
    return getPPDF2(GRASS_100WARM_0COOL);
  }


  public String getPrdxgi2() {
    return getPRDX(GRASS_100WARM_0COOL);
  }


  public String getHimaxgi2() {
    return getHIMAX(GRASS_100WARM_0COOL);
  }


  public String getPpdf1gi4() {
    return getPPDF1(GRASS_25WARM_75COOL);
  }


  public String getPpdf2gi4() {
    return getPPDF2(GRASS_25WARM_75COOL);
  }


  public String getPrdxgi4() {
    return getPRDX(GRASS_25WARM_75COOL);
  }


  public String getHimaxgi4() {
    return getHIMAX(GRASS_25WARM_75COOL);
  }


  public String getPpdf1gi5() {
    return getPPDF1(GRASS_75WARM_25COOL);
  }


  public String getPpdf2gi5() {
    return getPPDF2(GRASS_75WARM_25COOL);
  }


  public String getPrdxgi5() {
    return getPRDX(GRASS_75WARM_25COOL);
  }


  public String getHimaxgi5() {
    return getHIMAX(GRASS_75WARM_25COOL);
  }


  public String getPpdf1g1() {
    return getPPDF1(GRASS_0W_100C);
  }


  public String getPpdf2g1() {
    return getPPDF2(GRASS_0W_100C);
  }


  public String getPrdxg1() {
    return getPRDX(GRASS_0W_100C);
  }


  public String getHimaxg1() {
    return getHIMAX(GRASS_0W_100C);
  }


  public String getPpdf1g2() {
    return getPPDF1(GRASS_100W_0C);
  }


  public String getPpdf2g2() {
    return getPPDF2(GRASS_100W_0C);
  }


  public String getPrdxg2() {
    return getPRDX(GRASS_100W_0C);
  }


  public String getHimaxg2() {
    return getHIMAX(GRASS_100W_0C);
  }


  public String getPpdf1g3() {
    return getPPDF1(GRASS_50W_50C);
  }


  public String getPpdf2g3() {
    return getPPDF2(GRASS_50W_50C);
  }


  public String getPrdxg3() {
    return getPRDX(GRASS_50W_50C);
  }


  public String getHimaxg3() {
    return getHIMAX(GRASS_50W_50C);
  }


  public String getPpdf1g4() {
    return getPPDF1(GRASS_25W_75C);
  }


  public String getPpdf2g4() {
    return getPPDF2(GRASS_25W_75C);
  }


  public String getPrdxg4() {
    return getPRDX(GRASS_25W_75C);
  }


  public String getHimaxg4() {
    return getHIMAX(GRASS_25W_75C);
  }


  public String getPpdf1g5() {
    return getPPDF1(GRASS_75W_25C);
  }


  public String getPpdf2g5() {
    return getPPDF2(GRASS_75W_25C);
  }


  public String getPrdxg5() {
    return getPRDX(GRASS_75W_25C);
  }


  public String getHimaxg5() {
    return getHIMAX(GRASS_75W_25C);
  }


  public String getPpdf1g1cpd() {
    return getPPDF1(GRASS_CLOVER_PASTURED1);
  }


  public String getPpdf2g1cpd() {
    return getPPDF2(GRASS_CLOVER_PASTURED1);
  }


  public String getPrdxg1cpd() {
    return getPRDX(GRASS_CLOVER_PASTURED1);
  }


  public String getHimaxg1cpd() {
    return getHIMAX(GRASS_CLOVER_PASTURED1);
  }


  public String getPpdf1g2cpd() {
    return getPPDF1(GRASS_CLOVER_PASTURED2);
  }


  public String getPpdf2g2cpd() {
    return getPPDF2(GRASS_CLOVER_PASTURED2);
  }


  public String getPrdxg2cpd() {
    return getPRDX(GRASS_CLOVER_PASTURED2);
  }


  public String getHimaxg2cpd() {
    return getHIMAX(GRASS_CLOVER_PASTURED2);
  }


  public String getPpdf1g3cpd() {
    return getPPDF1(GRASS_CLOVER_PASTURED3);
  }


  public String getPpdf2g3cpd() {
    return getPPDF2(GRASS_CLOVER_PASTURED3);
  }


  public String getPrdxg3cpd() {
    return getPRDX(GRASS_CLOVER_PASTURED3);
  }


  public String getHimaxg3cpd() {
    return getHIMAX(GRASS_CLOVER_PASTURED3);
  }


  public String getPpdf1g4cpd() {
    return getPPDF1(GRASS_CLOVER_PASTURED4);
  }


  public String getPpdf2g4cpd() {
    return getPPDF2(GRASS_CLOVER_PASTURED4);
  }


  public String getPrdxg4cpd() {
    return getPRDX(GRASS_CLOVER_PASTURED4);
  }


  public String getHimaxg4cpd() {
    return getHIMAX(GRASS_CLOVER_PASTURED4);
  }


  public String getPpdf1g5cpd() {
    return getPPDF1(GRASS_CLOVER_PASTURED5);
  }


  public String getPpdf2g5cpd() {
    return getPPDF2(GRASS_CLOVER_PASTURED5);
  }


  public String getPrdxg5cpd() {
    return getPRDX(GRASS_CLOVER_PASTURED5);
  }


  public String getHimaxg5cpd() {
    return getHIMAX(GRASS_CLOVER_PASTURED5);
  }


  public String getPrdxg1cpi() {
    return getPRDX(GRASS_CLOVER_PASTUREI1);
  }


  public String getPpdf1g1cpi() {
    return getPPDF1(GRASS_CLOVER_PASTUREI1);
  }


  public String getPpdf2g1cpi() {
    return getPPDF2(GRASS_CLOVER_PASTUREI1);
  }


  public String getHimaxg1cpi() {
    return getHIMAX(GRASS_CLOVER_PASTUREI1);
  }


  public String getPrdxg2cpi() {
    return getPRDX(GRASS_CLOVER_PASTUREI2);
  }


  public String getPpdf1g2cpi() {
    return getPPDF1(GRASS_CLOVER_PASTUREI2);
  }


  public String getPpdf2g2cpi() {
    return getPPDF2(GRASS_CLOVER_PASTUREI2);
  }


  public String getHimaxg2cpi() {
    return getHIMAX(GRASS_CLOVER_PASTUREI2);
  }


  public String getPpdf1g3cpi() {
    return getPPDF1(GRASS_CLOVER_PASTUREI3);
  }


  public String getPpdf2g3cpi() {
    return getPPDF2(GRASS_CLOVER_PASTUREI3);
  }


  public String getPrdxg3cpi() {
    return getPRDX(GRASS_CLOVER_PASTUREI3);
  }


  public String getHimaxg3cpi() {
    return getHIMAX(GRASS_CLOVER_PASTUREI3);
  }


  public String getPpdf1g4cpi() {
    return getPPDF1(GRASS_CLOVER_PASTUREI4);
  }


  public String getPpdf2g4cpi() {
    return getPPDF2(GRASS_CLOVER_PASTUREI4);
  }


  public String getPrdxg4cpi() {
    return getPRDX(GRASS_CLOVER_PASTUREI4);
  }


  public String getHimaxg4cpi() {
    return getHIMAX(GRASS_CLOVER_PASTUREI4);
  }


  public String getPpdf1g5cpi() {
    return getPPDF1(GRASS_CLOVER_PASTUREI5);
  }


  public String getPpdf2g5cpi() {
    return getPPDF2(GRASS_CLOVER_PASTUREI5);
  }


  public String getPrdxg5cpi() {
    return getPRDX(GRASS_CLOVER_PASTUREI5);
  }


  public String getHimaxg5cpi() {
    return getHIMAX(GRASS_CLOVER_PASTUREI5);
  }


  public String getPpdf1dbean() {
    return getPPDF1(DRYBEANS);
  }


  public String getPpdf2dbean() {
    return getPPDF2(DRYBEANS);
  }


  public String getPrdxdbean() {
    return getPRDX(DRYBEANS);
  }


  public String getHimaxdbean() {
    return getHIMAX(DRYBEANS);
  }


  public String getPpdf1mbean() {
    return getPPDF1(MUNGBEANS);
  }


  public String getPpdf2mbean() {
    return getPPDF2(MUNGBEANS);
  }


  public String getPrdxmbean() {
    return getPRDX(MUNGBEANS);
  }


  public String getHimaxmbean() {
    return getHIMAX(MUNGBEANS);
  }


  public String getPpdf1w0() {
    return getPPDF1(WHEAT_HARVEST_INDEX_0);
  }


  public String getPpdf2w0() {
    return getPPDF2(WHEAT_HARVEST_INDEX_0);
  }


  public String getPrdxw0() {
    return getPRDX(WHEAT_HARVEST_INDEX_0);
  }


  public String getHimaxw0() {
    return getHIMAX(WHEAT_HARVEST_INDEX_0);
  }


  public String getPpdf1w1() {
    return getPPDF1(WHEAT_HARVEST_INDEX_1);
  }


  public String getPpdf2w1() {
    return getPPDF2(WHEAT_HARVEST_INDEX_1);
  }


  public String getPrdxw1() {
    return getPRDX(WHEAT_HARVEST_INDEX_1);
  }


  public String getHimaxw1() {
    return getHIMAX(WHEAT_HARVEST_INDEX_1);
  }


  public String getPpdf1w2() {
    return getPPDF1(WHEAT_HARVEST_INDEX_2);
  }


  public String getPpdf2w2() {
    return getPPDF2(WHEAT_HARVEST_INDEX_2);
  }


  public String getPrdxw2() {
    return getPRDX(WHEAT_HARVEST_INDEX_2);
  }


  public String getHimaxw2() {
    return getHIMAX(WHEAT_HARVEST_INDEX_2);
  }


  public String getPpdf1w3() {
    return getPPDF1(WHEAT_HARVEST_INDEX_3);
  }


  public String getPpdf2w3() {
    return getPPDF2(WHEAT_HARVEST_INDEX_3);
  }


  public String getPrdxw3() {
    return getPRDX(WHEAT_HARVEST_INDEX_3);
  }


  public String getHimaxw3() {
    return getHIMAX(WHEAT_HARVEST_INDEX_3);
  }


  public String getPpdf1w4() {
    return getPPDF1(WHEAT_HARVEST_INDEX_4);
  }


  public String getPpdf2w4() {
    return getPPDF2(WHEAT_HARVEST_INDEX_4);
  }


  public String getPrdxw4() {
    return getPRDX(WHEAT_HARVEST_INDEX_4);
  }


  public String getHimaxw4() {
    return getHIMAX(WHEAT_HARVEST_INDEX_4);
  }


  public String getHiwsfw4() {
    return getHIWSF(WHEAT_HARVEST_INDEX_4);
  }


  public String getWscoeff1w4() {
    return getWSCOEFF1(WHEAT_HARVEST_INDEX_4);
  }


  public String getWscoeff2w4() {
    return getWSCOEFF2(WHEAT_HARVEST_INDEX_4);
  }


  public String getSfavailw4() {
    return getSFAVAIL(WHEAT_HARVEST_INDEX_4);
  }


  public String getPpdf1wsl4() {
    return getPPDF1(WHEAT_SILAGE_HARVEST_INDEX_4);
  }


  public String getPpdf2wsl4() {
    return getPPDF2(WHEAT_SILAGE_HARVEST_INDEX_4);
  }


  public String getPrdxwsl4() {
    return getPRDX(WHEAT_SILAGE_HARVEST_INDEX_4);
  }


  public String getHimaxwsl4() {
    return getHIMAX(WHEAT_SILAGE_HARVEST_INDEX_4);
  }


  public String getHiwsfwsl4() {
    return getHIWSF(WHEAT_SILAGE_HARVEST_INDEX_4);
  }


  public String getSfavailwsl4() {
    return getSFAVAIL(WHEAT_SILAGE_HARVEST_INDEX_4);
  }


  public String getPpdf1sw4() {
    return getPPDF1(SOFT_WHEAT_HARVEST_INDEX_4);
  }


  public String getPpdf2sw4() {
    return getPPDF2(SOFT_WHEAT_HARVEST_INDEX_4);
  }


  public String getPrdxsw4() {
    return getPRDX(SOFT_WHEAT_HARVEST_INDEX_4);
  }


  public String getHimaxsw4() {
    return getHIMAX(SOFT_WHEAT_HARVEST_INDEX_4);
  }


  public String getHiwsfsw4() {
    return getHIWSF(SOFT_WHEAT_HARVEST_INDEX_4);
  }


  public String getWscoeff1sw4() {
    return getWSCOEFF1(SOFT_WHEAT_HARVEST_INDEX_4);
  }


  public String getWscoeff2sw4() {
    return getWSCOEFF2(SOFT_WHEAT_HARVEST_INDEX_4);
  }


  public String getPramnsw4() {
    return getPRAMN(SOFT_WHEAT_HARVEST_INDEX_4);
  }


  public String getPramxsw4() {
    return getPRAMX(SOFT_WHEAT_HARVEST_INDEX_4);
  }


  public String getSfavailsw4() {
    return getSFAVAIL(SOFT_WHEAT_HARVEST_INDEX_4);
  }


  public String getPpdf1w3eg() {
    return getPPDF1(WHEAT_HARVEST_INDEX_3EG);
  }


  public String getPpdf2w3eg() {
    return getPPDF2(WHEAT_HARVEST_INDEX_3EG);
  }


  public String getPrdxw3eg() {
    return getPRDX(WHEAT_HARVEST_INDEX_3EG);
  }


  public String getHimaxw3eg() {
    return getHIMAX(WHEAT_HARVEST_INDEX_3EG);
  }


  public String getPpdf1sun() {
    return getPPDF1(SUNFLOWER);
  }


  public String getPpdf2sun() {
    return getPPDF2(SUNFLOWER);
  }


  public String getPrdxsun() {
    return getPRDX(SUNFLOWER);
  }


  public String getHimaxsun() {
    return getHIMAX(SUNFLOWER);
  }


  public String getPpdf1awp() {
    return getPPDF1(AUSTRIAN_WINTER_PEA);
  }


  public String getPpdf2awp() {
    return getPPDF2(AUSTRIAN_WINTER_PEA);
  }


  public String getPrdxawp() {
    return getPRDX(AUSTRIAN_WINTER_PEA);
  }


  public String getHimaxawp() {
    return getHIMAX(AUSTRIAN_WINTER_PEA);
  }


  public String getPpdf1pea() {
    return getPPDF1(GENERIC_AUSTRIAN_PEA);
  }


  public String getPpdf2pea() {
    return getPPDF2(GENERIC_AUSTRIAN_PEA);
  }


  public String getPrdxpea() {
    return getPRDX(GENERIC_AUSTRIAN_PEA);
  }


  public String getHimaxpea() {
    return getHIMAX(GENERIC_AUSTRIAN_PEA);
  }


  public String getHiwsfpea() {
    return getHIWSF(GENERIC_AUSTRIAN_PEA);
  }


  public String getPpdf1pea2() {
    return getPPDF1(PEA2);
  }


  public String getPpdf2pea2() {
    return getPPDF2(PEA2);
  }


  public String getPrdxpea2() {
    return getPRDX(PEA2);
  }


  public String getHimaxpea2() {
    return getHIMAX(PEA2);
  }


  public String getHiwsfpea2() {
    return getHIWSF(PEA2);
  }


  public String getPpdf1pea1() {
    return getPPDF1(PEA1);
  }


  public String getPpdf2pea1() {
    return getPPDF2(PEA1);
  }


  public String getPrdxpea1() {
    return getPRDX(PEA1);
  }


  public String getHimaxpea1() {
    return getHIMAX(PEA1);
  }


  public String getHiwsfpea1() {
    return getHIWSF(PEA1);
  }


  public String getPpdf1sg3() {
    return getPPDF1(SWITCHGRASS);
  }


  public String getPpdf2sg3() {
    return getPPDF2(SWITCHGRASS);
  }


  public String getPrdxsg3() {
    return getPRDX(SWITCHGRASS);
  }


  public String getHimaxsg3() {
    return getHIMAX(SWITCHGRASS);
  }


  public String getPpdf1bahi() {
    return getPPDF1(BAHIA_SWITCHGRASS);
  }


  public String getPpdf2bahi() {
    return getPPDF2(BAHIA_SWITCHGRASS);
  }


  public String getPrdxbahi() {
    return getPRDX(BAHIA_SWITCHGRASS);
  }


  public String getHimaxbahi() {
    return getHIMAX(BAHIA_SWITCHGRASS);
  }


  public String getPpdf1pot() {
    return getPPDF1(POTATO_LAUCHSTADT);
  }


  public String getPpdf2pot() {
    return getPPDF2(POTATO_LAUCHSTADT);
  }


  public String getPrdxpot() {
    return getPRDX(POTATO_LAUCHSTADT);
  }


  public String getHimaxpot() {
    return getHIMAX(POTATO_LAUCHSTADT);
  }


  public String getPpdf1sugb() {
    return getPPDF1(POTATO_SUGARBEET);
  }


  public String getPpdf2sugb() {
    return getPPDF2(POTATO_SUGARBEET);
  }


  public String getPrdxsugb() {
    return getPRDX(POTATO_SUGARBEET);
  }


  public String getHimaxsugb() {
    return getHIMAX(POTATO_SUGARBEET);
  }


  public String getPpdf1sugbl() {
    return getPPDF1(POTATO_SUGARBEETL);
  }


  public String getPpdf2sugbl() {
    return getPPDF2(POTATO_SUGARBEETL);
  }


  public String getPrdxsugbl() {
    return getPRDX(POTATO_SUGARBEETL);
  }


  public String getHimaxsugbl() {
    return getHIMAX(POTATO_SUGARBEETL);
  }


  public String getPpdf1g1wed() {
    return getPPDF1(WEEDSG1);
  }


  public String getPpdf2g1wed() {
    return getPPDF2(WEEDSG1);
  }


  public String getPrdxg1wed() {
    return getPRDX(WEEDSG1);
  }


  public String getHimaxg1wed() {
    return getHIMAX(WEEDSG1);
  }


  public String getPpdf1g2wed() {
    return getPPDF1(WEEDSG2);
  }


  public String getPpdf2g2wed() {
    return getPPDF2(WEEDSG2);
  }


  public String getPrdxg2wed() {
    return getPRDX(WEEDSG2);
  }


  public String getHimaxg2wed() {
    return getHIMAX(WEEDSG2);
  }


  public String getPpdf1g3wed() {
    return getPPDF1(WEEDSG3);
  }


  public String getPpdf2g3wed() {
    return getPPDF2(WEEDSG3);
  }


  public String getPrdxg3wed() {
    return getPRDX(WEEDSG3);
  }


  public String getHimaxg3wed() {
    return getHIMAX(WEEDSG3);
  }


  public String getPpdf1g4wed() {
    return getPPDF1(WEEDSG4);
  }


  public String getPpdf2g4wed() {
    return getPPDF2(WEEDSG4);
  }


  public String getPrdxg4wed() {
    return getPRDX(WEEDSG4);
  }


  public String getHimaxg4wed() {
    return getHIMAX(WEEDSG4);
  }


  public String getPpdf1g5wed() {
    return getPPDF1(WEEDSG5);
  }


  public String getPpdf2g5wed() {
    return getPPDF2(WEEDSG5);
  }


  public String getPrdxg5wed() {
    return getPRDX(WEEDSG5);
  }


  public String getHimaxg5wed() {
    return getHIMAX(WEEDSG5);
  }


  public String getPpdf1wawed() {
    return getPPDF1(WEEDSWA);
  }


  public String getPpdf2wawed() {
    return getPPDF2(WEEDSWA);
  }


  public String getPrdxwawed() {
    return getPRDX(WEEDSWA);
  }


  public String getHimaxwawed() {
    return getHIMAX(WEEDSWA);
  }


  public String getPpdf1e() {
    return getPPDF1(WEEDSE);
  }


  public String getPpdf2e() {
    return getPPDF2(WEEDSE);
  }


  public String getPrdxe() {
    return getPRDX(WEEDSE);
  }


  public String getHimaxe() {
    return getHIMAX(WEEDSE);
  }


  public String getPpdf1joni() {
    return getPPDF1(ONION_JORDAN);
  }


  public String getPpdf2joni() {
    return getPPDF2(ONION_JORDAN);
  }


  public String getPrdxjoni() {
    return getPRDX(ONION_JORDAN);
  }


  public String getHimaxjoni() {
    return getHIMAX(ONION_JORDAN);
  }


  public String getPpdf1jtom() {
    return getPPDF1(TOMATOES);
  }


  public String getPpdf2jtom() {
    return getPPDF2(TOMATOES);
  }


  public String getPrdxjtom() {
    return getPRDX(TOMATOES);
  }


  public String getHimaxjtom() {
    return getHIMAX(TOMATOES);
  }


  public String getPpdf1alf1() {
    return getPPDF1(ALFALFA1);
  }


  public String getPpdf2alf1() {
    return getPPDF2(ALFALFA1);
  }


  public String getPrdxalf1() {
    return getPRDX(ALFALFA1);
  }


  public String getHimaxalf1() {
    return getHIMAX(ALFALFA1);
  }


  public String getSfavailalf1() {
    return getSFAVAIL(ALFALFA1);
  }


  public String getPramxalf1() {
    return getPRAMX(ALFALFA1);
  }


  public String getPramnalf1() {
    return getPRAMN(ALFALFA1);
  }


  public String getPpdf1alf2() {
    return getPPDF1(ALFALFA2);
  }


  public String getPpdf2alf2() {
    return getPPDF2(ALFALFA2);
  }


  public String getPrdxalf2() {
    return getPRDX(ALFALFA2);
  }


  public String getHimaxalf2() {
    return getHIMAX(ALFALFA2);
  }


  public String getSfavailalf2() {
    return getSFAVAIL(ALFALFA2);
  }


  public String getPramxalf2() {
    return getPRAMX(ALFALFA2);
  }


  public String getPramnalf2() {
    return getPRAMN(ALFALFA2);
  }


  public String getPpdf1alf3() {
    return getPPDF1(ALFALFA3);
  }


  public String getPpdf2alf3() {
    return getPPDF2(ALFALFA3);
  }


  public String getPrdxalf3() {
    return getPRDX(ALFALFA3);
  }


  public String getSfavailalf3() {
    return getSFAVAIL(ALFALFA3);
  }


  public String getHimaxalf3() {
    return getHIMAX(ALFALFA3);
  }


  public String getPramxalf3() {
    return getPRAMX(ALFALFA3);
  }


  public String getPramnalf3() {
    return getPRAMN(ALFALFA3);
  }


  public String getPpdf1alf4() {
    return getPPDF1(ALFALFA4);
  }


  public String getPpdf2alf4() {
    return getPPDF2(ALFALFA4);
  }


  public String getPrdxalf4() {
    return getPRDX(ALFALFA4);
  }


  public String getHimaxalf4() {
    return getHIMAX(ALFALFA4);
  }


  public String getSfavailalf4() {
    return getSFAVAIL(ALFALFA4);
  }


  public String getPramxalf4() {
    return getPRAMX(ALFALFA4);
  }


  public String getPramnalf4() {
    return getPRAMN(ALFALFA4);
  }


  public String getPpdf1alfb() {
    return getPPDF1(ALFALFA_BALEAGE);
  }


  public String getPpdf2alfb() {
    return getPPDF2(ALFALFA_BALEAGE);
  }


  public String getPrdxalfb() {
    return getPRDX(ALFALFA_BALEAGE);
  }


  public String getHimaxalfb() {
    return getHIMAX(ALFALFA_BALEAGE);
  }


  public String getSfavailalfb() {
    return getSFAVAIL(ALFALFA_BALEAGE);
  }


  public String getPramxalfb() {
    return getPRAMX(ALFALFA_BALEAGE);
  }


  public String getPramnalfb() {
    return getPRAMN(ALFALFA_BALEAGE);
  }


  public String getPpdf1clv1() {
    return getPPDF1(SOYBEAN_CLOVER);
  }


  public String getPpdf2clv1() {
    return getPPDF2(SOYBEAN_CLOVER);
  }


  public String getPrdxclv1() {
    return getPRDX(SOYBEAN_CLOVER);
  }


  public String getHimaxclv1() {
    return getHIMAX(SOYBEAN_CLOVER);
  }


  public String getPpdf1wacpd() {
    return getPPDF1(GRASS_CLOVER_PASTUREWA);
  }


  public String getPpdf2wacpd() {
    return getPPDF2(GRASS_CLOVER_PASTUREWA);
  }


  public String getPrdxwacpd() {
    return getPRDX(GRASS_CLOVER_PASTUREWA);
  }


  public String getHimaxwacpd() {
    return getHIMAX(GRASS_CLOVER_PASTUREWA);
  }


  public String getPpdf1wacpi() {
    return getPPDF1(GRASS_CLOVER_PASTUREIWA);
  }


  public String getPpdf2wacpi() {
    return getPPDF2(GRASS_CLOVER_PASTUREIWA);
  }


  public String getPrdxwacpi() {
    return getPRDX(GRASS_CLOVER_PASTUREIWA);
  }


  public String getHimaxwacpi() {
    return getHIMAX(GRASS_CLOVER_PASTUREIWA);
  }


  public String getPpdf1wc3() {
    return getPPDF1(GRASS_100COOL);
  }


  public String getPpdf2wc3() {
    return getPPDF2(GRASS_100COOL);
  }


  public String getPrdxwc3() {
    return getPRDX(GRASS_100COOL);
  }


  public String getHimaxwc3() {
    return getHIMAX(GRASS_100COOL);
  }


  public String getPpdf1pnut() {
    return getPPDF1(PEANUT);
  }


  public String getPpdf2pnut() {
    return getPPDF2(PEANUT);
  }


  public String getPrdxpnut() {
    return getPRDX(PEANUT);
  }


  public String getHimaxpnut() {
    return getHIMAX(PEANUT);
  }


  public String getPpdf1ricl() {
    return getPPDF1(RICE_LOWLAND);
  }


  public String getPpdf2ricl() {
    return getPPDF2(RICE_LOWLAND);
  }


  public String getPrdxricl() {
    return getPRDX(RICE_LOWLAND);
  }


  public String getHimaxricl() {
    return getHIMAX(RICE_LOWLAND);
  }


  public String getPpdf1saff() {
    return getPPDF1(SAFFLOWER);
  }


  public String getPpdf2saff() {
    return getPPDF2(SAFFLOWER);
  }


  public String getPrdxsaff() {
    return getPRDX(SAFFLOWER);
  }


  public String getHimaxsaff() {
    return getHIMAX(SAFFLOWER);
  }


  public String getHiwsfsaff() {
    return getHIWSF(SAFFLOWER);
  }


  public String getPpdf1mill() {
    return getPPDF1(MILLET);
  }


  public String getPpdf2mill() {
    return getPPDF2(MILLET);
  }


  public String getPrdxmill() {
    return getPRDX(MILLET);
  }


  public String getHimaxmill() {
    return getHIMAX(MILLET);
  }


  public String getPpdf1m() {
    return getPPDF1(MILLETM);
  }


  public String getPpdf2m() {
    return getPPDF2(MILLETM);
  }


  public String getPrdxm() {
    return getPRDX(MILLETM);
  }


  public String getHimaxm() {
    return getHIMAX(MILLETM);
  }


  public String getPpdf1rye() {
    return getPPDF1(WHEAT_HARVEST_INDEX_RYE);
  }


  public String getPpdf2rye() {
    return getPPDF2(WHEAT_HARVEST_INDEX_RYE);
  }


  public String getPrdxrye() {
    return getPRDX(WHEAT_HARVEST_INDEX_RYE);
  }


  public String getHimaxrye() {
    return getHIMAX(WHEAT_HARVEST_INDEX_RYE);
  }


  public String getPpdf1rhay() {
    return getPPDF1(WHEAT_HARVEST_INDEX_RHAY);
  }


  public String getPpdf2rhay() {
    return getPPDF2(WHEAT_HARVEST_INDEX_RHAY);
  }


  public String getPrdxrhay() {
    return getPRDX(WHEAT_HARVEST_INDEX_RHAY);
  }


  public String getHimaxrhay() {
    return getHIMAX(WHEAT_HARVEST_INDEX_RHAY);
  }


  public String getSfavailrhay() {
    return getSFAVAIL(WHEAT_HARVEST_INDEX_RHAY);
  }


  public String getPpdf1rsil() {
    return getPPDF1(WHEAT_HARVEST_INDEX_RSIL);
  }


  public String getPpdf2rsil() {
    return getPPDF2(WHEAT_HARVEST_INDEX_RSIL);
  }


  public String getPrdxrsil() {
    return getPRDX(WHEAT_HARVEST_INDEX_RSIL);
  }


  public String getHimaxrsil() {
    return getHIMAX(WHEAT_HARVEST_INDEX_RSIL);
  }


  public String getSfavailrsil() {
    return getSFAVAIL(WHEAT_HARVEST_INDEX_RSIL);
  }


  public String getPpdf1trit() {
    return getPPDF1(WHEAT_HARVEST_INDEX_TRIT);
  }


  public String getPpdf2trit() {
    return getPPDF2(WHEAT_HARVEST_INDEX_TRIT);
  }


  public String getPrdxtrit() {
    return getPRDX(WHEAT_HARVEST_INDEX_TRIT);
  }


  public String getHimaxtrit() {
    return getHIMAX(WHEAT_HARVEST_INDEX_TRIT);
  }


  public String getPpdf1vetch() {
    return getPPDF1(SOYBEAN_COVER_CROP);
  }


  public String getPpdf2vetch() {
    return getPPDF2(SOYBEAN_COVER_CROP);
  }


  public String getPrdxvetch() {
    return getPRDX(SOYBEAN_COVER_CROP);
  }


  public String getHimaxvetch() {
    return getHIMAX(SOYBEAN_COVER_CROP);
  }


  public String getPramxc1() {
    return getPRAMX(CORN1);
  }


  public String getPramxc2() {
    return getPRAMX(CORN2);
  }


  public String getPramxc3() {
    return getPRAMX(CORN3);
  }


  public String getPramxc4() {
    return getPRAMX(CORN4);
  }


  public String getPramxc5() {
    return getPRAMX(CORN5);
  }


  public String getPramxc6() {
    return getPRAMX(CORN6);
  }


  public String getPramxc7() {
    return getPRAMX(CORN7);
  }


  public String getPramxc8() {
    return getPRAMX(CORN8);
  }


  public String getPramxc9() {
    return getPRAMX(CORN9);
  }


  public String getPramxc10() {
    return getPRAMX(CORN10);
  }


  public String getPramxc11() {
    return getPRAMX(CORN11);
  }


  public String getPramxc12() {
    return getPRAMX(CORN12);
  }


  public String getPramxc13() {
    return getPRAMX(CORN13);
  }


  public String getPramxpc13() {
    return getPRAMX(POPCORN13);
  }


  public String getPramxsc13() {
    return getPRAMX(SWEETCORN13);
  }


  public String getPramxcsl9() {
    return getPRAMX(CORNSILAGE9);
  }


  public String getPramxcsl10() {
    return getPRAMX(CORNSILAGE10);
  }


  public String getPramxcsl11() {
    return getPRAMX(CORNSILAGE11);
  }


  public String getPramxcsl12() {
    return getPRAMX(CORNSILAGE12);
  }


  public String getPramxcsl13() {
    return getPRAMX(CORNSILAGE13);
  }


  public String getPramxjtom() {
    return getPRAMX(TOMATOES);
  }


  public String getPramxg3cpi() {
    return getPRAMX(GRASS_CLOVER_PASTUREI3);
  }


  public String getPramxrye() {
    return getPRAMX(WHEAT_HARVEST_INDEX_RYE);
  }


  public String getPramxclv1() {
    return getPRAMX(SOYBEAN_CLOVER);
  }


  public String getPramnclv1() {
    return getPRAMN(SOYBEAN_CLOVER);
  }


  public String getPramnc1() {
    return getPRAMN(CORN1);
  }


  public String getPramnc2() {
    return getPRAMN(CORN2);
  }


  public String getPramnc3() {
    return getPRAMN(CORN3);
  }


  public String getPramnc4() {
    return getPRAMN(CORN4);
  }


  public String getPramnc5() {
    return getPRAMN(CORN5);
  }


  public String getPramnc6() {
    return getPRAMN(CORN6);
  }


  public String getPramnc7() {
    return getPRAMN(CORN7);
  }


  public String getPramnc8() {
    return getPRAMN(CORN8);
  }


  public String getPramnc9() {
    return getPRAMN(CORN9);
  }


  public String getPramnc10() {
    return getPRAMN(CORN10);
  }


  public String getPramnc11() {
    return getPRAMN(CORN11);
  }


  public String getPramnc12() {
    return getPRAMN(CORN12);
  }


  public String getPramnc13() {
    return getPRAMN(CORN13);
  }


  public String getPramnpc13() {
    return getPRAMN(POPCORN13);
  }


  public String getPramnsc13() {
    return getPRAMN(SWEETCORN13);
  }


  public String getPramncsl9() {
    return getPRAMN(CORNSILAGE9);
  }


  public String getPramncsl10() {
    return getPRAMN(CORNSILAGE10);
  }


  public String getPramncsl11() {
    return getPRAMN(CORNSILAGE11);
  }


  public String getPramncsl12() {
    return getPRAMN(CORNSILAGE12);
  }


  public String getPramncsl13() {
    return getPRAMN(CORNSILAGE13);
  }


  public String getPramnjtom() {
    return getPRAMN(TOMATOES);
  }


  public String getPramng3cpi() {
    return getPRAMN(GRASS_CLOVER_PASTUREI3);
  }


  public String getPramnrye() {
    return getPRAMN(WHEAT_HARVEST_INDEX_RYE);
  }


  public String getSfavailrye() {
    return getSFAVAIL(WHEAT_HARVEST_INDEX_RYE);
  }


  public String getPramncc1() {
    return getPRAMN(LEGUME_COVER_CROP);
  }


  public String getPramncc2() {
    return getPRAMN(CEREAL_COVER_CROP);
  }


  public String getPramnchay() {
    return getPRAMN(CEREAL_HAY);
  }


  public String getPramncc3() {
    return getPRAMN(GRASS_COVER_CROP);
  }


  public String getPramncc4() {
    return getPRAMN(BROADLEAF_COVER_CROP);
  }


  public String getPramncc5() {
    return getPRAMN(LEGUME_CEREAL_COVER_CROP);
  }


  public String getPramnsw3() {
    return getPRAMN(WHEAT3);
  }


  public String getPramnswsl4() {
    return getPRAMN(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4);
  }


  public String getPramnwbl4() {
    return getPRAMN(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4);
  }


  public String getPramnsw3p() {
    return getPRAMN(WHEAT3P);
  }


  public String getPramnw4() {
    return getPRAMN(WHEAT_HARVEST_INDEX_4);
  }


  public String getPramnwsl4() {
    return getPRAMN(WHEAT_SILAGE_HARVEST_INDEX_4);
  }


  public String getPramnbsorg() {
    return getPRAMN(SORG_HAY);
  }


  public String getPramnssorg() {
    return getPRAMN(SORG_SILAGE);
  }


  public String getPramnsorg3() {
    return getPRAMN(SORGHUM3);
  }


  public String getPramxcc1() {
    return getPRAMX(LEGUME_COVER_CROP);
  }


  public String getPramxcc2() {
    return getPRAMX(CEREAL_COVER_CROP);
  }


  public String getPramxchay() {
    return getPRAMX(CEREAL_HAY);
  }


  public String getPramxcc3() {
    return getPRAMX(GRASS_COVER_CROP);
  }


  public String getPramxcc4() {
    return getPRAMX(BROADLEAF_COVER_CROP);
  }


  public String getPramxcc5() {
    return getPRAMX(LEGUME_CEREAL_COVER_CROP);
  }


  public String getPramxsw3() {
    return getPRAMX(WHEAT3);
  }


  public String getPramxswsl4() {
    return getPRAMX(SPRING_WHEAT_SILAGE_HARVEST_INDEX_4);
  }


  public String getPramxwbl4() {
    return getPRAMX(WINTER_WHEAT_BALEAGE_HARVEST_INDEX_4);
  }


  public String getPramxsw3p() {
    return getPRAMX(WHEAT3P);
  }


  public String getPramxw4() {
    return getPRAMX(WHEAT_HARVEST_INDEX_4);
  }


  public String getPramxwsl4() {
    return getPRAMX(WHEAT_SILAGE_HARVEST_INDEX_4);
  }


  public String getPramxbsorg() {
    return getPRAMN(SORG_HAY);
  }


  public String getPramxssorg() {
    return getPRAMN(SORG_SILAGE);
  }


  public String getPramxsorg3() {
    return getPRAMX(SORGHUM3);
  }


  public String getNlayer() {
    return df1_0.format(nlayer);
  }


  public String getDmpflux() {
    return getSITEPAR("dmpflux");
  }


  public String getMaxNitAmt() {
    return getSITEPAR("MaxNitAmt");
  }


  public String getWfpsdnitadj() {
    return getSITEPAR("wfpsdnitadj");
  }


  public String getN2n2oadj() {
    return getSITEPAR("n2n2oadj");
  }


  public String getFieldCapacity1() {
    return getSOILPAR("fieldCapacity1");
  }


  public String getFieldCapacity2() {
    return getSOILPAR("fieldCapacity2");
  }


  public String getFieldCapacity3() {
    return getSOILPAR("fieldCapacity3");
  }


  public String getFieldCapacity4() {
    return getSOILPAR("fieldCapacity4");
  }


  public String getFieldCapacity5() {
    return getSOILPAR("fieldCapacity5");
  }


  public String getFieldCapacity6() {
    return getSOILPAR("fieldCapacity6");
  }


  public String getFieldCapacity7() {
    return getSOILPAR("fieldCapacity7");
  }


  public String getFieldCapacity8() {
    return getSOILPAR("fieldCapacity8");
  }


  public String getFieldCapacity9() {
    return getSOILPAR("fieldCapacity9");
  }


  public String getFieldCapacity10() {
    return getSOILPAR("fieldCapacity10");
  }


  public String getWiltingPoint1() {
    return getSOILPAR("wiltingPoint1");
  }


  public String getWiltingPoint2() {
    return getSOILPAR("wiltingPoint2");
  }


  public String getWiltingPoint3() {
    return getSOILPAR("wiltingPoint3");
  }


  public String getWiltingPoint4() {
    return getSOILPAR("wiltingPoint4");
  }


  public String getWiltingPoint5() {
    return getSOILPAR("wiltingPoint5");
  }


  public String getWiltingPoint6() {
    return getSOILPAR("wiltingPoint6");
  }


  public String getWiltingPoint7() {
    return getSOILPAR("wiltingPoint7");
  }


  public String getWiltingPoint8() {
    return getSOILPAR("wiltingPoint8");
  }


  public String getWiltingPoint9() {
    return getSOILPAR("wiltingPoint9");
  }


  public String getWiltingPoint10() {
    return getSOILPAR("wiltingPoint10");
  }


  public String getAdep1() {
    return df4_0.format(10); // fixed
  }


  public String getFwloss1() {
    return getFIXPARAMS(FWLOSS1);
  }


  public String getFwloss2() {
    return getFIXPARAMS(FWLOSS2);
  }


  public String getFwloss3() {
    return getFIXPARAMS(FWLOSS3);
  }


  public String getFwloss4() {
    return getFIXPARAMS(FWLOSS4);
  }


  public String getBasef() {
    return getLRRMPARAMS(BASEF);
  }


  public String getDec32() {
    return getFIXPARAMS(DEC32);
  }


  public String getDec4() {
    return getFIXPARAMS(DEC4);
  }


  public String getDec52() {
    return getFIXPARAMS(DEC52);
  }


  public String getDec11() {
    return getFIXPARAMS(DEC11);
  }


  public String getDec12() {
    return getFIXPARAMS(DEC12);
  }


  public String getDec21() {
    return getFIXPARAMS(DEC21);
  }


  public String getDec22() {
    return getFIXPARAMS(DEC22);
  }


  public String getDec31() {
    return getFIXPARAMS(DEC31);
  }


  public String getDec51() {
    return getFIXPARAMS(DEC51);
  }


  public String getTeff1() {
    return getFIXPARAMS(TEFF1);
  }


  public String getTeff2() {
    return getFIXPARAMS(TEFF2);
  }


  public String getTeff3() {
    return getFIXPARAMS(TEFF3);
  }


  public String getTeff4() {
    return getFIXPARAMS(TEFF4);
  }


  public String getPs1s31() {
    return getFIXPARAMS(PS1S31);
  }


  public String getPs1s32() {
    return getFIXPARAMS(PS1S32);
  }


  public String getPs2s31() {
    return getFIXPARAMS(PS2S31);
  }


  public String getPs2s32() {
    return getFIXPARAMS(PS2S32);
  }


  public String getFleach3() {
    return getFIXPARAMS("fleach3");
  }


  public String getPmco22() {
    return getFIXPARAMS(PMCO22);
  }


  public String getP2co22() {
    return getFIXPARAMS(P2CO22);
  }


  public String getPs1co22() {
    return getFIXPARAMS(PS1CO22);
  }


  public String getP1co2a2() {
    return getFIXPARAMS(P1CO2A2);
  }


  public String getP1co2b2() {
    return getFIXPARAMS(P1CO2B2);
  }


  public String getP3co2() {
    return getFIXPARAMS(P3CO2);
  }


  public String getAdep2() {
    return df4_0.format(getLayerDepth(3));
  }


  public String getAdep3() {
    return df4_0.format(getLayerDepth(4));
  }


  public String getAdep4() {
    return df4_0.format(getLayerDepth(5));
  }


  public String getAdep5() {
    return df4_0.format(getLayerDepth(6));
  }


  public String getAdep6() {
    return df4_0.format(getLayerDepth(7));
  }


  public String getAdep7() {
    return df4_0.format(getLayerDepth(8));
  }


  public String getAdep8() {
    return df4_0.format(getLayerDepth(9));
  }


  public String getAdep9() {
    return df4_0.format(getLayerDepth(10));
  }


  public String getAdep10() {
    return df4_0.format(getLayerDepth(11));
  }


}