diff --git a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/Metadata.java b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/Metadata.java
index c228a0b1223ea92d2b75d1ed60b817ab0d4e7e53..7738467e6eaa513ae381778603f88ebcdf21360b 100644
--- a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/Metadata.java
+++ b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/Metadata.java
@@ -1,12 +1,10 @@
 package gov.usgs.earthquake.nshmp.netcdf.www;
 
-import gov.usgs.earthquake.nshmp.gmm.Imt;
+import java.util.List;
+
 import gov.usgs.earthquake.nshmp.gmm.NehrpSiteClass;
-import gov.usgs.earthquake.nshmp.netcdf.Netcdf;
-import gov.usgs.earthquake.nshmp.netcdf.data.ScienceBaseMetadata;
 import gov.usgs.earthquake.nshmp.netcdf.www.NetcdfService.SourceModel;
 import gov.usgs.earthquake.nshmp.netcdf.www.Request.RequestData;
-import gov.usgs.earthquake.nshmp.netcdf.www.Request.RequestDataImt;
 import gov.usgs.earthquake.nshmp.netcdf.www.Request.RequestDataSiteClass;
 import gov.usgs.earthquake.nshmp.netcdf.www.meta.DoubleParameter;
 
@@ -20,14 +18,10 @@ import io.micronaut.http.HttpRequest;
 public class Metadata<T extends Query> {
   public final String description;
   public final String[] syntax;
-  public final SourceModel model;
-  public final DoubleParameter longitude;
-  public final DoubleParameter latitude;
+  public final List<SourceModel> models;
   public final DoubleParameter vs30;
-  public final NetcdfMetadata netcdfMetadata;
 
   Metadata(HttpRequest<?> request, NetcdfService<T> netcdfService, String description) {
-    var netcdf = netcdfService.netcdf();
     var url = request.getUri().toString();
     url = url.endsWith("/") ? url.substring(0, url.length() - 1) : url;
     this.description = description;
@@ -38,37 +32,13 @@ public class Metadata<T extends Query> {
         url + "?longitude={number}&latitude={number}&siteClass={NehrpSiteClass}",
     };
 
-    var min = netcdf.netcdfData().minimumBounds();
-    var max = netcdf.netcdfData().maximumBounds();
+    models = netcdfService.getSourceModels();
 
-    longitude = new DoubleParameter(
-        "Longitude",
-        "°",
-        min.longitude,
-        max.longitude);
-    latitude = new DoubleParameter(
-        "Latitude",
-        "°",
-        min.latitude,
-        max.latitude);
-    model = netcdfService.getSourceModel();
     vs30 = new DoubleParameter(
         "Vs30",
         "m/s",
         150,
         1500);
-    netcdfMetadata = new NetcdfMetadata(netcdf);
-  }
-
-  class NetcdfMetadata {
-    public final String netcdfFile;
-    public final ScienceBaseMetadata scienceBaseMetadata;
-
-    NetcdfMetadata(Netcdf<?> netcdf) {
-      var fileName = netcdf.netcdfPath().getFileName();
-      netcdfFile = fileName == null ? netcdf.netcdfPath().toString() : fileName.toString();
-      scienceBaseMetadata = netcdf.netcdfData().scienceBaseMetadata();
-    }
   }
 
   interface ServiceMetadata {
@@ -94,18 +64,4 @@ public class Metadata<T extends Query> {
       return new RequestDataSiteClass(requestData.site, siteClass, requestData.format);
     }
   }
-
-  static class HazardResponseMetadata extends ServiceResponseMetadata {
-    public final Imt imt;
-
-    HazardResponseMetadata(NehrpSiteClass siteClass, Imt imt, String xLabel, String yLabel) {
-      super(siteClass, xLabel, yLabel);
-      this.imt = imt;
-    }
-
-    @Override
-    public RequestDataImt toRequestMetadata(RequestData requestData) {
-      return new RequestDataImt(requestData.site, siteClass, imt, requestData.format);
-    }
-  }
 }