8.3
general documentation
cs_atmo.h File Reference
#include "cs_base.h"
+ Include dependency graph for cs_atmo.h:

Go to the source code of this file.

Data Structures

struct  cs_atmo_option_t
 
struct  cs_atmo_constants_t
 
struct  cs_atmo_chemistry_t
 
struct  cs_atmo_imbrication_t
 

Enumerations

enum  cs_atmo_model_t { CS_ATMO_OFF = -1 , CS_ATMO_CONSTANT_DENSITY = 0 , CS_ATMO_DRY = 1 , CS_ATMO_HUMID = 2 }
 
enum  cs_atmo_nucleation_type_t { CS_ATMO_NUC_OFF = 0 , CS_ATMO_NUC_PRUPPACHER_KLETT = 1 , CS_ATMO_NUC_COHARD = 2 , CS_ATMO_NUC_ABDUL_RAZZAK = 3 }
 
enum  cs_atmo_aerosol_type_t { CS_ATMO_AEROSOL_OFF = 0 , CS_ATMO_AEROSOL_SSH = 1 }
 
enum  cs_atmo_universal_functions_t {
  CS_ATMO_UNIV_FN_CHENG = 0 , CS_ATMO_UNIV_FN_HOGSTROM = 1 , CS_ATMO_UNIV_FN_BUSINGER = 2 , CS_ATMO_UNIV_FN_HARTOGENSIS = 3 ,
  CS_ATMO_UNIV_FN_CARL = 4
}
 
enum  cs_atmo_soil_cat_t { CS_ATMO_SOIL_5_CAT = 0 , CS_ATMO_SOIL_7_CAT = 1 , CS_ATMO_SOIL_23_CAT = 2 }
 
enum  cs_atmo_soil_meb_model_t { CS_ATMO_SOIL_GENUINE = 0 , CS_ATMO_SOIL_PHOTOVOLTAICS = 1 , CS_ATMO_SOIL_VEGETATION = 2 }
 

Functions

void cs_atmo_phyvar_update (void)
 
void cs_atmo_source_term (int f_id, cs_real_t exp_st[], cs_real_t imp_st[])
 Phase change source terms - Exchange terms between the injected liquid and the water vapor phase in the bulk, humid air. More...
 
void cs_atmo_fields_init0 (void)
 
void cs_atmo_bcond (void)
 
void cs_atmo_init_chemistry (void)
 Initialize chemistry array. More...
 
void cs_atmo_init_meteo_profiles (void)
 Initialize meteo profiles if no meteo file is given. More...
 
void cs_atmo_compute_meteo_profiles (void)
 Compute meteo profiles if no meteo file is given. More...
 
void cs_atmo_z_ground_compute (void)
 This function computes the ground elevation. More...
 
void cs_atmo_hydrostatic_profiles_compute (void)
 Compute hydrostatic profiles of density and pressure. More...
 
cs_real_t cs_mo_phim (cs_real_t z, cs_real_t dlmo)
 Universal function phim for neutral, stable and unstable. More...
 
cs_real_t cs_mo_phih (cs_real_t z, cs_real_t dlmo)
 Universal function phih for neutral, stable and unstable. More...
 
cs_real_t cs_mo_psim (cs_real_t z, cs_real_t z0, cs_real_t dlmo)
 Universal function psim for neutral, stable and unstable. More...
 
cs_real_t cs_mo_psih (cs_real_t z, cs_real_t z0, cs_real_t dlmo)
 Universal function psih for neutral, stable and unstable. More...
 
void cs_mo_compute_from_thermal_diff (cs_real_t z, cs_real_t z0, cs_real_t du, cs_real_t dt, cs_real_t beta, cs_real_t gredu, cs_real_t *dlmo, cs_real_t *ustar)
 Compute LMO, friction velocity ustar, friction temperature tstar from a thermal difference using Monin Obukhov. More...
 
void cs_mo_compute_from_thermal_flux (cs_real_t z, cs_real_t z0, cs_real_t du, cs_real_t flux, cs_real_t beta, cs_real_t gredu, cs_real_t *dlmo, cs_real_t *ustar)
 Compute LMO, friction velocity ustar, friction temperature tstar from a thermal flux using Monin Obukhov. More...
 
void cs_atmo_set_meteo_file_name (const char *file_name)
 This function set the file name of the meteo file. More...
 
void cs_atmo_set_chem_conc_file_name (const char *file_name)
 This function set the file name of the chemistry concentration file. More...
 
void cs_atmo_set_aero_conc_file_name (const char *file_name)
 This function set the file name of the aerosol concentration file. More...
 
void cs_atmo_chemistry_set_spack_file_name (const char *file_name)
 This function set the file name of the SPACK file. More...
 
