Header menu logo bristlecone

ScriptNotebook

Bristlecone as a tool in dendroecology

Bristlecone has been developed and used for working with long-term ecological time-series, which includes wood ring proxy records.

The Bristlecone.Dendro package contains additional functions that can be usesful when conducting top-down mechanistic modelling with tree- and shrub-ring data, such as ring width and stable isotope records. You can reference it in an F# script with #r "nuget: Bristlecone.Dendro".

Seasonal Cycles and Day Length

In high and mid-latitudes, seasonal cycles are the dominant control on plant productivity. In Bristlecone, we can represent seasonal variability in day length and environmental conditions - such as soil temperature and moisture - within model systems using some features of Bristlecone.Dendro.

Sunrise, Sunset and Hours of Light

To calculate whether there is total sun or darkness, or partial light, at any location on any day of the year, we can use the Sunrise.calculate function.

open Bristlecone.Dendro

let latitude = 54.2
let longitude = -4.2

Sunrise.calculate 2024 04 20 latitude longitude "Europe/London"
PartialLight (4/20/2024 6:02:19 AM +01:00, 4/20/2024 8:28:53 PM +01:00)

As an illustration, if we looked at Tromsø in January we would see far less available light:

Sunrise.calculate 2024 01 10 69.64961 18.95702 "Europe/London"
CompleteDark
namespace Bristlecone
namespace Bristlecone.Dendro
val latitude: float
val longitude: float
module Sunrise from Bristlecone.Dendro
<summary>The sunrise equation can be used to calculate the time of sunrise and sunset for any latitude, longitude, and date.</summary>
<remarks>See: https://en.wikipedia.org/wiki/Sunrise_equation#Complete_calculation_on_Earth Adapted from the SolarCalc by NOAA. Source: https://dotnetfiddle.net/N3j5th</remarks>
val calculate: year: int -> month: int -> day: int -> latitude: float -> longitude: float -> timeZoneId: string -> Sunrise.DayLength

Type something to start searching.