Quantifying the relevance of intraspecific trait variability for functional ...
Quantifying the relevance of intraspecific trait variability for functional ...
Quantifying the relevance of intraspecific trait variability for functional ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Intraspecific <strong>trait</strong> <strong>variability</strong> is a crucial, <strong>of</strong>ten neglected,component <strong>of</strong> <strong>functional</strong> diversity (i.e. <strong>the</strong> extent <strong>of</strong> <strong>trait</strong>dissimilarity in a given ecological community).e.g. <strong>trait</strong>s = plant height, n° <strong>of</strong> leaves, n° <strong>of</strong> flowers...How much <strong>trait</strong> <strong>variability</strong> is due to <strong>intraspecific</strong> variation within and across communities ?
Two new methods proposed1<strong>Quantifying</strong> <strong>the</strong> extent <strong>of</strong> within- vs. between-species<strong>functional</strong> diversity (FD) within different communities2Decomposing <strong>the</strong> effects <strong>of</strong> species turnover and<strong>intraspecific</strong> <strong>trait</strong> <strong>variability</strong> in FD across communities
Present TUTORIAL:Use <strong>of</strong> <strong>the</strong> R functions designed <strong>for</strong> <strong>the</strong> first method1<strong>Quantifying</strong> <strong>the</strong> extent <strong>of</strong> within- vs. between-species<strong>functional</strong> diversity (FD) within different communities2Decomposing <strong>the</strong> effects <strong>of</strong> species turnover and<strong>intraspecific</strong> <strong>trait</strong> <strong>variability</strong> in FD across communitiesMethodoverviewDatapreparationRunning <strong>the</strong>R functionsReading<strong>the</strong> results
Within each community (plot) <strong>the</strong> <strong>functional</strong> <strong>trait</strong> diversitycan be partitioned into effects due to:Between species FD: extent <strong>of</strong> <strong>trait</strong> dissimilarity in a communitybecause <strong>of</strong> differentiation between coexisting speciesVs.Within species FD: extent <strong>of</strong> <strong>trait</strong> dissimilarity in a communitybecause <strong>of</strong> <strong>intraspecific</strong> <strong>trait</strong> <strong>variability</strong>Vs.Methodoverview
APPROACH: decomposition <strong>of</strong> total community <strong>trait</strong> varianceTotal diversity = Between species div. + Within species div.ADVANTAGESTake into account different type <strong>of</strong> species abundancesSimilar to <strong>the</strong> decomposition with <strong>the</strong> Rao quadratic entropySimilar to PERMANOVA and o<strong>the</strong>r existing ma<strong>the</strong>matical toolsUse with single and multiple <strong>trait</strong>sMethodoverview
Total diversity = Between species div. + Within species div.Calculated <strong>for</strong> each community (plot) separately!!FunctionaldiversityWithin sp. Between sp.TotalMethodoverviewComm1 Comm2 Comm3Example:Comm2 has lowest withinspecies diversity, buthighest between speciesand total diversity
Total diversity = Between species div. + Within species div.3 possible ways to calculate <strong>the</strong> “weight” <strong>of</strong> each species(see Eqn. 3 in <strong>the</strong> paper)R scripts(in <strong>the</strong> paper Appendix)1 all species have <strong>the</strong> same contribution(i.e. 1/nsp, nsp=number <strong>of</strong> species in a plot)2 species contribution is given by <strong>the</strong>ir abundancein classic relevés (cover, biomass etc..)RaoRel.r3 species contribution is given by <strong>the</strong> number <strong>of</strong>individuals sampled <strong>for</strong> <strong>trait</strong> measurementsRaoAdo.rMethodoverview
Preparing <strong>the</strong> data <strong>for</strong> R3 matrices needed (FOR EACH COMMUNITY/PLOT):1Trait values <strong>for</strong> different individualsMATRICES2a32bIndividual identity(with and without species abundances)Trait dissimilarity(computed from <strong>the</strong> first matrix)Datapreparation
Preparing <strong>the</strong> data <strong>for</strong> R3 matrices needed (FOR EACH COMMUNITY/PLOT):The following examples are based on virtual dataas used in <strong>the</strong> Appendix exampleThe R functions are applicable to your real datawhen <strong>for</strong>matted as shown in <strong>the</strong> virtual examplesDatapreparation
1 TRAIT X INDIVIDUALFor each <strong>trait</strong> (e.g. plant height,leaf area etc..), a vector with <strong>the</strong><strong>trait</strong> value <strong>for</strong> different individualswithin each speciesExample: <strong>for</strong> plant height, 6 individuals weremeasured <strong>for</strong> species 1, 8 individuals <strong>for</strong>species 2, 10 <strong>for</strong> species 3 and 16 <strong>for</strong> species 4.Datapreparation
Matrix2aSPECIES IDENTITYThis matrix denotes speciesidentity <strong>of</strong> each individualcollected, as a dummy code.DatapreparationMATRIX FOR EACH COMMUNITY SAMPLEDSpecies Sp1 Sp2 Sp3 Sp4ind1 <strong>for</strong> Sp1 1 0 0 0ind2 <strong>for</strong> Sp1 1 0 0 0ind3 <strong>for</strong> Sp1 1 0 0 0ind4 <strong>for</strong> Sp1 1 0 0 0ind5 <strong>for</strong> Sp1 1 0 0 0ind6 <strong>for</strong> Sp1 1 0 0 0ind1 <strong>for</strong> Sp2 0 1 0 0ind2 <strong>for</strong> Sp2 0 1 0 0ind3 <strong>for</strong> Sp2 0 1 0 0ind4 <strong>for</strong> Sp2 0 1 0 0ind5 <strong>for</strong> Sp2 0 1 0 0ind6 <strong>for</strong> Sp2 0 1 0 0ind7 <strong>for</strong> Sp2 0 1 0 0ind8 <strong>for</strong> Sp2 0 1 0 0ind1 <strong>for</strong> Sp3 0 0 1 0ind2 <strong>for</strong> Sp3 0 0 1 0ind3 <strong>for</strong> Sp3 0 0 1 0ind4 <strong>for</strong> Sp3 0 0 1 0ind5 <strong>for</strong> Sp3 0 0 1 0ind6 <strong>for</strong> Sp3 0 0 1 0ind7 <strong>for</strong> Sp3 0 0 1 0ind8 <strong>for</strong> Sp3 0 0 1 0ind9 <strong>for</strong> Sp3 0 0 1 0ind10 <strong>for</strong> Sp3 0 0 1 0ind1 <strong>for</strong> Sp4 0 0 0 1ind2 <strong>for</strong> Sp4 0 0 0 1ind3 <strong>for</strong> Sp4 0 0 0 1ind4 <strong>for</strong> Sp4 0 0 0 1ind5 <strong>for</strong> Sp4 0 0 0 1ind6 <strong>for</strong> Sp4 0 0 0 1ind7 <strong>for</strong> Sp4 0 0 0 1ind8 <strong>for</strong> Sp4 0 0 0 1ind9 <strong>for</strong> Sp4 0 0 0 1ind10 <strong>for</strong> Sp4 0 0 0 1ind11 <strong>for</strong> Sp4 0 0 0 1ind12 <strong>for</strong> Sp4 0 0 0 1ind13 <strong>for</strong> Sp4 0 0 0 1ind14 <strong>for</strong> Sp4 0 0 0 1ind15 <strong>for</strong> Sp4 0 0 0 1ind16 <strong>for</strong> Sp4 0 0 0 1
SPECIES IDENTITYwith ABUNDANCESometimes species abundances in<strong>the</strong> community are available(i.e. measured independently viaclassic relevés or plot record).Species Sp1 Sp2 Sp3 Sp4Matrixind1 <strong>for</strong> Sp1 10 0 0 0ind2 <strong>for</strong> Sp1 10 0 0 0ind3 <strong>for</strong> Sp1 10 0 0 0ind4 <strong>for</strong> Sp1 10 0 0 02bind5 <strong>for</strong> Sp1 10 0 0 0ind6 <strong>for</strong> Sp1 10 0 0 0ind1 <strong>for</strong> Sp2 0 20 0 0ind2 <strong>for</strong> Sp2 0 20 0 0ind3 <strong>for</strong> Sp2 0 20 0 0ind4 <strong>for</strong> Sp2 0 20 0 0ind5 <strong>for</strong> Sp2 0 20 0 0ind6 <strong>for</strong> Sp2 0 20 0 0ind7 <strong>for</strong> Sp2 0 20 0 0ind8 <strong>for</strong> Sp2 0 20 0 0ind1 <strong>for</strong> Sp3 0 0 30 0ind2 <strong>for</strong> Sp3 0 0 30 0ind3 <strong>for</strong> Sp3 0 0 30 0ind4 <strong>for</strong> Sp3 0 0 30 0ind5 <strong>for</strong> Sp3 0 0 30 0For computation purposes weind6 <strong>for</strong> Sp3 0 0 30 0ind7 <strong>for</strong> Sp3 0 0 30 0allocate species abundanceind8 <strong>for</strong> Sp3 0 0 30 0ind9 <strong>for</strong> Sp3 0 0 30 0measured in <strong>the</strong> community/plot toind10 <strong>for</strong> Sp3 0 0 30 0ind1 <strong>for</strong> Sp4 0 0 0 40ind2 <strong>for</strong> Sp4 0 0 0 40all individuals <strong>of</strong> that particularind3 <strong>for</strong> Sp4 0 0 0 40ind4 <strong>for</strong> Sp4 0 0 0 40species.ind5 <strong>for</strong> Sp4 0 0 0 40ind6 <strong>for</strong> Sp4 0 0 0 40ind7 <strong>for</strong> Sp4 0 0 0 40ind8 <strong>for</strong> Sp4 0 0 0 40ind9 <strong>for</strong> Sp4 0 0 0 40ind10 <strong>for</strong> Sp4 0 0 0 40Example: <strong>the</strong> abundance could be estimated byind11 <strong>for</strong> Sp4 0 0 0 40ind12 <strong>for</strong> Sp4 0 0 0 40species biomass (species 1= 10 g, species 2=20 g, ind14 <strong>for</strong> Sp4 0 0 0 40ind13 <strong>for</strong> Sp4 0 0 0 40ind15 <strong>for</strong> Sp4 0 0 0 40species 3 = 30 g, species 4 = 40 g)ind16 <strong>for</strong> Sp4 0 0 0 40Datapreparation
TRAIT X INDIVIDUALMatrix1EUCLIDIANDISTANCE*DatapreparationTRAIT DISSIMILARITIESbetween individuals*<strong>for</strong> multiple <strong>trait</strong>s, <strong>the</strong> <strong>trait</strong>s needs to be normalized first (see details in <strong>the</strong> paper)MatrixSpecies 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39ind1 <strong>for</strong> Sp1ind2 <strong>for</strong> Sp1 1ind3 <strong>for</strong> Sp1 2 1ind4 <strong>for</strong> Sp1 3 2 1ind5 <strong>for</strong> Sp1 4 3 2 1ind6 <strong>for</strong> Sp1 5 4 3 2 1ind1 <strong>for</strong> Sp2 1 0 1 2 3 4ind2 <strong>for</strong> Sp2 2 1 0 1 2 3 1ind3 <strong>for</strong> Sp2 3 2 1 0 1 2 2 1ind4 <strong>for</strong> Sp2 4 3 2 1 0 1 3 2 1ind5 <strong>for</strong> Sp2 5 4 3 2 1 0 4 3 2 1ind6 <strong>for</strong> Sp2 6 5 4 3 2 1 5 4 3 2 1ind7 <strong>for</strong> Sp2 7 6 5 4 3 2 6 5 4 3 2 1ind8 <strong>for</strong> Sp2 8 7 6 5 4 3 7 6 5 4 3 2 1ind1 <strong>for</strong> Sp3 0 1 2 3 4 5 1 2 3 4 5 6 7 8ind2 <strong>for</strong> Sp3 1 0 1 2 3 4 0 1 2 3 4 5 6 7 1ind3 <strong>for</strong> Sp3 2 1 0 1 2 3 1 0 1 2 3 4 5 6 2 1ind4 <strong>for</strong> Sp3 3 2 1 0 1 2 2 1 0 1 2 3 4 5 3 2 1ind5 <strong>for</strong> Sp3 4 3 2 1 0 1 3 2 1 0 1 2 3 4 4 3 2 1ind6 <strong>for</strong> Sp3 5 4 3 2 1 0 4 3 2 1 0 1 2 3 5 4 3 2 1ind7 <strong>for</strong> Sp3 6 5 4 3 2 1 5 4 3 2 1 0 1 2 6 5 4 3 2 1ind8 <strong>for</strong> Sp3 7 6 5 4 3 2 6 5 4 3 2 1 0 1 7 6 5 4 3 2 1ind9 <strong>for</strong> Sp3 8 7 6 5 4 3 7 6 5 4 3 2 1 0 8 7 6 5 4 3 2 1ind10 <strong>for</strong> Sp3 9 8 7 6 5 4 8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 2 1ind1 <strong>for</strong> Sp4 3 2 1 0 1 2 2 1 0 1 2 3 4 5 3 2 1 0 1 2 3 4 5 6ind2 <strong>for</strong> Sp4 5 4 3 2 1 0 4 3 2 1 0 1 2 3 5 4 3 2 1 0 1 2 3 4 2ind3 <strong>for</strong> Sp4 7 6 5 4 3 2 6 5 4 3 2 1 0 1 7 6 5 4 3 2 1 0 1 2 4 2ind4 <strong>for</strong> Sp4 9 8 7 6 5 4 8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 2 1 0 6 4 2ind5 <strong>for</strong> Sp4 11 10 9 8 7 6 10 9 8 7 6 5 4 3 11 10 9 8 7 6 5 4 3 2 8 6 4 2ind6 <strong>for</strong> Sp4 13 12 11 10 9 8 12 11 10 9 8 7 6 5 13 12 11 10 9 8 7 6 5 4 10 8 6 4 2ind7 <strong>for</strong> Sp4 15 14 13 12 11 10 14 13 12 11 10 9 8 7 15 14 13 12 11 10 9 8 7 6 12 10 8 6 4 2ind8 <strong>for</strong> Sp4 17 16 15 14 13 12 16 15 14 13 12 11 10 9 17 16 15 14 13 12 11 10 9 8 14 12 10 8 6 4 2ind9 <strong>for</strong> Sp4 1 0 1 2 3 4 0 1 2 3 4 5 6 7 1 0 1 2 3 4 5 6 7 8 2 4 6 8 10 12 14 16ind10 <strong>for</strong> Sp4 3 2 1 0 1 2 2 1 0 1 2 3 4 5 3 2 1 0 1 2 3 4 5 6 0 2 4 6 8 10 12 14 2ind11 <strong>for</strong> Sp4 5 4 3 2 1 0 4 3 2 1 0 1 2 3 5 4 3 2 1 0 1 2 3 4 2 0 2 4 6 8 10 12 4 2ind12 <strong>for</strong> Sp4 7 6 5 4 3 2 6 5 4 3 2 1 0 1 7 6 5 4 3 2 1 0 1 2 4 2 0 2 4 6 8 10 6 4 2ind13 <strong>for</strong> Sp4 9 8 7 6 5 4 8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 2 1 0 6 4 2 0 2 4 6 8 8 6 4 2ind14 <strong>for</strong> Sp4 11 10 9 8 7 6 10 9 8 7 6 5 4 3 11 10 9 8 7 6 5 4 3 2 8 6 4 2 0 2 4 6 10 8 6 4 2ind15 <strong>for</strong> Sp4 13 12 11 10 9 8 12 11 10 9 8 7 6 5 13 12 11 10 9 8 7 6 5 4 10 8 6 4 2 0 2 4 12 10 8 6 4 2ind16 <strong>for</strong> Sp4 15 14 13 12 11 10 14 13 12 11 10 9 8 7 15 14 13 12 11 10 9 8 7 6 12 10 8 6 4 2 0 2 14 12 10 8 6 4 23
Running <strong>the</strong> R functionsREQUIREMENTS:- Basic knowledge <strong>of</strong> R- Having installed <strong>the</strong> package ade4- Add <strong>the</strong> R functions to <strong>the</strong>specified working directory-(having read <strong>the</strong> paper)Running <strong>the</strong>R functions
R functions> indxsp[,1] [,2] [,3] [,4][1,] 1 0 0 0[2,] 1 0 0 0[3,] 1 0 0 0[4,] 1 0 0 0[5,] 1 0 0 0[6,] 1 0 0 0[7,] 0 1 0 0[8,] 0 1 0 0[9,] 0 1 0 0[10,] 0 1 0 0[11,] 0 1 0 0[12,] 0 1 0 0[13,] 0 1 0 0[14,] 0 1 0 0[15,] 0 0 1 0[16,] 0 0 1 0[17,] 0 0 1 0[18,] 0 0 1 0[19,] 0 0 1 0[20,] 0 0 1 0[21,] 0 0 1 0[22,] 0 0 1 0[23,] 0 0 1 0[24,] 0 0 1 0[25,] 0 0 0 1[26,] 0 0 0 1[27,] 0 0 0 1[28,] 0 0 0 1[29,] 0 0 0 1[30,] 0 0 0 1[31,] 0 0 0 1[32,] 0 0 0 1[33,] 0 0 0 1[34,] 0 0 0 1[35,] 0 0 0 1[36,] 0 0 0 1[37,] 0 0 0 1[38,] 0 0 0 1[39,] 0 0 0 1[40,] 0 0 0 1>SPECIES IDENTITYobject indxsp (without relative abundance)as matrix 2a be<strong>for</strong>eMatrix2a1bis. VIRTUAL data set <strong>for</strong> <strong>the</strong> exampleRunning <strong>the</strong>R functions
R functions> indxsp[,1] [,2] [,3] [,4][1,] 1 0 0 0[2,] 1 0 0 0[3,] 1 0 0 0[4,] 1 0 0 0[5,] 1 0 0 0[6,] 1 0 0 0[7,] 0 1 0 0[8,] 0 1 0 0[9,] 0 1 0 0[10,] 0 1 0 0[11,] 0 1 0 0[12,] 0 1 0 0[13,] 0 1 0 0[14,] 0 1 0 0[15,] 0 0 1 0[16,] 0 0 1 0[17,] 0 0 1 0[18,] 0 0 1 0[19,] 0 0 1 0[20,] 0 0 1 0[21,] 0 0 1 0[22,] 0 0 1 0[23,] 0 0 1 0[24,] 0 0 1 0[25,] 0 0 0 1[26,] 0 0 0 1[27,] 0 0 0 1[28,] 0 0 0 1[29,] 0 0 0 1[30,] 0 0 0 1[31,] 0 0 0 1[32,] 0 0 0 1[33,] 0 0 0 1[34,] 0 0 0 1[35,] 0 0 0 1[36,] 0 0 0 1[37,] 0 0 0 1[38,] 0 0 0 1[39,] 0 0 0 1[40,] 0 0 0 1>NOTE1bis. VIRTUAL data set <strong>for</strong> <strong>the</strong> exampleIn <strong>the</strong> Appendix <strong>the</strong> object indxsp is built artificially by <strong>the</strong>commands:> indxsp indxsp[1:6, 1]=1> indxsp[7:14, 2]=1> indxsp[15:24, 3]=1> indxsp[25:40, 4]=1>or INSTEAD IMPORT YOUR MATRIX 2Running <strong>the</strong>R functions
R functions2a. Calculate <strong>trait</strong> dissimilarity, open and run <strong>the</strong> RaoRel.r function3Trait Euclidian distancesMatrixNote that to obtain <strong>the</strong> equivalence between <strong>the</strong>Rao index and Variance, <strong>the</strong> <strong>trait</strong> dissimilarityneeds to be squared and divided by 2 (see paper)Running <strong>the</strong>R functionsSPECIES IDENTITYobject indxsp> d> source("RaoRel.r")> library(ade4)> RaotindMatrix2a
R functions2b. Alternatively a matrix considering species abundance (as matrix 2b be<strong>for</strong>e) can be used with RaoRel.rSPECIES IDENTITYobject indxspp (with abundance)Matrix2b> RaotindpNote <strong>the</strong> option “weight” needs to bespecified o<strong>the</strong>rwise <strong>the</strong> speciesabundance is not taken into accountRunning <strong>the</strong>R functionsSpecies Sp1 Sp2 Sp3 Sp4ind1 <strong>for</strong> Sp1 10 0 0 0ind2 <strong>for</strong> Sp1 10 0 0 0ind3 <strong>for</strong> Sp1 10 0 0 0ind4 <strong>for</strong> Sp1 10 0 0 0ind5 <strong>for</strong> Sp1 10 0 0 0ind6 <strong>for</strong> Sp1 10 0 0 0ind1 <strong>for</strong> Sp2 0 20 0 0ind2 <strong>for</strong> Sp2 0 20 0 0ind3 <strong>for</strong> Sp2 0 20 0 0ind4 <strong>for</strong> Sp2 0 20 0 0ind5 <strong>for</strong> Sp2 0 20 0 0ind6 <strong>for</strong> Sp2 0 20 0 0ind7 <strong>for</strong> Sp2 0 20 0 0ind8 <strong>for</strong> Sp2 0 20 0 0ind1 <strong>for</strong> Sp3 0 0 30 0ind2 <strong>for</strong> Sp3 0 0 30 0ind3 <strong>for</strong> Sp3 0 0 30 0ind4 <strong>for</strong> Sp3 0 0 30 0ind5 <strong>for</strong> Sp3 0 0 30 0ind6 <strong>for</strong> Sp3 0 0 30 0ind7 <strong>for</strong> Sp3 0 0 30 0ind8 <strong>for</strong> Sp3 0 0 30 0ind9 <strong>for</strong> Sp3 0 0 30 0ind10 <strong>for</strong> Sp3 0 0 30 0ind1 <strong>for</strong> Sp4 0 0 0 40ind2 <strong>for</strong> Sp4 0 0 0 40ind3 <strong>for</strong> Sp4 0 0 0 40ind4 <strong>for</strong> Sp4 0 0 0 40ind5 <strong>for</strong> Sp4 0 0 0 40ind6 <strong>for</strong> Sp4 0 0 0 40ind7 <strong>for</strong> Sp4 0 0 0 40ind8 <strong>for</strong> Sp4 0 0 0 40ind9 <strong>for</strong> Sp4 0 0 0 40ind10 <strong>for</strong> Sp4 0 0 0 40ind11 <strong>for</strong> Sp4 0 0 0 40ind12 <strong>for</strong> Sp4 0 0 0 40ind13 <strong>for</strong> Sp4 0 0 0 40ind14 <strong>for</strong> Sp4 0 0 0 40ind15 <strong>for</strong> Sp4 0 0 0 40ind16 <strong>for</strong> Sp4 0 0 0 40
R functions3. Run function RaoAdo.rSPECIES IDENTITYobject indxspno species abundances!Matrix2a> source("RaoAdo.r")> RaoPermNote <strong>the</strong> option “weight” needs to be specifiedThis way <strong>the</strong> weight <strong>of</strong> each species corresponds to <strong>the</strong> number <strong>of</strong>individuals sampledRunning <strong>the</strong>R functions
The objects created by <strong>the</strong> functions RaoRel.r and RaoAdo.r (i.e. Raoind,Raoindp and RaoPerm; see previous pages) are LISTS where different resultsare stored (under “xxx$FD”)Example with <strong>the</strong> Raoind object> names(Raotind$FD)[1] "Mean_Alpha" "Alpha" "Gamma" "Beta_add"[5] "Beta_prop" "Pairwise_samples">Reading<strong>the</strong> results
names(Raotind$FD)[1] "Mean_Alpha" "Alpha" "Gamma" "Beta_add"[5] "Beta_prop" "Pairwise_samples">Gamma= TOTAL community diversity (within species + between species)Mean alpha = overall community WITHIN species FDAlpha = <strong>trait</strong> diversity within each speciesBeta_add = community BETWEEN species FDBeta_prop = proportion accounted by community BETWEEN species FDReading<strong>the</strong> results
Example from <strong>the</strong> paper1. The within species effect on community FD is NOT negligible2. It changes across <strong>trait</strong>s (height and LDMC), while considering species abundancesand across different environmental conditions (e.g. dry vs. wet meadows)Reading<strong>the</strong> results
Tutorial<strong>Quantifying</strong> <strong>the</strong> <strong>relevance</strong> <strong>of</strong> <strong>intraspecific</strong> <strong>trait</strong><strong>variability</strong> <strong>for</strong> <strong>functional</strong> diversityFor more in<strong>for</strong>mation, questions& suggestions:fradebello@ctfc.es