void cs_atmo_chemistry_set_aerosol_file_name (const char *file_name)
 This function sets the file name to initialize the aerosol library. More...
 
void cs_atmo_declare_chem_from_spack (void)
 This function declare additional transported variables for atmospheric module for the chemistry defined from SPACK. More...
 
void cs_atmo_compute_solar_angles (cs_real_t xlat, cs_real_t xlong, cs_real_t jour, cs_real_t heurtu, int imer, cs_real_t *albe, cs_real_t *za, cs_real_t *muzero, cs_real_t *omega, cs_real_t *fo)
 1D Radiative scheme - Solar data + zenithal angle) More...
 
void cs_atmo_chemistry_initialization_deactivate (void)
 Deactivate chemistry initialization procedure. More...
 
int cs_atmo_chemistry_need_initialization (void)
 Check if the chemistry module needs initialization. More...
 
void cs_atmo_log_setup (void)
 Print the atmospheric module options to setup.log. More...
 
void cs_atmo_chemistry_log_setup (void)
 Print the atmospheric chemistry options to setup.log. More...
 
void cs_atmo_aerosol_log_setup (void)
 Print the atmospheric aerosols options to setup.log. More...
 
void cs_atmo_finalize (void)
 Deallocate arrays for atmo module. More...
 
void cs_user_soil_model (void)
 Allow call of cs_user fonctions during soil model computation. More...
 
void cs_soil_model (void)
 Compute soil and interface values using Deardorff force restore method. More...
 

Variables

cs_atmo_option_tcs_glob_atmo_option
 
cs_atmo_constants_tcs_glob_atmo_constants
 
cs_atmo_chemistry_tcs_glob_atmo_chemistry
 
cs_atmo_imbrication_tcs_glob_atmo_imbrication
 

Enumeration Type Documentation

◆ cs_atmo_aerosol_type_t

Enumerator
CS_ATMO_AEROSOL_OFF 
CS_ATMO_AEROSOL_SSH 

◆ cs_atmo_model_t

Enumerator
CS_ATMO_OFF 
CS_ATMO_CONSTANT_DENSITY 
CS_ATMO_DRY 
CS_ATMO_HUMID 

◆ cs_atmo_nucleation_type_t

Enumerator
CS_ATMO_NUC_OFF 
CS_ATMO_NUC_PRUPPACHER_KLETT 
CS_ATMO_NUC_COHARD 
CS_ATMO_NUC_ABDUL_RAZZAK 

◆ cs_atmo_soil_cat_t

Enumerator
CS_ATMO_SOIL_5_CAT 

5 categories: water, forest, diverse, mineral, building

CS_ATMO_SOIL_7_CAT 

7 categories: water, forest, diverse, mineral, diffuse buildings, mixtie buildings, dense buildings

CS_ATMO_SOIL_23_CAT 

Roughness length classification of Corine land cover classes Julieta Silva et al. doi=10.1.1.608.2707

◆ cs_atmo_soil_meb_model_t

Enumerator
CS_ATMO_SOIL_GENUINE 

Genuine Force-restore model (bare-soil or equivalent only)

CS_ATMO_SOIL_PHOTOVOLTAICS 

Force-restore model including photovoltaic layer

CS_ATMO_SOIL_VEGETATION 

Force-restore model including vegetation layer

◆ cs_atmo_universal_functions_t

Enumerator
CS_ATMO_UNIV_FN_CHENG 
CS_ATMO_UNIV_FN_HOGSTROM 
CS_ATMO_UNIV_FN_BUSINGER 
CS_ATMO_UNIV_FN_HARTOGENSIS 
CS_ATMO_UNIV_FN_CARL 

Function Documentation

◆ cs_atmo_aerosol_log_setup()

void cs_atmo_aerosol_log_setup ( void  )

Print the atmospheric aerosols options to setup.log.

◆ cs_atmo_bcond()

void cs_atmo_bcond ( void  )

◆ cs_atmo_chemistry_initialization_deactivate()

void cs_atmo_chemistry_initialization_deactivate ( void  )

Deactivate chemistry initialization procedure.

◆ cs_atmo_chemistry_log_setup()

void cs_atmo_chemistry_log_setup ( void  )

Print the atmospheric chemistry options to setup.log.

◆ cs_atmo_chemistry_need_initialization()

int cs_atmo_chemistry_need_initialization ( void  )

Check if the chemistry module needs initialization.

Returns
int value : 1 if needed, 0 if not

◆ cs_atmo_chemistry_set_aerosol_file_name()

void cs_atmo_chemistry_set_aerosol_file_name ( const char *  file_name)

This function sets the file name to initialize the aerosol library.

Parameters
[in]file_namename of the file.

