public EstablishmentProbability(string SiteOutputName, string FileName)
        {
            ResetPerTimeStep();

            if(SiteOutputName!=null && FileName!=null)
            {
                establishment_siteoutput = new LocalOutput(SiteOutputName, "Establishment.csv", Header );
            }
        }
        public EstablishmentProbability(string SiteOutputName, string FileName)
        {
            ResetPerTimeStep();

            if (SiteOutputName != null && FileName != null)
            {
                establishment_siteoutput = new LocalOutput(SiteOutputName, "Establishment.csv", Header);
            }
        }
        public static bool ComputeEstablishment(DateTime date, ISpecies Species, double pest, LocalOutput establishment_siteoutput)
        {
            bool est = pest > (float)PlugIn.ContinuousUniformRandom();

            if (establishment_siteoutput != null)
            {
                establishment_siteoutput.Add(date.Year.ToString() + "," + Species.Name + "," +  pest + "," + est);

                // TODO: win time by reducing calls to write
                establishment_siteoutput.Write();
            }
            if (Species.PreventEstablishment()) return false;
            return est;
        }
 public void InitializeOutput(string SiteName, ushort YearOfBirth)
 {
     cohortoutput = new LocalOutput(SiteName, "Cohort_" + Species.Name + "_" + YearOfBirth + ".csv", OutputHeader);
 }