anchor.diff:      end do
       call recoverState(p,u,temp,Y,rho,rhou,rhoE)
       t=0d0
  -    dt=1d-7 ! TODO replace the good old 1d-7 with user input
       tNext=tInt
       iOut=0
       nRetry=0
  
positive.code:       y(i)=rho0(i)+dt/grid%v(i)*flowRho(i)
      end forall
      densityRHS=merge(1,0,any(ieee_is_nan(y).or.(.not.ieee_is_finite(y))))
    end function
    
    !> RHS of the energy equation in the form of a fix point problem
  
negative.code:     ! solution and residual scales
      pScale=max(maxval(p)-minval(p),maxval(0.5d0*rho*norm2(u,1)**2),1d0)
      uScale=max(maxval(norm2(u,1)),sqrt(2d0*pScale/minval(rho)))
      tempScale=max(maxval(temp)-minval(temp),pScale/minval(rho)/Rgas)
      rhoScale=maxval(rho)
      rhouScale=rhoScale*uScale
      rhoEScale=max(rhoScale*Rgas*tempScale,0.5d0*rhoScale*uScale**2)
      
      ! set tolerance and maximum number of iterations, and etc.
      call momentumEq%setTol(rhoScale*RTOL_MOMENTUM)
  