df_clip_real Subroutine

public subroutine df_clip_real(df, col_index, min_val, max_val)

Clip (clamp) values in a real column to [min_val, max_val]

Values below min_val are set to min_val, values above max_val are set to max_val

@param[in,out] df The data frame instance @param[in] col_index Index of the column @param[in] min_val Minimum allowed value @param[in] max_val Maximum allowed value

Arguments

Type IntentOptional Attributes Name
type(data_frame), intent(inout) :: df
integer, intent(in) :: col_index
real(kind=rk), intent(in) :: min_val
real(kind=rk), intent(in) :: max_val

Source Code

    subroutine df_clip_real(df, col_index, min_val, max_val)
        type(data_frame), intent(inout) :: df
        integer, intent(in) :: col_index
        real(rk), intent(in) :: min_val, max_val

        real(rk), dimension(:), allocatable :: col
        integer :: i

        col = df_get_col_real(df, col_index)
        do i = 1, size(col)
            col(i) = max(min_val, min(max_val, col(i)))
        end do
        call df_set_col_real(df, col_index, col)
    end subroutine df_clip_real