Simulating turbulent smoke flows is computationally intensive due to their intrinsic multiscale behavior, thus requiring relatively high resolution grids to fully capture their complexity. For iterative editing or simply faster generation of smoke flows, dynamic upsampling of an input low-resolution numerical simulation is an attractive, yet currently unattainable goal. In this paper, we propose a novel dictionary-based learning approach to the dynamic upsampling of smoke flows. For each frame of an input coarse animation, we seek a sparse representation of small, local velocity patches of the flow based on an over-complete dictionary, and use the resulting sparse coefficients to generate a high-resolution smoke animation sequence. We propose a novel dictionary-based neural network which learns both a fast evaluation of sparse patch encoding and a dictionary of corresponding coarse and fine patches from a sequence of example simulations computed with any numerical solver. Our upsampling network then injects into coarse input sequences physics-driven fine details, unlike most previous approaches that only employed fast procedural models to add high frequency to the input. We present a variety of upsampling results for smoke flows and offer comparisons to their corresponding high-resolution simulations to demonstrate the effectiveness of our approach.