and with IO functionality. This can be used for "fields" like g which can then be looked up in boundary conditions.