Monotone paths are useful in many engineering design applications. In this paper, we address the problem of answering monotone descent path queries on terrains that are continually changing. A terrain can be represented by a unique contour tree. Such a contour tree belongs to a class of graphs called arbitrarily directed trees (ADTs). Let T be an ADT with n nodes. In this paper, we present a new linear time preprocessing algorithm for decomposing a static ADT T into a forest F, with which we can answer lowest common descendent (LCA) queries in O(1) time. This is useful in answering monotone path queries on the corresponding terrain. We show how to maintain this data structure, and thereby answer LCA queries efficiently, for dynamic ADTs. We also show how to maintain the data structure of dynamic terrains, while simultaneously maintaining the corresponding contour tree. This allows us to efficiently answer monotone path queries between any two points on dynamic terrains.