#pragma once
#include "sfx_data.h"

#ifdef __cplusplus
extern "C" {
#endif

    void esm_compute_flux(struct sfxDataVecTypeC* sfx,
                           struct meteoDataVecTypeC* meteo,
                           const struct sfx_esm_param_C* model_param, 
                           const struct sfx_surface_param* surface_param,
                           const struct sfx_esm_numericsType_C* numerics,
                           const struct sfx_phys_constants* constants,
                           const int grid_size);

    void sheba_compute_flux(struct sfxDataVecTypeC* sfx,
                           struct meteoDataVecTypeC* meteo,
                           const struct sfx_sheba_param_C* model_param, 
                           const struct sfx_surface_param* surface_param,
                           const struct sfx_sheba_numericsType_C* numerics,
                           const struct sfx_phys_constants* constants,
                           const int grid_size);
#ifdef __cplusplus
}
#endif