subroutine w90_wannier90_readwrite_read_pw90_calcs(settings, pw90_calculation, error, comm)
!================================================!
use w90_error, only: w90_error_type
use w90_comms, only: w90_comm_type
implicit none
type(pw90_calculation_type), intent(inout) :: pw90_calculation
type(w90_error_type), allocatable, intent(out) :: error
type(w90_comm_type), intent(in) :: comm
type(settings_type), intent(inout) :: settings
logical :: found
call w90_readwrite_get_keyword(settings, 'dos', found, error, comm, &
l_value=pw90_calculation%dos)
if (allocated(error)) return
call w90_readwrite_get_keyword(settings, 'berry', found, error, comm, &
l_value=pw90_calculation%berry)
if (allocated(error)) return
call w90_readwrite_get_keyword(settings, 'kpath', found, error, comm, &
l_value=pw90_calculation%kpath)
if (allocated(error)) return
call w90_readwrite_get_keyword(settings, 'kslice', found, error, comm, &
l_value=pw90_calculation%kslice)
if (allocated(error)) return
call w90_readwrite_get_keyword(settings, 'gyrotropic', found, error, comm, &
l_value=pw90_calculation%gyrotropic)
if (allocated(error)) return
call w90_readwrite_get_keyword(settings, 'geninterp', found, error, comm, &
l_value=pw90_calculation%geninterp)
if (allocated(error)) return
call w90_readwrite_get_keyword(settings, 'boltzwann', found, error, comm, &
l_value=pw90_calculation%boltzwann)
if (allocated(error)) return
end subroutine w90_wannier90_readwrite_read_pw90_calcs