It is a bad idea to hard code literal kind values, for a variety of reasons. You might also want to combine the two approaches suggested by @PierU with something like:
use iso_fortran_env, only : ik2 => int16
!...
call f(1_ik2)
Then if you do ever want to change the kind, you would just need to change it a single time in the use statement rather than in all the declarations and constants throughout the code.