framework.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. ///////////////////////////////////////////////////////////////////////////////////////
  2. /// \file framework.h
  3. /// \brief The 'mission control' of the model
  4. ///
  5. /// $Date: 2020-06-12 17:25:52 +0200 (ven, 12 jun 2020) $
  6. ///
  7. ///////////////////////////////////////////////////////////////////////////////////////
  8. #ifndef LPJ_GUESS_FRAMEWORK_H
  9. #define LPJ_GUESS_FRAMEWORK_H
  10. class CommandLineArguments;
  11. /// The 'mission control' of the model
  12. /**
  13. * Responsible for maintaining the primary model data structures and containing
  14. * all explicit loops through space (grid cells/stands) and time (days and
  15. * years).
  16. *
  17. * \param args The command line arguments, sent in from main
  18. *
  19. */
  20. int framework(const CommandLineArguments& args);
  21. /// Called from eceframework.cpp to run LPJ-GUESS for one time step of the model, for these co-ordinates
  22. /**
  23. * Input data comes from OASIS
  24. * Output fed back to eceframework.cpp and subsequently sent to OASIS
  25. *
  26. * \param args The command line arguments, sent in from eceframework.cpp
  27. *
  28. */
  29. void guess_coupled(int& id,
  30. int localrank,
  31. int numlpjgprocesses,
  32. int isfinal,
  33. double lon,
  34. double lat,
  35. int ifs_soilcd,
  36. int ifs_index,
  37. int ndep_index,
  38. int year,
  39. int sim_year,
  40. int month,
  41. int monthday,
  42. int hour,
  43. double temp,
  44. double precip,
  45. double netswrad,
  46. double netlwrad,
  47. double co2std,
  48. double temp_soil,
  49. double soilw_surf,
  50. double soilw_deep, //Arg21
  51. double vegl,
  52. int vegl_type,
  53. float& cfluxnattoday,
  54. float& cfluxanttoday,
  55. float& npptoday,
  56. float& laiphen_high,
  57. float& laiphen_low,
  58. float& ifsvegfrachigh,
  59. int& ifsvegtypehigh,
  60. float& ifsvegfraclow,
  61. int& ifsvegtypelow,
  62. bool islpjgspinup,
  63. int fixedNDepafter,
  64. int fixedLUafter);
  65. void guess_coupled_finish();
  66. #endif // LPJ_GUESS_FRAMEWORK_H