Newer
Older
#include "cxx-sfx-model-compute-flux.h"
#include "sfx-esm.h"
#include "sfx-sheba.h"
#include <vector>
// -------------------------------------------------------------------------- //
static FluxEsm<float, MemType::CPU, MemType::CPU, MemType::GPU> F(sfx, meteo, grid_size);
F.compute_flux(*model_param, *surface_param, *numerics, *constants);
static FluxEsm<float, MemType::CPU, MemType::CPU, MemType::CPU> F(sfx, meteo, grid_size);
F.compute_flux(*model_param, *surface_param, *numerics, *constants);
const sfx_phys_constants* constants,
const int grid_size)
static FluxSheba<float, MemType::CPU, MemType::CPU, MemType::GPU> F(sfx, meteo, grid_size);
F.compute_flux(*model_param, *surface_param, *numerics, *constants);
static FluxSheba<float, MemType::CPU, MemType::CPU, MemType::CPU> F(sfx, meteo, grid_size);
F.compute_flux(*model_param, *surface_param, *numerics, *constants);
#endif
}
void sheba_noit_compute_flux (sfxDataVecTypeC* sfx,
meteoDataVecTypeC* meteo,
const sfx_sheba_noit_param_C* model_param,
const sfx_surface_param* surface_param,
const sfx_sheba_noit_numericsType_C* numerics,
const sfx_phys_constants* constants,
const int grid_size)
{
#ifdef INCLUDE_CUDA
static FluxSheba<float, MemType::CPU, MemType::CPU, MemType::GPU> F(sfx, meteo, grid_size);
F.noit_compute_flux(*model_param, *surface_param, *numerics, *constants);
#else
static FluxSheba<float, MemType::CPU, MemType::CPU, MemType::CPU> F(sfx, meteo, grid_size);
F.noit_compute_flux(*model_param, *surface_param, *numerics, *constants);