make_BW_BenchmarkSpec Function

public function make_BW_BenchmarkSpec(rc) result(spec)

Arguments

Type IntentOptional Attributes Name
integer, intent(out), optional :: rc

Return Value type(BW_BenchmarkSpec)


Calls

proc~~make_bw_benchmarkspec~~CallsGraph proc~make_bw_benchmarkspec make_BW_BenchmarkSpec add_argument add_argument proc~make_bw_benchmarkspec->add_argument argparser argparser proc~make_bw_benchmarkspec->argparser at at proc~make_bw_benchmarkspec->at cast cast proc~make_bw_benchmarkspec->cast interface~mapl_assert MAPL_Assert proc~make_bw_benchmarkspec->interface~mapl_assert parse_args parse_args proc~make_bw_benchmarkspec->parse_args proc~mapl_return MAPL_Return proc~make_bw_benchmarkspec->proc~mapl_return proc~mapl_verify MAPL_Verify proc~make_bw_benchmarkspec->proc~mapl_verify proc~mapl_return->at insert insert proc~mapl_return->insert proc~mapl_throw_exception MAPL_throw_exception proc~mapl_return->proc~mapl_throw_exception proc~mapl_verify->proc~mapl_throw_exception

Called by

proc~~make_bw_benchmarkspec~~CalledByGraph proc~make_bw_benchmarkspec make_BW_BenchmarkSpec program~main~6 main program~main~6->proc~make_bw_benchmarkspec

Source Code

   function make_BW_BenchmarkSpec(rc) result(spec)
      type(BW_BenchmarkSpec) :: spec
      integer, optional, intent(out) :: rc

      integer :: status
      type(ArgParser) :: parser
      type(StringUnlimitedMap) :: options
      class(*), pointer :: option

      parser = ArgParser()
      call add_cli_options(parser)
      options = parser%parse_args()
      
      option => options%at('nx')
      _ASSERT(associated(option), 'nx not found')
      call cast(option, spec%nx, _RC)

      option => options%at('n_levs')
      _ASSERT(associated(option), 'n_levs not found')
      call cast(option, spec%n_levs, _RC)


      option => options%at('n_writers')
      _ASSERT(associated(option), 'n_writers not found')
      call cast(option, spec%n_writers, _RC)


      option => options%at('n_tries')
      _ASSERT(associated(option), 'n_tries not found')
      call cast(option, spec%n_tries, _RC)

      _RETURN(_SUCCESS)
   end function make_BW_BenchmarkSpec