7グループの公開入力を内部reader用のdocumentへ正規化する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(toml_table), | intent(inout), | allocatable | :: | document |
subroutine normalize_config_layout(document) type(toml_table), allocatable, intent(inout) :: document type(toml_table), allocatable :: normalized type(toml_key), allocatable :: keys(:) integer :: i call document%get_keys(keys) do i = 1, size(keys) select case (lower_ascii(keys(i)%key)) case ('sim', 'field_boundary', 'particle_boundary', 'surface_current_model', 'periodic2') call stop_config_error('flat beach.toml layout is not supported; use the grouped layout '// & '(run/domain/mesh/particles/fields/sheath/output)') end select end do if (.not. is_grouped_layout(document, '')) then call stop_config_error('flat beach.toml layout is not supported; use the grouped layout '// & '(run/domain/mesh/particles/fields/sheath/output)') end if allocate (normalized) call new_table(normalized) call translate_table(document, '', normalized, .false.) call document%destroy() call move_alloc(normalized, document) end subroutine normalize_config_layout