Shallow geothermal reservoirs are excellent candidates for low-enthalpy energy storage, and can serve as heat batteries providing constant discharge of base heat, as well as rapid discharge of heat in periods of high demand. Recharging can be done by pumping down hot water, heated using excess heat from e.g. waste incinerators. In addition to having a very low carbon footprint, such systems also require limited surface infrastructure, and can easily be placed near or under the end-user, such as below residential buildings. The geological setting is typically complex, with horizons, faults, and intertwined patterns of natural fractures, and the nearwell region is often hydraulically fractured to enhance inter-well communication. Therefore, in order to fully utilize the potential of shallow geothermal heat storage, numerical simulations are imperative. In this work, we show how to practically model such systems, including generation of computational grids with a large number of wells and fractures, numerical discretizations with discrete fractures, and complex storage strategies with multiple wells working together under common group targets. We also discuss how adjoint-based methods can be used to tune model parameters (e.g. well injectivities, rock properties, and hydraulic fracture conductivities) so that the model fits observed data, and to find well controls (e.g. rates and temperatures) that optimize storage operations. The methodology is demonstrated using one artificial and two real underground thermal energy storage projects currently under development, and we highlight important challenges and our suggested solutions related to each of them. Thematic collection: This article is part of the Earth as a thermal battery: future directions in subsurface thermal energy storage systems collection available at: https://www.lyellcollection.org/topic/collections/thermal-energy