Soil Water Balance (SWB2)
Loading...
Searching...
No Matches
constants_and_conversions.F90 File Reference

Contains a single module, constants_and_conversions, which contains useful physical constants and basic conversion utilities. More...

Go to the source code of this file.

Data Types

type  constants_and_conversions::bounds_t
interface  constants_and_conversions::operator(.approxequal.)
interface  constants_and_conversions::c_to_f
 establish generic interfaces to single and double precision functions More...
interface  constants_and_conversions::f_to_c
interface  constants_and_conversions::f_to_k
interface  constants_and_conversions::c_to_k
interface  constants_and_conversions::deg_to_rad
interface  constants_and_conversions::rad_to_deg
interface  constants_and_conversions::asfloat
interface  constants_and_conversions::asdouble
interface  constants_and_conversions::asint
interface  constants_and_conversions::aslogical
interface  constants_and_conversions::mm_to_in
interface  constants_and_conversions::in_to_mm
interface  constants_and_conversions::clip

Modules

module  constants_and_conversions
 This module contains physical constants and convenience functions aimed at performing unit conversions. The functions included in this module perform conversions between various temperature and distance units.

Functions/Subroutines

character(len=len_trim(input_pathname)) function constants_and_conversions::fix_pathname (input_pathname)
elemental logical(c_bool) function constants_and_conversions::approx_equal_float_float (fvalue1, fvalue2)
elemental logical(c_bool) function constants_and_conversions::approx_equal_float_double (fvalue1, fvalue2)
elemental logical(c_bool) function constants_and_conversions::approx_equal_double_double (fvalue1, fvalue2)
impure elemental logical(c_bool) function, public constants_and_conversions::is_numeric (value)
 Determine if string contains numeric values.
elemental real(c_float) function constants_and_conversions::deg_to_rad_sgl_fn (degrees)
 Convert degrees to radians.
elemental real(c_double) function constants_and_conversions::deg_to_rad_dbl_fn (degrees)
 Convert degrees to radians.
elemental real(c_float) function constants_and_conversions::rad_to_deg_sgl_fn (radians)
 Convert radians to degrees.
elemental real(c_double) function constants_and_conversions::rad_to_deg_dbl_fn (radians)
 Convert radians to degrees.
elemental real(c_float) function constants_and_conversions::ftoc_sgl_fn (degrees_f)
 Convert degrees Fahrenheit to degrees Celsius.
elemental real(c_double) function constants_and_conversions::ftoc_dbl_fn (degrees_f)
 Convert degrees Fahrenheit to degrees Celsius.
elemental real(c_float) function constants_and_conversions::ctof_sgl_fn (degrees_c)
 Convert degrees Celsius to degrees Fahrenheit.
elemental real(c_double) function constants_and_conversions::ctof_dbl_fn (degrees_c)
 Convert degrees Celsius to degrees Fahrenheit.
elemental real(c_float) function constants_and_conversions::ftok_sgl_fn (degrees_f)
 Convert degrees Fahrenheit to Kelvins.
elemental real(c_double) function constants_and_conversions::ftok_dbl_fn (degrees_f)
 Convert degrees Fahrenheit to Kelvins.
elemental real(c_float) function constants_and_conversions::ctok_sgl_fn (degrees_c)
 Convert degrees Celsius to Kelvins.
elemental real(c_double) function constants_and_conversions::ctok_dbl_fn (degrees_c)
 Convert degrees Fahrenheit to Kelvins.
elemental real(c_float) function constants_and_conversions::inches_to_mm_sgl_fn (inches)
 Convert inches to mm.
elemental real(c_double) function constants_and_conversions::inches_to_mm_dbl_fn (inches)
 Convert inches to mm.
elemental real(c_float) function constants_and_conversions::mm_to_inches_sgl_fn (mm)
 Convert millimeters to inches.
elemental real(c_double) function constants_and_conversions::mm_to_inches_dbl_fn (mm)
 Convert millimeters to inches.
elemental logical(c_bool) function constants_and_conversions::short2logical (ishortval)
 Convert a short integer to a logical value.
elemental logical(c_bool) function constants_and_conversions::int2logical (ivalue)
 Convert an integer to a logical value.
elemental logical(c_bool) function constants_and_conversions::real2logical (rvalue)
 Convert a real to a logical value.
elemental logical(c_bool) function constants_and_conversions::dbl2logical (rvalue)
 Convert a double to a logical value.
elemental logical(c_bool) function constants_and_conversions::char2logical (svalue)
 Convert a character string to a logical value.
elemental integer(c_int) function constants_and_conversions::short2int (ishortval)
 Convert a short integer to an integer.
impure elemental integer(c_int) function constants_and_conversions::char2int (svalue)
 Convert a character value into a integer.
elemental integer(c_int) function constants_and_conversions::real2int (rvalue)
 Convert a real value into a integer.
elemental integer(c_int) function constants_and_conversions::dbl2int (rvalue)
 Convert a double-precision value to an integer.
elemental real(c_float) function constants_and_conversions::char2real (svalue)
 Convert a character value into a real.
elemental real(c_float) function constants_and_conversions::short2real (ivalue)
 Convert a short int value into a real.
elemental real(c_float) function constants_and_conversions::int2real (ivalue)
 Convert an int value into a real.
elemental real(c_float) function constants_and_conversions::dbl2real (dpvalue)
 Convert a dbl value into a real.
