interpolation_scale_factors Subroutine

private pure subroutine interpolation_scale_factors(i, Z, scale0, scale1, scale2)

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: i
real(kind=wp), intent(in) :: Z
real(kind=wp), intent(out) :: scale0
real(kind=wp), intent(out) :: scale1
real(kind=wp), intent(out) :: scale2

Called by

proc~~interpolation_scale_factors~~CalledByGraph proc~interpolation_scale_factors interpolation_scale_factors proc~pressure_upper pressure_upper proc~pressure_upper->proc~interpolation_scale_factors proc~mean_molecular_weight_upper mean_molecular_weight_upper proc~mean_molecular_weight_upper->proc~interpolation_scale_factors proc~coesa_atmosphere COESA_atmosphere proc~coesa_atmosphere->proc~pressure_upper proc~coesa_atmosphere->proc~mean_molecular_weight_upper proc~coesa_density COESA_density proc~coesa_density->proc~pressure_upper proc~coesa_density->proc~mean_molecular_weight_upper

Contents


Source Code

pure subroutine interpolation_scale_factors(i, Z, scale0, scale1, scale2)
    integer,intent(in) :: i
    real(wp),intent(in) :: Z
    real(wp),intent(out) :: scale0, scale1, scale2
    real(wp) :: Z0,Z1,Z2
    Z0 = Ztableupper(i - 1)
    Z1 = Ztableupper(i)
    Z2 = Ztableupper(i + 1)
    scale0 = (Z - Z1) * (Z - Z2) / ((Z0 - Z1) * (Z0 - Z2))
    scale1 = (Z - Z0) * (Z - Z2) / ((Z1 - Z0) * (Z1 - Z2))
    scale2 = (Z - Z0) * (Z - Z1) / ((Z2 - Z0) * (Z2 - Z1))
end subroutine interpolation_scale_factors