A use statement can rename an imported procedure so the local code reads clearly.

Program

Play the program to choose a meter count and call the imported function through its local name.

meters
renamed_import.f90
Replay: real traced execution (multi-file project)
module unit_tools
    implicit none
contains
    function centimeters(meters) result(cm)
        integer, intent(in) :: meters
        integer :: cm
        cm = meters * 100
    end function centimeters
end module unit_tools

program renamed_import_demo
    use unit_tools, only: to_cm => centimeters
    implicit none
    integer :: meters
    integer :: total_cm

    meters = 3
    total_cm = to_cm(meters)
    print '(I0)', total_cm
end program renamed_import_demo
module unit_tools
    implicit none
contains
    function centimeters(meters) result(cm)
        integer, intent(in) :: meters
        integer :: cm
        cm = meters * 100
    end function centimeters
end module unit_tools

program renamed_import_demo
    use unit_tools, only: to_cm => centimeters
    implicit none
    integer :: meters
    integer :: total_cm

    meters = 1
    total_cm = to_cm(meters)
    print '(I0)', total_cm
end program renamed_import_demo
module unit_tools
    implicit none
contains
    function centimeters(meters) result(cm)
        integer, intent(in) :: meters
        integer :: cm
        cm = meters * 100
    end function centimeters
end module unit_tools

program renamed_import_demo
    use unit_tools, only: to_cm => centimeters
    implicit none
    integer :: meters
    integer :: total_cm

    meters = 5
    total_cm = to_cm(meters)
    print '(I0)', total_cm
end program renamed_import_demo
  1. meters ← 3

    17meters = 318total_cm = to_cm(meters)
    values this step3meters
  2. total_cm ← 300

    17meters = 318total_cm = to_cm(meters)19print '(I0)', total_cm
    values this step300total_cm3meters
  3. print '(I0)', total_cm

    18    total_cm = to_cm(meters)19    print '(I0)', total_cm20end program renamed_import_demo
    output300
    values this step300total_cm
  1. meters ← 1

    17meters = 118total_cm = to_cm(meters)
    values this step1meters
  2. total_cm ← 100

    17meters = 118total_cm = to_cm(meters)19print '(I0)', total_cm
    values this step100total_cm1meters
  3. print '(I0)', total_cm

    18    total_cm = to_cm(meters)19    print '(I0)', total_cm20end program renamed_import_demo
    output100
    values this step100total_cm
  1. meters ← 5

    17meters = 518total_cm = to_cm(meters)
    values this step5meters
  2. total_cm ← 500

    17meters = 518total_cm = to_cm(meters)19print '(I0)', total_cm
    values this step500total_cm5meters
  3. print '(I0)', total_cm

    18    total_cm = to_cm(meters)19    print '(I0)', total_cm20end program renamed_import_demo
    output500
    values this step500total_cm
rename `to_cm => centimeters` gives the imported function a local name.
module API The original module still exports `centimeters`.
local clarity The program can choose a shorter or domain-specific call name.