17 std::tuple<PetscScalar, SPIVec>
LST_temporal(SPIparams ¶ms, SPIgrid1D &grid, SPIbaseflow &baseflow,SPIVec q=SPIVec());
18 std::tuple<PetscScalar, SPIVec>
LST_spatial(SPIparams ¶ms, SPIgrid1D &grid, SPIbaseflow &baseflow, SPIVec q=SPIVec());
19 std::tuple<PetscScalar, PetscScalar, SPIVec, SPIVec>
LST_spatial_cg(SPIparams ¶ms, SPIgrid1D &grid, SPIbaseflow &baseflow);
20 std::tuple<PetscScalar, PetscScalar, SPIVec, SPIVec>
LSTNP_spatial(SPIparams ¶ms, SPIgrid1D &grid, SPIbaseflow &baseflow, SPIVec ql=SPIVec(),SPIVec qr=SPIVec());
21 std::tuple<PetscScalar, SPIVec>
LSTNP_spatial_right(SPIparams ¶ms, SPIgrid1D &grid, SPIbaseflow &baseflow, SPIVec qr=SPIVec());
22 std::tuple<PetscScalar, SPIVec>
LSTNP_spatial_right2(SPIparams ¶ms, SPIgrid1D &grid, SPIbaseflow &baseflow, SPIVec qr=SPIVec());
23 std::tuple<std::vector<PetscScalar>, std::vector<SPIVec>>
LSTNP_spatials_right(SPIparams ¶ms, SPIgrid1D &grid, SPIbaseflow &baseflow, std::vector<PetscScalar> &alphas, std::vector<SPIVec> &qrs);