This routine initialize interpolation matrix for least square fit
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_intpMatrixLSF_type), | intent(out) | :: | me | |||
integer, | intent(in) | :: | length | |||
integer, | intent(in) | :: | nDims | |||
integer, | intent(in) | :: | order |
subroutine init_intpMatrixLSF(me, length, nDims, order)
! --------------------------------------------------------------------------
type(tem_intpMatrixLSF_type), intent(out) :: me
integer, intent(in) :: length
integer, intent(in) :: nDims
integer, intent(in) :: order
! --------------------------------------------------------------------------
call init(me = me%matArray, length = length)
call init(me = me%ID, length = length)
call init(me = me%isInvertible, length = length)
! Set coeffs required for each order
if (order > 0 .and. order <= maxIntp_order) then
select case(nDims)
case(1)
me%nCoeffs = nCoeffs_1D(order)
case(2)
me%nCoeffs = nCoeffs_2D(order)
case(3)
me%nCoeffs = nCoeffs_3D(order)
end select
else
call tem_abort('Unsupported interpolation order')
end if
end subroutine init_intpMatrixLSF