elemental pure real(c_float) function constants_and_conversions::bool2real (lvalue)
 Convert a boolean value into a real.
elemental real(c_double) function constants_and_conversions::char2dbl (svalue)
 Convert a character value into a double.
elemental real(c_double) function constants_and_conversions::short2dbl (ivalue)
 Convert a short int value into a double.
elemental real(c_double) function constants_and_conversions::int2dbl (ivalue)
 Convert an int value into a double.
elemental real(c_double) function constants_and_conversions::real2dbl (fvalue)
 Convert a real value into a double.
elemental pure real(c_double) function constants_and_conversions::bool2dbl (lvalue)
 Convert a boolean value into a double.
character(len=256) function, public constants_and_conversions::char_ptr_to_fortran_string (cpcharacterptr)
elemental character(len=len(ccharacterstring) - 1) function, public constants_and_conversions::c_to_fortran_string (ccharacterstring)
elemental character(len=256) function, public constants_and_conversions::fortran_to_c_string (stext)
impure elemental character(len=len(stext1)) function constants_and_conversions::keepnumeric (stext1)
 Strip everything except numeric characters from a text string.
elemental integer(c_int) function constants_and_conversions::enforce_bounds_int_fn (value, minval, maxval)
elemental real(c_float) function constants_and_conversions::enforce_bounds_sgl_fn (value, minval, maxval)
elemental real(c_double) function constants_and_conversions::enforce_bounds_dbl_fn (value, minval, maxval)

Variables

integer(c_int), parameter constants_and_conversions::datatype_int = 0
integer(c_int), parameter constants_and_conversions::datatype_float = 1
integer(c_int), parameter constants_and_conversions::datatype_real = 1
integer(c_int), parameter constants_and_conversions::datatype_double = 2
integer(c_int), parameter constants_and_conversions::datatype_short = 3
integer(c_int), parameter constants_and_conversions::datatype_na = -9999
real(c_double), parameter, public constants_and_conversions::pi = 4.0_c_double*atan(1.0_c_double)
real(c_double), parameter, public constants_and_conversions::twopi = PI * 2.0_c_double
real(c_double), parameter, public constants_and_conversions::halfpi = PI / 2.0_c_double
real(c_double), parameter, public constants_and_conversions::degrees_to_radians = TWOPI / 360.0_c_double
real(c_double), parameter, public constants_and_conversions::radians_to_degrees = 360.0_c_double / TWOPI
logical(c_bool), parameter, public constants_and_conversions::true = .true._c_bool
logical(c_bool), parameter, public constants_and_conversions::false = .false._c_bool
real(c_float), parameter, public constants_and_conversions::rbigval = HUGE(0.0_c_float)
real(c_double), parameter, public constants_and_conversions::dbigval = HUGE(0.0_c_double)
integer(c_int), parameter, public constants_and_conversions::ibigval = HUGE(0_c_int)
real(c_float), parameter, public constants_and_conversions::rtinyval = -(HUGE(0.0_c_float) - 1.0)
real(c_double), parameter, public constants_and_conversions::dtinyval = -(HUGE(0.0_c_double) - 1.0)
real(c_float), parameter constants_and_conversions::ftinyval = -(HUGE(0.0_c_float) - 1.0)
integer(c_int), parameter, public constants_and_conversions::itinyval = -(HUGE(0_c_int) - 1)
real(c_float), parameter, public constants_and_conversions::rfreezing = 32.0_c_float
real(c_float), parameter constants_and_conversions::ffreezing = 32.0_c_float
real(c_double), parameter, public constants_and_conversions::dfreezing = 32.0_c_double
integer(c_int), parameter constants_and_conversions::izero = 0_c_int
real(c_float), parameter constants_and_conversions::fzero = 0.0_c_float
real(c_float), parameter, public constants_and_conversions::rzero = 0.0_c_float
real(c_double), parameter constants_and_conversions::dzero = 0.0_c_double
character(len=1) constants_and_conversions::os_native_path_delimiter
integer(c_long_long) constants_and_conversions::random_start = 0
real(c_double), parameter, public constants_and_conversions::c_per_f = 5.0_c_double / 9.0_c_double
real(c_double), parameter, public constants_and_conversions::f_per_c = 9.0_c_double / 5.0_c_double
real(c_double), parameter, public constants_and_conversions::m_per_foot = 0.3048_c_double
real(c_double), parameter, public constants_and_conversions::mm_per_in = 25.4_c_double
real(c_double), parameter, public constants_and_conversions::freezing_point_of_water_kelvin = 273.15_c_double
real(c_double), parameter, public constants_and_conversions::freezing_point_of_water_fahrenheit = 32.0_c_double
character(len=:), allocatable, public constants_and_conversions::output_directory_name
character(len=:), allocatable, public constants_and_conversions::output_prefix_name
character(len=:), allocatable, public constants_and_conversions::data_directory_name
character(len=:), allocatable, public constants_and_conversions::lookup_table_directory_name
type(bounds_t), public constants_and_conversions::bnds
real(c_float), parameter constants_and_conversions::tolerance_float = 1.0e-6_c_float
real(c_double), parameter constants_and_conversions::tolerance_double = 1.0e-9_c_double

Detailed Description

Contains a single module, constants_and_conversions, which contains useful physical constants and basic conversion utilities.

Definition in file constants_and_conversions.F90.