|
ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|
#include "ERF_Constants.H"

Go to the source code of this file.
Classes | |
| struct | most_data |
| struct | similarity_funs |
Functions | |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real | air_viscosity (amrex::Real T_degK) |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real | Charnock_roughness (amrex::Real ustar, amrex::Real Cnk_a, amrex::Real nu, bool visc) |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real | Mod_Charnock_roughness (amrex::Real ustar, amrex::Real Cnk_b) |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real | COARE3_roughness (amrex::Real zref, amrex::Real umm, amrex::Real ustar, amrex::Real nu, bool visc) |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real | Donelan_roughness (amrex::Real ustar, amrex::Real nu, bool visc) |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real | WaveCoupled_roughness (amrex::Real Hwave, amrex::Real Lwave, amrex::Real eps, amrex::Real ustar, amrex::Real nu, bool visc) |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real | Compute_roughness (amrex::Real zref, amrex::Real Olen, amrex::Real umm, amrex::Real ustar) |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real air_viscosity | ( | amrex::Real | T_degK | ) |
Empirical kinematic viscosity [m2/s] formula from Andreas (1989) CRREL Rep. 89-11, valid between -173 and 277 deg C.
| [in] | T_degK | air temperature in Kelvin |
Referenced by adiabatic_charnock::iterate_flux(), adiabatic_donelan::iterate_flux(), adiabatic_wave_coupled::iterate_flux(), surface_flux_charnock::iterate_flux(), surface_flux_donelan::iterate_flux(), surface_temp_charnock::iterate_flux(), surface_temp_donelan::iterate_flux(), surface_flux_wave_coupled::iterate_flux(), and surface_temp_wave_coupled::iterate_flux().

| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real Charnock_roughness | ( | amrex::Real | ustar, |
| amrex::Real | Cnk_a, | ||
| amrex::Real | nu, | ||
| bool | visc | ||
| ) |
Charnock roughness with optional aerodynamically-smooth contribution
Smooth-flow limit follows z0 = 0.11 nu / u* (Smith 1988; ECMWF; WRF)
| [in] | ustar | friction velocity |
| [in] | cnk_a | charnock constant |
| [in] | nu | intrinsic fluid viscosity |
| [in] | visc | flag to apply smooth flow limit |
Referenced by adiabatic_charnock::iterate_flux(), surface_flux_charnock::iterate_flux(), and surface_temp_charnock::iterate_flux().

| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real COARE3_roughness | ( | amrex::Real | zref, |
| amrex::Real | umm, | ||
| amrex::Real | ustar, | ||
| amrex::Real | nu, | ||
| bool | visc | ||
| ) |
COARE3.0, following WRF phys/module_sf_mynn.F
Smooth-flow limit follows z0 = 0.11 nu / u* (Smith 1988; ECMWF; WRF)
| [in] | zref | reference height for the wind speed |
| [in] | umm | horizontal wind speed magnitude at zref |
| [in] | ustar | friction velocity |
| [in] | nu | intrinsic fluid viscosity |
| [in] | visc | flag to apply smooth flow limit |
Referenced by adiabatic_charnock::iterate_flux(), surface_flux_charnock::iterate_flux(), and surface_temp_charnock::iterate_flux().

| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real Compute_roughness | ( | amrex::Real | zref, |
| amrex::Real | Olen, | ||
| amrex::Real | umm, | ||
| amrex::Real | ustar | ||
| ) |
Invert log-law to get roughness
| [in] | zref | reference height for the wind speed |
| [in] | Olen | Obukhov length |
| [in] | umm | horizontal wind speed magnitude at zref |
| [in] | ustar | friction velocity |
Referenced by SurfaceLayer::compute_sfc_params_from_lsm_fluxes(), and SurfaceLayer::compute_SurfaceLayer_bcs().


| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real Donelan_roughness | ( | amrex::Real | ustar, |
| amrex::Real | nu, | ||
| bool | visc | ||
| ) |
Updated Donelan 2004 as found in AHW
Matches implementations in WRF phys/physics_mmm/sf_sfclayrev.F90 and phys/module_sf_mynn.F
Smooth flow limit is intrinsic in zn2.
| [in] | ustar | friction velocity |
| [in] | nu | intrinsic fluid viscosity |
| [in] | visc | flag to apply smooth flow limit |
Referenced by adiabatic_donelan::iterate_flux(), surface_flux_donelan::iterate_flux(), and surface_temp_donelan::iterate_flux().

| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real Mod_Charnock_roughness | ( | amrex::Real | ustar, |
| amrex::Real | Cnk_b | ||
| ) |
Modified Charnock roughness
Smooth-flow limit is intrinsic.
| [in] | ustar | friction velocity |
| [in] | cnk_b | modified charnock constant |
Referenced by adiabatic_mod_charnock::iterate_flux(), surface_flux_mod_charnock::iterate_flux(), and surface_temp_mod_charnock::iterate_flux().

| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real WaveCoupled_roughness | ( | amrex::Real | Hwave, |
| amrex::Real | Lwave, | ||
| amrex::Real | eps, | ||
| amrex::Real | ustar, | ||
| amrex::Real | nu, | ||
| bool | visc | ||
| ) |
Wave coupled roughness
Smooth-flow limit follows z0 = 0.11 nu / u* (Smith 1988; ECMWF; WRF)
| [in] | Hwave | wave height |
| [in] | Lwave | wave length |
| [in] | eps | avoid divide by zero |
| [in] | ustar | friction velocity |
| [in] | nu | intrinsic fluid viscosity |
| [in] | visc | flag to apply smooth flow limit |
Referenced by adiabatic_wave_coupled::iterate_flux(), surface_flux_wave_coupled::iterate_flux(), and surface_temp_wave_coupled::iterate_flux().
