Skip to content
Snippets Groups Projects
sfx_call_class_func.cpp 1.81 KiB
Newer Older
数学の武士's avatar
数学の武士 committed
#include <stdlib.h>
#include <stdio.h>
数学の武士's avatar
数学の武士 committed
#include "../includeCXX/sfx_call_class_func.h"
数学の武士's avatar
数学の武士 committed
#include "../includeCXX/sfx_esm.h"
数学の武士's avatar
.  
数学の武士 committed
#include "../includeCXX/sfx_sheba.h"
数学の武士's avatar
数学の武士 committed
#include <vector>

// -------------------------------------------------------------------------- //
数学の武士's avatar
数学の武士 committed
void surf_flux_esm_CXX (sfxDataVecTypeC* sfx,
                           meteoDataVecTypeC* meteo,
                           const sfx_esm_param* model_param, 
                           const sfx_surface_param* surface_param,
                           const sfx_esm_numericsTypeC* numerics,
                           const sfx_phys_constants* constants,
数学の武士's avatar
数学の武士 committed
                           const int grid_size)
数学の武士's avatar
数学の武士 committed
{
数学の武士's avatar
数学の武士 committed
#ifdef INCLUDE_CUDA
数学の武士's avatar
数学の武士 committed
    static FluxEsm<float, MemType::CPU, MemType::CPU, MemType::GPU> F(sfx, meteo, *model_param, *surface_param, *numerics, *constants, grid_size);
    F.compute_flux();
数学の武士's avatar
数学の武士 committed
#else
数学の武士's avatar
数学の武士 committed
    static FluxEsm<float, MemType::CPU, MemType::CPU, MemType::CPU> F(sfx, meteo, *model_param, *surface_param, *numerics, *constants, grid_size);
    F.compute_flux();
数学の武士's avatar
数学の武士 committed
#endif
数学の武士's avatar
.  
数学の武士 committed
}

数学の武士's avatar
数学の武士 committed
void surf_flux_sheba_CXX (sfxDataVecTypeC* sfx,
                           meteoDataVecTypeC* meteo,
                           const sfx_sheba_param* model_param, 
                           const sfx_surface_param* surface_param,
                           const sfx_sheba_numericsTypeC* numerics,
                           const sfx_phys_constants* constants,
                           const int grid_size)
数学の武士's avatar
.  
数学の武士 committed
{
数学の武士's avatar
数学の武士 committed
// #ifdef INCLUDE_CUDA
//     static FluxSheba<float, MemType::CPU, MemType::CPU, MemType::GPU> F(sfx, meteo, *model_param, *surface_param, *numerics, *constants, grid_size);
//     F.compute_flux();
// #else
//     static FluxSheba<float, MemType::CPU, MemType::CPU, MemType::CPU> F(sfx, meteo, *model_param, *surface_param, *numerics, *constants, grid_size);
//     F.compute_flux();
// #endif
数学の武士's avatar
数学の武士 committed
}