0.6.2-dev0
FORCES
FORtran lib for Comp. Env. Sys.
Loading...
Searching...
No Matches
mo_utils.F90 File Reference

General utilities for the CHS library. More...

Go to the source code of this file.

Data Types

interface  mo_utils::flip
 flip an array at a certain dimension More...
 
interface  mo_utils::unpack_chunkwise
 chunk version of the unpack operation More...
 
interface  mo_utils::arange
 Numbers within a given range. More...
 
interface  mo_utils::cumsum
 Cumulative sum. More...
 
interface  mo_utils::imaxloc
 First location in array of element with the maximum value. More...
 
interface  mo_utils::iminloc
 First location in array of element with the minimum value. More...
 
interface  mo_utils::linspace
 Evenly spaced numbers in interval. More...
 
interface  mo_utils::is_close
 Comparison of real values. More...
 
interface  mo_utils::equal
 Comparison of real values. More...
 
interface  mo_utils::notequal
 Comparison of real values for inequality. More...
 
interface  mo_utils::greaterequal
 Comparison of real values: a >= b. More...
 
interface  mo_utils::lesserequal
 Comparison of real values: a <= b. More...
 
interface  mo_utils::eq
 Comparison of real values. More...
 
interface  mo_utils::ne
 Comparison of real values for inequality. More...
 
interface  mo_utils::ge
 Comparison of real values: a >= b. More...
 
interface  mo_utils::le
 Comparison of real values: a <= b. More...
 
interface  mo_utils::is_finite
 .true. if not IEEE Inf. More...
 
interface  mo_utils::is_nan
 .true. if IEEE NaN. More...
 
interface  mo_utils::is_normal
 .true. if nor IEEE Inf nor IEEE NaN. More...
 
interface  mo_utils::locate
 Find closest values in a monotonic series, returns the indexes. More...
 
interface  mo_utils::swap
 Swap to values or two elements in array. More...
 
interface  mo_utils::special_value
 Special IEEE values. More...
 
interface  mo_utils::relational_operator_dp
 abstract interface for a relational operator on double precision arguments More...
 
interface  mo_utils::relational_operator_sp
 abstract interface for a relational operator on single precision arguments More...
 

Modules

module  mo_utils
 General utilities for the CHS library.
 

Functions/Subroutines

integer(i4) function, dimension(:), allocatable mo_utils::arange_i4 (lower, upper)
 
integer(i8) function, dimension(:), allocatable mo_utils::arange_i8 (lower, upper)
 
real(dp) function, dimension(:), allocatable mo_utils::arange_dp (lower, upper)
 
real(sp) function, dimension(:), allocatable mo_utils::arange_sp (lower, upper)
 
integer(i4) function, dimension(size(arr, 1)) mo_utils::cumsum_i4 (arr)
 
integer(i8) function, dimension(size(arr, 1)) mo_utils::cumsum_i8 (arr)
 
real(dp) function, dimension(size(arr, 1)) mo_utils::cumsum_dp (arr)
 
complex(dpc) function, dimension(size(arr, 1)) mo_utils::cumsum_dpc (arr)
 
real(sp) function, dimension(size(arr, 1)) mo_utils::cumsum_sp (arr)
 
complex(spc) function, dimension(size(arr, 1)) mo_utils::cumsum_spc (arr)
 
integer(i4) function mo_utils::imaxloc_i4 (arr, mask)
 
integer(i4) function mo_utils::imaxloc_i8 (arr, mask)
 
integer(i4) function mo_utils::imaxloc_dp (arr, mask)
 
integer(i4) function mo_utils::imaxloc_sp (arr, mask)
 
integer(i4) function mo_utils::iminloc_i4 (arr, mask)
 
integer(i4) function mo_utils::iminloc_i8 (arr, mask)
 
integer(i4) function mo_utils::iminloc_dp (arr, mask)
 
integer(i4) function mo_utils::iminloc_sp (arr, mask)
 
