diff --git a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/Netcdf.java b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/Netcdf.java
index 65f9f2dea8da66e0d8c7349e869b2ca5f271c8ce..1a5b58cfec4b805dc0fa64b6d948a7eacb657e6e 100644
--- a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/Netcdf.java
+++ b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/Netcdf.java
@@ -18,7 +18,7 @@ import gov.usgs.earthquake.nshmp.netcdf.reader.Reader;
  *
  * @author U.S. Geological Survey
  */
-public abstract class Netcdf<T> {
+public abstract class Netcdf<T> implements Comparable<Netcdf<T>> {
 
   protected final Path netcdfPath;
   protected final NetcdfData netcdfData;
@@ -84,5 +84,11 @@ public abstract class Netcdf<T> {
    */
   public abstract T staticData(Location site, NehrpSiteClass siteClass);
 
+  @Override
+  public int compareTo(Netcdf<T> that) {
+    return this.netcdfData().scienceBaseMetadata().label
+        .compareTo(that.netcdfData().scienceBaseMetadata().label);
+  }
+
   abstract Reader getNetcdfData(Path netcdfPath);
 }