◆ cs_atmo_chemistry_set_spack_file_name()

void cs_atmo_chemistry_set_spack_file_name ( const char *  file_name)

This function set the file name of the SPACK file.

Parameters
[in]file_namename of the file.

◆ cs_atmo_compute_meteo_profiles()

void cs_atmo_compute_meteo_profiles ( void  )

Compute meteo profiles if no meteo file is given.

◆ cs_atmo_compute_solar_angles()

void cs_atmo_compute_solar_angles ( cs_real_t  latitude,
cs_real_t  longitude,
cs_real_t  squant,
cs_real_t  utc,
int  sea_id,
cs_real_t albedo,
cs_real_t za,
cs_real_t muzero,
cs_real_t omega,
cs_real_t fo 
)

1D Radiative scheme - Solar data + zenithal angle)

Compute:

  • zenithal angle
  • solar contant (with correction for earth - solar length)
  • albedo if above the sea (Use analytical formulae of Paltrige and Platt dev.in atm. science no 5)
    Parameters
    [in]xlatlatitude
    [in]xlonglongitude
    [in]jourday in the year
    [in]heurtuUniversal time (hour)
    [in]imersea index
    [out]albealbedo
    [out]zazenithal angle
    [out]muzerocosin of zenithal angle (+ correction due to Earth curvature)
    [out]omegasolar azimut angle
    [out]fosolar constant
    Compute:
  • zenithal angle
  • solar contant (with correction for earth - solar length)
  • albedo if above the sea (Use analytical formulae of Paltrige and Platt dev.in atm. science no 5)
    Parameters
    [in]latitudelatitude
    [in]longitudelongitude
    [in]squantstart day in the year
    [in]utcUniversal time (hour)
    [in]sea_idsea index
    [out]albedoalbedo
    [out]zazenithal angle
    [out]muzerocosin of zenithal angle
    [out]omegasolar azimut angle
    [out]fosolar constant

◆ cs_atmo_declare_chem_from_spack()

void cs_atmo_declare_chem_from_spack ( void  )

This function declare additional transported variables for atmospheric module for the chemistry defined from SPACK.

This function declare additional transported variables for atmospheric module for the chemistry defined from SPACK.

◆ cs_atmo_fields_init0()

void cs_atmo_fields_init0 ( void  )

◆ cs_atmo_finalize()

void cs_atmo_finalize ( void  )

Deallocate arrays for atmo module.

◆ cs_atmo_hydrostatic_profiles_compute()

void cs_atmo_hydrostatic_profiles_compute ( void  )

Compute hydrostatic profiles of density and pressure.

This function solves the following transport equation on $ \varia $:

\[
 \divs \left( \grad \varia \right)
     = \divs \left( \dfrac{\vect{g}}{c_p \theta} \right)
 \]

where $ \vect{g} $ is the gravity field and $ \theta $ is the potential temperature.

The boundary conditions on $ \varia $ read:

\[
  \varia = \left(\dfrac{P_{sea}}{p_s}\right)^{R/C_p} \textrm{on the ground}
 \]

and Neumann elsewhere.

◆ cs_atmo_init_chemistry()

void cs_atmo_init_chemistry ( void  )

Initialize chemistry array.

◆ cs_atmo_init_meteo_profiles()

void cs_atmo_init_meteo_profiles ( void  )

Initialize meteo profiles if no meteo file is given.

◆ cs_atmo_log_setup()

void cs_atmo_log_setup ( void  )

Print the atmospheric module options to setup.log.

◆ cs_atmo_phyvar_update()

void cs_atmo_phyvar_update ( void  )

◆ cs_atmo_set_aero_conc_file_name()

void cs_atmo_set_aero_conc_file_name ( const char *  file_name)

This function set the file name of the aerosol concentration file.

Parameters
[in]file_namename of the file.

This function set the file name of the aerosol concentration file.

Parameters
[in]file_namename of the file.

◆ cs_atmo_set_chem_conc_file_name()

void cs_atmo_set_chem_conc_file_name ( const char *  file_name)

This function set the file name of the chemistry concentration file.

Parameters
[in]file_namename of the file.

This function set the file name of the chemistry concentration file.

Parameters
[in]file_namename of the file.

◆ cs_atmo_set_meteo_file_name()

void cs_atmo_set_meteo_file_name ( const char *  file_name)

This function set the file name of the meteo file.

Parameters
[in]file_namename of the file.

◆ cs_atmo_source_term()

void cs_atmo_source_term ( int  f_id,
cs_real_t  exp_st[],
cs_real_t  imp_st[] 
)

Phase change source terms - Exchange terms between the injected liquid and the water vapor phase in the bulk, humid air.

