driver.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. ///////////////////////////////////////////////////////////////////////////////////////
  2. /// \file driver.h
  3. /// \brief Environmental driver calculation/transformation
  4. ///
  5. /// \author Ben Smith
  6. /// $Date: 2018-08-21 09:29:22 +0200 (Tue, 21 Aug 2018) $
  7. ///
  8. ///////////////////////////////////////////////////////////////////////////////////////
  9. // WHAT SHOULD THIS FILE CONTAIN?
  10. // Module header files need normally contain only declarations of functions defined in
  11. // the module that are to be accessible to the calling framework or to other modules.
  12. #ifndef LPJ_GUESS_DRIVER_H
  13. #define LPJ_GUESS_DRIVER_H
  14. #include "guess.h"
  15. #include <limits>
  16. double randfrac(long& seed);
  17. void soilparameters(Soiltype& soiltype,int soilcode);
  18. void ifssoilparameters(Soiltype& soiltype,int soilcode); // ecev3
  19. void interp_monthly_means_conserve(const double* mvals, double* dvals, bool isleapyear,
  20. double minimum = -std::numeric_limits<double>::max(),
  21. double maximum = std::numeric_limits<double>::max());
  22. void interp_monthly_totals_conserve(const double* mvals, double* dvals, bool isleapyear,
  23. double minimum = -std::numeric_limits<double>::max(),
  24. double maximum = std::numeric_limits<double>::max());
  25. void distribute_ndep(const double* mndry, const double* mnwet,
  26. const double* dprec, int* ndaymonth, double* dndep);
  27. void prdaily(double* mval_prec, double* dval_prec, double* mval_wet, long& seed, bool truncate = true);
  28. void dailyaccounting_gridcell(Gridcell& gridcell, bool firstsimulationday); // ecev3 - added firstsimulationday
  29. void dailyaccounting_stand(Stand& stand);
  30. void dailyaccounting_patch(Patch& patch, bool prescribe_ifs_soiltemp);
  31. void respiration_temperature_response(double temp,double& gtemp);
  32. void daylengthinsoleet(Climate& climate);
  33. void soiltemp(Climate& climate,Soil& soil);
  34. #endif // LPJ_GUESS_DRIVER_H