parse_arguments Function

public function parse_arguments() result(options)

Arguments

None

Return Value type(StringUnlimitedMap)


Calls

proc~~parse_arguments~2~~CallsGraph proc~parse_arguments~2 parse_arguments add_argument add_argument proc~parse_arguments~2->add_argument argparser argparser proc~parse_arguments~2->argparser initialize initialize proc~parse_arguments~2->initialize parse_args parse_args proc~parse_arguments~2->parse_args

Called by

proc~~parse_arguments~2~~CalledByGraph proc~parse_arguments~2 parse_arguments program~checkpoint_tester~2 checkpoint_tester program~checkpoint_tester~2->proc~parse_arguments~2

Source Code

   function parse_arguments() result(options)

      type(StringUnlimitedMap) :: options
      type(ArgParser), target :: parser

      call parser%initialize('checkpoint_simulator.x')
      parser = ArgParser()

      call parser%add_argument("--config_file", &
         help="The configuration file to use", &
         action="store", &
         type="string")

      call parser%add_argument("--nx", &
         help="The number of cells in the x direction (default: 4)", &
         action="store", &
         type="integer", &
         default=4)

      call parser%add_argument("--ny", &
         help="The number of cells in the y direction (default: 4)", &
         action="store", &
         type="integer", &
         default=4)

      call parser%add_argument("--im_world", &
         help="The resolution of the cubed sphere (default: 90)", &
         action="store", &
         type="integer", &
         default=90)

      call parser%add_argument("--lm", &
         help="The number of levels in each 3D variable (default: 137)", &
         action="store", &
         type="integer", &
         default=137)

      call parser%add_argument("--num_writers", &
         help="The number of processes that will write (default: 1)", &
         action="store", &
         type="integer", &
         default=1)

      call parser%add_argument("--num_arrays", &
         help="The number of 3D arrays to write (default: 5)", &
         action="store", &
         type="integer", &
         default=5)

      call parser%add_argument("--ntrials", &
         help="The number of trials to run (default: 3)", &
         action="store", &
         type="integer", &
         default=3)

      call parser%add_argument("--split_file", &
         help="Split the file into multiple files (default: do not split)", &
         action="store_true", &
         default=.false.)

      call parser%add_argument("--gather_3d", &
         help="Gather all levels at once instead of one at a time (default: gather one at a time)", &
         action="store_true", &
         default=.false.)

      call parser%add_argument("--write_barrier", &
         help="Add a barrier after every write (default: no barrier)", &
         action="store_true", &
         default=.false.)

      call parser%add_argument("--static_data", &
         help="Use static data (rank of process) instead of random data (default: random data)", &
         action="store_true", &
         default=.False.)

      call parser%add_argument("--suppress_writes", &
         help="Do not write data (default: write data)", &
         action="store_true", &
         default=.False.)

      call parser%add_argument("--write_binary", &
         help="Write binary data instead of NetCDF (default: write NetCDF)", &
         action="store_true", &
         default=.false.)

      call parser%add_argument("--no_chunking", &
         help="Do not chunk output (default: chunk the output)", &
         action="store_true", &
         default=.false.)

      options = parser%parse_args()

   end function parse_arguments