external forcing function