/////////////////////////////////////////////////////////////////////////////////////// /// \file driver.h /// \brief Environmental driver calculation/transformation /// /// \author Ben Smith /// $Date: 2018-08-21 09:29:22 +0200 (mar, 21 aoĆ» 2018) $ /// /////////////////////////////////////////////////////////////////////////////////////// // WHAT SHOULD THIS FILE CONTAIN? // Module header files need normally contain only declarations of functions defined in // the module that are to be accessible to the calling framework or to other modules. #ifndef LPJ_GUESS_DRIVER_H #define LPJ_GUESS_DRIVER_H #include "guess.h" #include double randfrac(long& seed); void soilparameters(Soiltype& soiltype,int soilcode); void ifssoilparameters(Soiltype& soiltype,int soilcode); // ecev3 void interp_monthly_means_conserve(const double* mvals, double* dvals, bool isleapyear, double minimum = -std::numeric_limits::max(), double maximum = std::numeric_limits::max()); void interp_monthly_totals_conserve(const double* mvals, double* dvals, bool isleapyear, double minimum = -std::numeric_limits::max(), double maximum = std::numeric_limits::max()); void distribute_ndep(const double* mndry, const double* mnwet, const double* dprec, int* ndaymonth, double* dndep); void prdaily(double* mval_prec, double* dval_prec, double* mval_wet, long& seed, bool truncate = true); void dailyaccounting_gridcell(Gridcell& gridcell, bool firstsimulationday); // ecev3 - added firstsimulationday void dailyaccounting_stand(Stand& stand); void dailyaccounting_patch(Patch& patch, bool prescribe_ifs_soiltemp); void respiration_temperature_response(double temp,double& gtemp); void daylengthinsoleet(Climate& climate); void soiltemp(Climate& climate,Soil& soil); #endif // LPJ_GUESS_DRIVER_H