user8748898
user8748898

Reputation: 41

Error message in Treeclim

I'm attempting to use the package treeclim to analyze my tree ring growth data and climate. I measured the widths in CooRecorder, grouped them into series in CDENDRO, and read them into R-Studio using dplR read.rwl function. However, I keep getting an error message reading

"Error in dcc(Plot92.crn, Site92PRISM, selection = -6:9, method = "response", : Overlapping time span of chrono and climate records is smaller than number of parameters! Consider adapting the number of parameters to a maximum of 100."

I have 100 years of monthly climate data that looks like below:

# head(Site92PRISM)
  year month  ppt tmax tmin tmean vpdmin..hPa. vpdmax..hPa. site
1 1915    01 0.97 26.1 12.3  19.2         0.97         2.32   92
2 1915    02 1.20 31.5 16.2  23.9         1.03         3.30   92
3 1915    03 2.51 36.0 17.0  26.5         0.97         4.69   92
4 1915    04 3.45 48.9 26.3  37.6         1.14         8.13   92
5 1915    05 3.95 44.6 29.1  36.9         0.94         5.58   92
6 1915    06 6.64 51.0 31.5  41.3         1.04         7.93   92

And my chronology, made in dplR looks like below:

#head(Plot92.crn)
        CAMstd samp.depth
1840 0.7180693          1
1841 0.3175528          1
1842 0.5729651          1
1843 0.9785082          1
1844 0.7676334          1
1845 0.3633687          1

Where am I going wrong? Both files contain data from 1915-2015.

Upvotes: 4

Views: 972

Answers (1)

Y.Coch
Y.Coch

Reputation: 331

I posted a similar question to the author in the google forum of the package (i.e. https://groups.google.com/forum/#!forum/treeclim).

What you need to make sure of is that the number of parameters (n_param) is less or equal to the sample size of your dendrochronological data. By 'number of parameters' I mean the total number of columns in the climatic variables matrices.

For instance, in the following analysis:

resp <- dcc(chrono = my_chrono,
            climate = list(precip, temp),
            boot = 'stationary')

You need to make sure that the following is TRUE :

length(unique(rownames(my_chrono))) >= (ncol(precip)-1) + (ncol(temp)-1)

ncol(precip)-1 and not ncol(precip) because the first column of the matrix is YEAR. Also note that in my example the years in my_chrono are the same years as in precip and temp, which doesn't have to be the case to run the function (it will automatically take the common years).

Finally, if the previous line code gives you FALSE, you can reduce the number of parameters with the argument selection like this :

resp <- dcc(chrono = my_chrono,
            climate = list(precip, temp),
            selection = .range(6:12,'prec') + .range(6:12, 'temp'),
            var_names = c('prec', 'temp'),
            boot = 'stationary')

Because the dcc function automatically takes all months from previous June to current September (i.e. .range(-6:9)), you may need to reduce that range.

Upvotes: 1

Related Questions