parse output file information
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(toml_table), | intent(inout) | :: | table |
Input Toml table |
||
type(toml_error), | intent(out), | allocatable | :: | error |
Error message |
subroutine parse_output(table, error) !! parse output file information use sim_state_mod, only : state !> Input Toml table type(toml_table), intent(inout) :: table !> Error message type(toml_error), allocatable, intent(out) :: error type(toml_table), pointer :: child type(toml_array), pointer :: children integer :: i, nlen call get_value(table, "output", child) if(associated(child))then call get_value(child, "fluence", state%outfile, "fluence.nrrd") call get_value(child, "absorb", state%outfile_absorb, "absorb.nrrd") call get_value(child, "render", state%renderfile, "geom_render.nrrd") call get_value(child, "render_geom", state%render_geom, .false.) call get_value(child, "render_size", children, requested=.false.) if(associated(children))then nlen = len(children) if(nlen < 3)then call make_error(error, "Need a vector of size 3 for render_size.", -1) return end if do i = 1, len(children) call get_value(children, i, state%render_size(i)) end do else state%render_size = [200, 200, 200] end if call get_value(child, "overwrite", state%overwrite, .false.) else call make_error(error, "Need output table in input param file", -1) return end if end subroutine parse_output