subroutine jacobian_channel_Req_rem(i,Prim,Jacob)
integer, intent(in) :: i
real(dp), dimension(:,:), intent(in) :: Prim
real(dp), dimension(:,:,:), intent(inout) :: Jacob
real(dp), dimension(Nb_VarP) :: PPP
real(dp) :: HH,kk,KKK,dPde,dPdT,dedT
PPP(:)=Prim(:,i)
HH=PPP(Pri_e)+0.5_dp*PPP(Pri_u)**2+PPP(Pri_p)/PPP(Pri_ro)
call jacobian_roT(PPP(Pri_ro), PPP(Pri_T), dedT, dPdT)
dPde=dPdT/dedT
kk=dPde/PPP(Pri_ro) ! checked at room temperatures --> k+1=1.667==gamma
KKK=PPP(Pri_c)**2+kk*(PPP(Pri_u)**2-HH)
Jacob(1,1,i)=0.0_dp
Jacob(2,1,i)=1.0_dp
Jacob(3,1,i)=0.0_dp
Jacob(4,1,i)=0.0_dp
Jacob(1,2,i)=KKK-PPP(Pri_u)**2
Jacob(2,2,i)=PPP(Pri_u)*(2.0_dp-kk)
Jacob(3,2,i)=kk
Jacob(4,2,i)=0.0_dp
Jacob(1,3,i)=(KKK-HH)*PPP(Pri_u)
Jacob(2,3,i)=HH-kk*PPP(Pri_u)**2
Jacob(3,3,i)=PPP(Pri_u)*(1.0_dp+kk)
Jacob(4,3,i)=0.0_dp
Jacob(1,4,i)=0.0_dp
Jacob(2,4,i)=0.0_dp
Jacob(3,4,i)=0.0_dp
Jacob(4,4,i)=0.0_dp
end subroutine jacobian_channel_Req_rem