Scientific applications in nanoscience, combustion modeling, fusion energy simulations, climate modeling, and astrophysics are ripe for ripe for breakthrough science using very high-end computing. After introducing these scientific opportunities, we will discuss how petascale computing platforms can meet these applications requirements.The most effective approach to designing a computer architecture that can meet these scientific needs is to analyze the underlying algorithms of these applications, and then, working in partnership with vendors, design a system targeted to these algorithms. From this list of important scientific applications and underlying algorithms, several themes can be derived that drive the choice of a large-scale scientific computer system. These themes are for example (1) multi-physics, multi-scale calculations; (2) limited concurrency, requiring strong single-CPU performance; (3) reliance on key library routines such as ScaLAPACK and FFTs etc. We will discuss eight of these themes that appear to be universally essential for petascale systems for science. In the last part of the presentation, I will then discuss recent research in performance modeling and prediction at LBNL that will give us a better understanding of how to match future architectures to these themes, and thus hopefully will give us a key to petascale applications performance on petascale systems.