Skip to content
Snippets Groups Projects
sfx-data.h 2.19 KiB
Newer Older
  • Learn to ignore specific revisions
  • 数学の武士's avatar
    数学の武士 committed
    #pragma once
    
    #ifdef __cplusplus
    extern "C" {
    #endif
    
        struct meteoDataType
        {
            float h;
            float U;
            float dT;
            float Tsemi;
            float dQ;
            float z0_m;
        };
    
        struct meteoDataVecTypeC
        {
            float *h;
            float *U;
            float *dT;
            float *Tsemi;
            float *dQ;
            float *z0_m;
        };
    
        struct sfxDataType
        {
            float zeta;
            float Rib;
            float Re;
            float B;
            float z0_m;
            float z0_t;
            float Rib_conv_lim;
            float Cm;
            float Ct;
            float Km;
            float Pr_t_inv;
        };
    
        struct sfxDataVecTypeC
        {
            float *zeta;
            float *Rib;
            float *Re;
            float *B;
            float *z0_m;
            float *z0_t;
            float *Rib_conv_lim;
            float *Cm;
            float *Ct;
            float *Km;
            float *Pr_t_inv;
        };
    
        struct sfx_surface_param
        {
            int surface_ocean;
            int surface_land;
            int surface_lake;
    
    
    数学の武士's avatar
    数学の武士 committed
            float kappa;
    
    数学の武士's avatar
    数学の武士 committed
            float gamma_c;
            float Re_visc_min;
            float h_charnock;
            float c1_charnock;
            float c2_charnock;
    
            float Re_rough_min;
            float B1_rough;
            float B2_rough;
            float B3_rough;
            float B4_rough;
            float B_max_lake;
            float B_max_ocean;
            float B_max_land;
        };
    
        struct sfx_phys_constants
        {
            float Pr_m;
            float g;
            float nu_air;
        };
    
    数学の武士's avatar
    数学の武士 committed
    
        // use sfx_esm_param
    
    数学の武士's avatar
    数学の武士 committed
        struct sfx_esm_param_C
    
    数学の武士's avatar
    数学の武士 committed
        {
            float kappa;
            float Pr_t_0_inv;
            float Pr_t_inf_inv;
    
            float alpha_m;
            float alpha_h;
            float alpha_h_fix;
            float beta_m;
            float beta_h;
            float Rib_max;
        };
    
    
    数学の武士's avatar
    数学の武士 committed
        struct sfx_esm_numericsType_C
    
    数学の武士's avatar
    数学の武士 committed
        {
            int maxiters_convection;
            int maxiters_charnock;
        };
    
        // use sfx_sheba_param
    
    数学の武士's avatar
    数学の武士 committed
        struct sfx_sheba_param_C
    
    数学の武士's avatar
    数学の武士 committed
        {
            float kappa;
            float Pr_t_0_inv;
    
            float alpha_m;
            float alpha_h;
            float a_m;
            float b_m;
            float a_h;
            float b_h;
            float c_h;
        };
    
    
    数学の武士's avatar
    数学の武士 committed
        struct sfx_sheba_numericsType_C
    
    数学の武士's avatar
    数学の武士 committed
        {
            int maxiters_charnock;
        };
    
    数学の武士's avatar
    数学の武士 committed
        
    #ifdef __cplusplus
    }
    #endif