## 3 Experimental Rock Characterization Methods
### Numerical Flow Experiments  
Like other recent studies of sandstones and other lithologies (e.g., [36; 37; 38]), we used a voxel-based Digital Rock Physics approach for calculation of permeability of sample F3, applying this technique to sub-volumes of the segmented X-CT scan (Figure 4). The X-CT image of this sample was clipped into sub-volume cubes with 1.43 mm (200 voxels) to a side (Figure 5B), 84 sub-volumes in total being modelled. Permeability was calculated independently for flow parallel to each of the x, y, and z axes. This calculation was repeated for three different segmentation thresholds applied to the greyscale X-CT data, resulting in 756 simulations in total. The modelling software used was OpenFOAM v4.1 (The OpenFOAM Foundation Ltd., London, UK). The simpleFoam solver was used; this solves the Navier-Stokes Equations for single-phase incompressible flow. Pore-scale geometry was created using the following workflow:  
1. Creation of hexahedral meshes for each sub-volume, with every mesh cell directly conformed to a voxel in the X-CT scan. Scan resolution was 7.147 um, each sub-volume containing 8 million voxels, hence each hexahedral mesh also contained 8 million voxels. All six sides of the bounding box were set as wall-type boundary patches named \"Side\".
2. Cells that contained a solid voxel were removed from the mesh, leaving only pore space cells. Cell faces exposed by this operation were designated as wall-type boundary patches named \"Walls\"; these represent the internal boundary between pore space and the rock surface. Total porosity was calculated at this step.
3. Inlet and outlet boundary \"plates\" were added for flow distribution. These plates are analogous to the distribution plates used in rock core holders for experimental measurement of permeability. The boundary patches on these sides were modified to \"Inlet\" and \"Outlet\" so that appropriate flow boundaries could be applied. The remaining four external sides of the bounding box stay as no-flow patches named \"Side\".
4. Regions of pore space not connected to the inlet and outlet plates (i.e., disconnected pore bodies) could not contribute to flow through the sub-volume and were removed. Connected porosity was calculated at this step.
5. Steps 3 and 4 were repeated for flow along each axis.  
A constant flow velocity of 10 \({}^{12}\) m/s into the model domain was specified on the inlet patch, with a fixed pressure of 0 kPa specified at the outlet patch. Walls created when removing solid cells (step 2) were given a no-slip velocity boundary condition as they represent a solid surface at which velocity must be zero. Side walls were given a slip velocity boundary as they represent pore bodies which intersect the sub-volume bounding box. Boundary conditions for each field are listed in Table 4. No turbulence model was included, the inlet flow velocity being set to the specified very low value to ensure flow remained within the laminar regime. The simpleFoam solver was run for each sub-volume, flow direction, and segmentation threshold value until convergence criteria were satisfied.  
At this point, the average pressure at the inlet was measured and used in [PERSON]'s equation, along with the specified inlet flow velocity, outlet pressure, fluid viscosity, and dimensions of the sub-volume, to calculate the permeability of that sub-volume.