genMatrices x y = SeismicData {ppf = ppff, apf = apff, vel = vell}
  where
    ppff = fromList (Z :. (x::Int) :. (y::Int)) [0 |  _ <- [0..x*y-1]]
    apff = fromList (Z :. (x::Int) :. (y::Int)) [0 |  _ <- [0..x*y-1]]
    vell = fromList (Z :. (x::Int) :. (y::Int)) [v*v*fat | _ <- [0..x*y-1]] -- values are correct

-- produces correct values
genMatrices x y = SeismicData {ppf = ppff, apf = apff, vel = vell}
  where
    ppff = fromList (Z :. (x::Int) :. (y::Int)) [0 |  _ <- [0..x*y-1]]
    apff = fromList (Z :. (x::Int) :. (y::Int)) [0 |  _ <- [0..x*y-1]]
    vell = fromList (Z :. (x::Int) :. (y::Int)) [v*v*fat | _ <- [0..x*y-1]] -- values are correct

-- produces correct values
genMatrices x y = SeismicData {ppf = ppff, apf = apff, vel = vell}
  where
    ppff = fromList (Z :. (x::Int) :. (y::Int)) [0 |  _ <- [0..x*y-1]]
    apff = fromList (Z :. (x::Int) :. (y::Int)) [0 |  _ <- [0..x*y-1]]
    vell = fromList (Z :. (x::Int) :. (y::Int)) [v*v*fat | _ <- [0..x*y-1]] -- values are correct

-- produces correct values