/////////////////////////////////////////////////////////////////////////////////////// /// \file framework.h /// \brief The 'mission control' of the model /// /// $Date: 2020-06-12 17:25:52 +0200 (ven, 12 jun 2020) $ /// /////////////////////////////////////////////////////////////////////////////////////// #ifndef LPJ_GUESS_FRAMEWORK_H #define LPJ_GUESS_FRAMEWORK_H class CommandLineArguments; /// The 'mission control' of the model /** * Responsible for maintaining the primary model data structures and containing * all explicit loops through space (grid cells/stands) and time (days and * years). * * \param args The command line arguments, sent in from main * */ int framework(const CommandLineArguments& args); /// Called from eceframework.cpp to run LPJ-GUESS for one time step of the model, for these co-ordinates /** * Input data comes from OASIS * Output fed back to eceframework.cpp and subsequently sent to OASIS * * \param args The command line arguments, sent in from eceframework.cpp * */ void guess_coupled(int& id, int localrank, int numlpjgprocesses, int isfinal, double lon, double lat, int ifs_soilcd, int ifs_index, int ndep_index, int year, int sim_year, int month, int monthday, int hour, double temp, double precip, double netswrad, double netlwrad, double co2std, double temp_soil, double soilw_surf, double soilw_deep, //Arg21 double vegl, int vegl_type, float& cfluxnattoday, float& cfluxanttoday, float& npptoday, float& laiphen_high, float& laiphen_low, float& ifsvegfrachigh, int& ifsvegtypehigh, float& ifsvegfraclow, int& ifsvegtypelow, bool islpjgspinup, int fixedNDepafter, int fixedLUafter); void guess_coupled_finish(); #endif // LPJ_GUESS_FRAMEWORK_H