/******************************** ** ** ** FUNCTION PROTOTYPES ** ** ** ********************************/ int read_init(site_struct *site, param_struct *par); int data_alloc(soilev_struct *soilev,meteo_struct *meteo,water_struct *water,radiation_struct *rad,photo_struct *photo,allocation_struct *alloc,soil_struct *soil,water_an_struct *water_an,phenol_struct *phenol,d18O_struct *d18O,d2H_struct *d2H,d13C_struct *d13C, const param_struct *par);//PAD 311008 int read_inmet(meteo_struct *meteo,water_struct *water,param_struct *par, d18O_struct *d18O,d2H_struct *d2H,d13C_struct *d13C); /* meteorological coefficients added (CG 010405) */ int phenology(phenol_struct *phenol, meteo_struct *meteo, photo_struct *photo, water_struct *water, const param_struct *par, int i); int calc_tair(const site_struct *site, const param_struct *par, meteo_struct *meteo, phenol_struct *phenol); int calc_prcp(const site_struct *site, const param_struct *par, meteo_struct *meteo); int calc_d18O2H_PV(const site_struct *site, const param_struct *par, const meteo_struct *meteo, d18O_struct *d18O, d2H_struct *d2H); int snowpack(const site_struct *site, const param_struct *par, meteo_struct *meteo); int calc_srad_humidity_iterative(const site_struct *site, const param_struct *par, meteo_struct *meteo, radiation_struct *rad); int write_out(const meteo_struct *meteo,const soil_struct *soil,const water_struct *water,const radiation_struct *rad, const photo_struct *photo,const allocation_struct *alloc, const water_an_struct *water_an,const phenol_struct *phenol,const soilev_struct *soilev,const d18O_struct *d18O, const d2H_struct *d2H, const d13C_struct *d13C,const param_struct *par); int data_free(meteo_struct *meteo,soil_struct *soil,water_struct *water,radiation_struct *rad, photo_struct *photo,allocation_struct *alloc, water_an_struct *water_an, phenol_struct *phenol,d18O_struct *d18O, d2H_struct *d2H, d13C_struct *d13C); double calc_pet(double rad, double ta, double pa, double dayl); double atm_pres(double elev); int pulled_boxcar(double *input,double *output,int n,int w,int w_flag); int soil_properties(const site_struct *site, const param_struct *par, soil_struct *soil); int soil_waterflux(const site_struct *site, const param_struct *par, soil_struct *soil, water_struct *water, double deriv[], int i); int solver(const site_struct *site, const param_struct *par, meteo_struct *meteo, water_struct *water, soil_struct *soil, water_an_struct *water_an, int i); int allocation(const param_struct *par, phenol_struct *phenol, soil_struct *soil, water_struct *water, meteo_struct *meteo, photo_struct *photo, allocation_struct *alloc, radiation_struct *rad, int i); int photosynthesis(const param_struct *par, meteo_struct *meteo, photo_struct *photo, soil_struct *soil, radiation_struct *rad, water_struct *water, allocation_struct *alloc, phenol_struct *phenol, int i); int radtrans(const param_struct *par, meteo_struct *meteo, radiation_struct *rad, allocation_struct *alloc, int i); int soil_evap(const param_struct *par, soilev_struct *soilev, meteo_struct *meteo, water_struct *water, soil_struct *soil, radiation_struct *rad, int i); int throughfall_iso(const param_struct *par, meteo_struct *meteo, water_struct *water, radiation_struct *rad, allocation_struct *alloc,d18O_struct *d18O,d2H_struct *d2H, int i); int transpiration(const param_struct *par, meteo_struct *meteo, water_struct *water, photo_struct *photo, radiation_struct *rad, int i); int root(const param_struct *par,soil_struct *soil,allocation_struct *alloc,water_struct *water,int i); // PAD 201108 int soih2o (const site_struct *site, const param_struct *par, meteo_struct *meteo, water_an_struct *water_an, soil_struct *soil, water_struct *water, int i); int soih2o_iso (const site_struct *site, const param_struct *par, meteo_struct *meteo, water_an_struct *water_an, soil_struct *soil, water_struct *water, d18O_struct *d18O, d2H_struct *d2H, int i, allocation_struct *alloc, soilev_struct *soilev); // PAD 311008 int TRC_iso (meteo_struct *meteo,d18O_struct *d18O,d2H_struct *d2H,photo_struct *photo,d13C_struct *d13C,allocation_struct *alloc, int i,const param_struct *par); // PAD 141108 int backup(); int FileCopy(const char *src, const char *dst); double My_min(double value1, double value2); // PAD 161008 double My_max(double value1, double value2); /* attention au ';' final PAD 161008 */ double Eps_eq_d18O(double TK); // PAD 131108 double Eps_eq_d2H(double TK) ; // PAD 131108 double Anderson(double d18Oxw, double d18Ov, double TK_leaf, double RH_leaf, double ff, double Eps_bio_value, double Eps_Kin_value); // (19) PAD 141108 double P_sat1(double temp_K); // PAD 141108 double P_sat2(double temp_C); // PAD 141108 double d18Oresi_evap(double TairK,double TwatK,double RHair,double d18Owat,double d18Ovap,double n, double W, double E);// PAD 270819 double d2Hresi_evap(double TairK,double TwatK,double RHair,double d2Hwat,double d2Hvap,double n, double W, double E);// PAD 270819 double d18Oresi_subl(double TairK,double TwatK,double RHair,double d18Owat,double d18Ovap,double n, double W, double E);// PAD 270819 double d2Hresi_subl(double TairK,double TwatK,double RHair,double d2Hwat,double d2Hvap,double n, double W, double E);// PAD 270819 double d18Oevap(double TairK,double TwatK,double RHair,double d18Owat,double d18Ovap,double n);// PAD 211108 double d2Hevap(double TairK,double TwatK,double RHair,double d2Hwat,double d2Hvap,double n);// PAD 211108 double d18Osubl(double TairK,double TwatK,double RHair,double d18Owat,double d18Ovap,double n);// PAD 230819 double d2Hsubl(double TairK,double TwatK,double RHair,double d18Owat,double d2Hvap,double n);// PAD 230819 double AirVolumicMass(double TairK, double RHair, double Patmo); // PAD 021208 //double Hatte_isoC3(double CCa_CO2, double CCi_CO2, double TairC); // PAD 220409 double density_h2o(double TairC, double Patmo); // AL 13032020 double viscosity_h2o(double TairC, double Patmo); // AL 13032020 double Lavergne_isoC3(double CCa_CO2, double CCi_CO2, double TairC, double Patmo); // AL 12032020 double Hatte_isoC3(double CCa_CO2, double CCi_CO2, double TairC); // AL 12032020 void spline(double *x, double *rwp, int n, int nssy); //FG double Mean (double *My_array, int My_size ); //FG double Samp_Std_Dev ( double *My_array, int My_size, double mean ); //FG void T_Score ( double *My_array, int My_size ); //FG