Parameters
[in]f_idfield id
[in,out]exp_stExplicit source term
[in,out]imp_stImplicit source term

◆ cs_atmo_z_ground_compute()

void cs_atmo_z_ground_compute ( void  )

This function computes the ground elevation.

This function solves the following transport equation on $ \varia $:

\[
 \dfrac{\partial \varia}{\partial t} + \divs \left( \varia \vect{g} \right)
     - \divs \left( \vect{V} \right) \varia = 0
 \]

where $ \vect{g} $ is the gravity field

The boundary conditions on $ \varia $ read:

\[
  \varia = z \textrm{ on walls}
 \]

\[
  \dfrac{\partial \varia}{\partial n} = 0 \textrm{ elsewhere}
 \]

Remarks:

  • a steady state is looked for.

This function computes the ground elevation.

This function solves the following transport equation on $ \varia $:

\[
 \dfrac{\partial \varia}{\partial t} + \divs \left( \varia \vect{g} \right)
     - \divs \left( \vect{V} \right) \varia = 0
 \]

where $ \vect{g} $ is the gravity field

The boundary conditions on $ \varia $ read:

\[
  \varia = z \textrm{ on walls}
 \]

\[
  \dfrac{\partial \varia}{\partial n} = 0 \textrm{ elsewhere}
 \]

Remarks:

  • a steady state is looked for.

◆ cs_mo_compute_from_thermal_diff()

void cs_mo_compute_from_thermal_diff ( cs_real_t  z,
cs_real_t  z0,
cs_real_t  du,
cs_real_t  dt,
cs_real_t  beta,
cs_real_t  gredu,
cs_real_t dlmo,
cs_real_t ustar 
)

Compute LMO, friction velocity ustar, friction temperature tstar from a thermal difference using Monin Obukhov.

Parameters
[in]zaltitude
[in]z0
[in]duvelocity difference
[in]dtthermal difference
[in]betathermal expansion
[in]gredu
[out]dlmoInverse Monin Obukhov length
[out]ustarfriction velocity

◆ cs_mo_compute_from_thermal_flux()

void cs_mo_compute_from_thermal_flux ( cs_real_t  z,
cs_real_t  z0,
cs_real_t  du,
cs_real_t  flux,
cs_real_t  beta,
cs_real_t  gredu,
cs_real_t dlmo,
cs_real_t ustar 
)

Compute LMO, friction velocity ustar, friction temperature tstar from a thermal flux using Monin Obukhov.

Parameters
[in]zaltitude
[in]z0
[in]duvelocity difference
[in]fluxthermal flux
[in]betathermal expansion
[in]gredu
[out]dlmoInverse Monin Obukhov length
[out]ustarfriction velocity

◆ cs_mo_phih()

cs_real_t cs_mo_phih ( cs_real_t  z,
cs_real_t  dlmo 
)

Universal function phih for neutral, stable and unstable.

Parameters
[in]zaltitude
[in]dlmoInverse Monin Obukhov length
Returns
factor

◆ cs_mo_phim()

cs_real_t cs_mo_phim ( cs_real_t  z,
cs_real_t  dlmo 
)

Universal function phim for neutral, stable and unstable.

Parameters
[in]zaltitude
[in]dlmoInverse Monin Obukhov length
Returns
factor

◆ cs_mo_psih()

cs_real_t cs_mo_psih ( cs_real_t  z,
cs_real_t  z0,
cs_real_t  dlmo 
)

Universal function psih for neutral, stable and unstable.

Parameters
[in]zaltitude
[in]z0roughness
[in]dlmoInverse Monin Obukhov length
Returns
factor

◆ cs_mo_psim()

cs_real_t cs_mo_psim ( cs_real_t  z,
cs_real_t  z0,
cs_real_t  dlmo 
)

Universal function psim for neutral, stable and unstable.

Parameters
[in]zaltitude
[in]z0roughness
[in]dlmoInverse Monin Obukhov length
Returns
factor

◆ cs_soil_model()

void cs_soil_model ( void  )

Compute soil and interface values using Deardorff force restore method.

Compute soil and interface values using Deardorff force restore method.

◆ cs_user_soil_model()

void cs_user_soil_model ( void  )

Allow call of cs_user fonctions during soil model computation.

Variable Documentation

◆ cs_glob_atmo_chemistry

cs_atmo_chemistry_t* cs_glob_atmo_chemistry
extern

◆ cs_glob_atmo_constants

cs_atmo_constants_t* cs_glob_atmo_constants
extern

◆ cs_glob_atmo_imbrication

cs_atmo_imbrication_t* cs_glob_atmo_imbrication
extern

◆ cs_glob_atmo_option

cs_atmo_option_t* cs_glob_atmo_option
extern