integer(i4) function, dimension(nstep) mo_utils::linspace_i4 (lower, upper, nstep)
 
integer(i8) function, dimension(nstep) mo_utils::linspace_i8 (lower, upper, nstep)
 
real(dp) function, dimension(nstep) mo_utils::linspace_dp (lower, upper, nstep)
 
real(sp) function, dimension(nstep) mo_utils::linspace_sp (lower, upper, nstep)
 
logical elemental pure function mo_utils::is_close_dp (a, b, rtol, atol, equal_nan)
 
logical elemental pure function mo_utils::is_close_sp (a, b, rtol, atol, equal_nan)
 
logical elemental pure function mo_utils::equal_dp (a, b)
 
logical elemental pure function mo_utils::equal_sp (a, b)
 
logical elemental pure function mo_utils::greaterequal_dp (a, b)
 
logical elemental pure function mo_utils::greaterequal_sp (a, b)
 
logical elemental pure function mo_utils::lesserequal_dp (a, b)
 
logical elemental pure function mo_utils::lesserequal_sp (a, b)
 
logical elemental pure function mo_utils::notequal_dp (a, b)
 
logical elemental pure function mo_utils::notequal_sp (a, b)
 
elemental pure logical function mo_utils::is_finite_dp (a)
 
elemental pure logical function mo_utils::is_finite_sp (a)
 
elemental pure logical function mo_utils::is_nan_dp (a)
 
elemental pure logical function mo_utils::is_nan_sp (a)
 
elemental pure logical function mo_utils::is_normal_dp (a)
 
elemental pure logical function mo_utils::is_normal_sp (a)
 
integer(i4) function mo_utils::locate_0d_dp (x, y)
 
integer(i4) function mo_utils::locate_0d_sp (x, y)
 
integer(i4) function, dimension(:), allocatable mo_utils::locate_1d_dp (x, y)
 
integer(i4) function, dimension(:), allocatable mo_utils::locate_1d_sp (x, y)
 
elemental pure subroutine mo_utils::swap_xy_dp (x, y)
 
elemental pure subroutine mo_utils::swap_xy_sp (x, y)
 
elemental pure subroutine mo_utils::swap_xy_i4 (x, y)
 
subroutine mo_utils::swap_vec_dp (x, i1, i2)
 
subroutine mo_utils::swap_vec_sp (x, i1, i2)
 
subroutine mo_utils::swap_vec_i4 (x, i1, i2)
 
real(dp) function mo_utils::special_value_dp (x, ieee)
 
real(sp) function mo_utils::special_value_sp (x, ieee)
 
subroutine mo_utils::flip_1d_dp (data, idim)
 
subroutine mo_utils::flip_2d_dp (data, idim)
 
subroutine mo_utils::flip_3d_dp (data, idim)
 
subroutine mo_utils::flip_4d_dp (data, idim)
 
subroutine mo_utils::flip_1d_i4 (data, idim)
 
subroutine mo_utils::flip_2d_i4 (data, idim)
 
subroutine mo_utils::flip_3d_i4 (data, idim)
 
subroutine mo_utils::flip_4d_i4 (data, idim)
 
real(dp) function, dimension(size(mask, kind=i8)) mo_utils::unpack_chunkwise_dp (vector, mask, field, chunksizearg)
 
integer(i1) function, dimension(size(mask, kind=i8)) mo_utils::unpack_chunkwise_i1 (vector, mask, field, chunksizearg)
 

Detailed Description

General utilities for the CHS library.

This module provides general utilities such as comparisons of two reals.

Changelog
  • Matthias Cuntz, Juliane Mai, Feb 2014
    • written
  • Matthias Cuntz, Juliane Mai, Feb 2014
    • equal, notequal
  • Matthias Cuntz, May 2014
    • swap
  • Matthias Cuntz, May 2014
    • is_finite, is_nan, is_normal, special_value
Authors
Matthias Cuntz, Juliane Mai
Date
2014 - 2016

Definition in file mo_utils.F90.