subroutine call_option(option, arg_pos) use parameters use opt_disl use opt_group use opt_orient use opt_delete use box implicit none integer, intent(inout) :: arg_pos character(len=100), intent(in) :: option select case(trim(adjustl(option))) case('-dislgen', '-disloop','-vacancydisloop') call dislocation(option, arg_pos) case('-group') call group(arg_pos) case('-ow') arg_pos = arg_pos + 1 case('-wrap') arg_pos = arg_pos + 1 case('-orient') call orient(arg_pos) case('-unorient') call unorient arg_pos = arg_pos + 1 case('-boundary') arg_pos=arg_pos+1 call get_command_argument(arg_pos, box_bc) arg_pos=arg_pos+1 bound_called = .true. case('-delete') call run_delete(arg_pos) case default print *, 'Option ', trim(adjustl(option)), ' is not currently accepted.' stop 3 end select end subroutine call_option