  Scientific datasets are known for their challenging storage demands and the
associated processing pipelines that transform their information. Some of those
processing tasks include filtering, cleansing, aggregation, normalization, and
data format translation -- all of which generate even more data. In this paper,
we present an infrastructure for the HDF5 file format that enables dataset
values to be populated on the fly: task-related scripts can be attached into
HDF5 files and only execute when the dataset is read by an application. We
provide details on the software architecture that supports user-defined
functions (UDFs) and how it integrates with hardware accelerators and
computational storage. Moreover, we describe the built-in security model that
limits the system resources a UDF can access. Last, we present several use
cases that show how UDFs can be used to extend scientific datasets in ways that
go beyond the original scope of this work.
