diff --git a/catalog/CooperMcKenzie/collection.json b/catalog/CooperMcKenzie/collection.json
index 576c38082c1a5ca758d7d16f64902caf0a0d1502..d93187d5e57656041a89843c276d33bc917b0df2 100644
--- a/catalog/CooperMcKenzie/collection.json
+++ b/catalog/CooperMcKenzie/collection.json
@@ -204,7 +204,7 @@
     },
     "crs": {
       "dimensions": [],
-      "type": "data",
+      "type": "auxiliary",
       "description": null,
       "unit": null
     },
diff --git a/catalog/CooperUpperDeschutes/collection.json b/catalog/CooperUpperDeschutes/collection.json
index 41d38046e5b634739bcff06703379d013a26b7b6..235464c5d873c66c0b73fa70ba73483aa332bce9 100644
--- a/catalog/CooperUpperDeschutes/collection.json
+++ b/catalog/CooperUpperDeschutes/collection.json
@@ -304,7 +304,7 @@
     },
     "crs": {
       "dimensions": [],
-      "type": "data",
+      "type": "auxiliary",
       "description": null,
       "unit": null
     },
diff --git a/catalog/Red_River_MPI-ESM-LR_future/collection.json b/catalog/Red_River_MPI-ESM-LR_future/collection.json
index 9efdaea1335943be5167b10186ec4954615467b9..32fa32881ed3d6f6d0716a53c6bbd9f8e6d51a55 100644
--- a/catalog/Red_River_MPI-ESM-LR_future/collection.json
+++ b/catalog/Red_River_MPI-ESM-LR_future/collection.json
@@ -37,7 +37,7 @@
         269.95
       ],
       "step": 0.1,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"Unknown based on WGS 84 ellipsoid\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563,\"id\":{\"authority\":\"EPSG\",\"code\":7030}}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]},\"remarks\":\"PROJ CRS string: +proj=longlat +ellps=WGS84 +no_defs +lon_wrap=180\"}"
     },
     "lat": {
       "type": "spatial",
@@ -48,7 +48,7 @@
         39.95
       ],
       "step": 0.1,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"Unknown based on WGS 84 ellipsoid\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563,\"id\":{\"authority\":\"EPSG\",\"code\":7030}}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]},\"remarks\":\"PROJ CRS string: +proj=longlat +ellps=WGS84 +no_defs +lon_wrap=180\"}"
     },
     "bnds": {
       "type": "count",
@@ -638,9 +638,9 @@
     "spatial": {
       "bbox": [
         [
-          251.05,
+          -108.94999999999999,
           26.05,
-          269.95,
+          -90.05,
           39.95
         ]
       ]
diff --git a/catalog/Red_River_MPI-ESM-LR_historical/collection.json b/catalog/Red_River_MPI-ESM-LR_historical/collection.json
index c3bafb1b79aaea161e76d4e905284a3a4417b53e..6f8471be7807642f8f405a637ece12cda3ae26e2 100644
--- a/catalog/Red_River_MPI-ESM-LR_historical/collection.json
+++ b/catalog/Red_River_MPI-ESM-LR_historical/collection.json
@@ -37,7 +37,7 @@
         269.95
       ],
       "step": 0.1,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"Unknown based on WGS 84 ellipsoid\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563,\"id\":{\"authority\":\"EPSG\",\"code\":7030}}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]},\"remarks\":\"PROJ CRS string: +proj=longlat +ellps=WGS84 +no_defs +lon_wrap=180\"}"
     },
     "lat": {
       "type": "spatial",
@@ -48,7 +48,7 @@
         39.95
       ],
       "step": 0.1,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"Unknown based on WGS 84 ellipsoid\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563,\"id\":{\"authority\":\"EPSG\",\"code\":7030}}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]},\"remarks\":\"PROJ CRS string: +proj=longlat +ellps=WGS84 +no_defs +lon_wrap=180\"}"
     },
     "bnds": {
       "type": "count",
@@ -278,9 +278,9 @@
     "spatial": {
       "bbox": [
         [
-          251.05,
+          -108.94999999999999,
           26.05,
-          269.95,
+          -90.05,
           39.95
         ]
       ]
diff --git a/catalog/Red_River_future/collection.json b/catalog/Red_River_future/collection.json
index eb35533c0dab2f04c89d69ca458c50bb31623873..d4d6ca82e0f4a5769fa6507e0ff0ba5136030b64 100644
--- a/catalog/Red_River_future/collection.json
+++ b/catalog/Red_River_future/collection.json
@@ -37,7 +37,7 @@
         269.95
       ],
       "step": 0.1,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"Unknown based on WGS 84 ellipsoid\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563,\"id\":{\"authority\":\"EPSG\",\"code\":7030}}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]},\"remarks\":\"PROJ CRS string: +proj=longlat +ellps=WGS84 +no_defs +lon_wrap=180\"}"
     },
     "lat": {
       "type": "spatial",
@@ -48,7 +48,7 @@
         39.95
       ],
       "step": 0.1,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"Unknown based on WGS 84 ellipsoid\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563,\"id\":{\"authority\":\"EPSG\",\"code\":7030}}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]},\"remarks\":\"PROJ CRS string: +proj=longlat +ellps=WGS84 +no_defs +lon_wrap=180\"}"
     },
     "bnds": {
       "type": "count",
@@ -1168,9 +1168,9 @@
     "spatial": {
       "bbox": [
         [
-          251.05,
+          -108.94999999999999,
           26.05,
-          269.95,
+          -90.05,
           39.95
         ]
       ]
diff --git a/catalog/Red_River_historical/collection.json b/catalog/Red_River_historical/collection.json
index f5f815f42c7939105fdfa5711bce256f240108f7..e2bd2b9868b8fbf8c15a318252c5974dd46bb435 100644
--- a/catalog/Red_River_historical/collection.json
+++ b/catalog/Red_River_historical/collection.json
@@ -37,7 +37,7 @@
         269.95
       ],
       "step": 0.1,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"Unknown based on WGS 84 ellipsoid\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563,\"id\":{\"authority\":\"EPSG\",\"code\":7030}}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]},\"remarks\":\"PROJ CRS string: +proj=longlat +ellps=WGS84 +no_defs +lon_wrap=180\"}"
     },
     "lat": {
       "type": "spatial",
@@ -48,7 +48,7 @@
         39.95
       ],
       "step": 0.1,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"Unknown based on WGS 84 ellipsoid\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563,\"id\":{\"authority\":\"EPSG\",\"code\":7030}}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]},\"remarks\":\"PROJ CRS string: +proj=longlat +ellps=WGS84 +no_defs +lon_wrap=180\"}"
     },
     "bnds": {
       "type": "count",
@@ -458,9 +458,9 @@
     "spatial": {
       "bbox": [
         [
-          251.05,
+          -108.94999999999999,
           26.05,
-          269.95,
+          -90.05,
           39.95
         ]
       ]
diff --git a/catalog/TTU_2019_rcp45_gridded_annual/collection.json b/catalog/TTU_2019_rcp45_gridded_annual/collection.json
index 76672c22eba54d417403b39500c885af31cfb023..6ad26e12593ae784e1f6367498c186a9ba8ba02a 100644
--- a/catalog/TTU_2019_rcp45_gridded_annual/collection.json
+++ b/catalog/TTU_2019_rcp45_gridded_annual/collection.json
@@ -320,7 +320,7 @@
     },
     "crs": {
       "dimensions": [],
-      "type": "data",
+      "type": "auxiliary",
       "description": null,
       "unit": null
     },
diff --git a/catalog/TTU_2019_rcp45_station_data/collection.json b/catalog/TTU_2019_rcp45_station_data/collection.json
index 66e6647f221c194452f0f4e608c74fb041b8bd43..e011ce6d0693f74ab5371cea86cb554a30a551d5 100644
--- a/catalog/TTU_2019_rcp45_station_data/collection.json
+++ b/catalog/TTU_2019_rcp45_station_data/collection.json
@@ -68,7 +68,7 @@
     },
     "crs": {
       "dimensions": [],
-      "type": "data",
+      "type": "auxiliary",
       "description": null,
       "unit": null
     },
diff --git a/catalog/TTU_2019_rcp45_time_slices/collection.json b/catalog/TTU_2019_rcp45_time_slices/collection.json
index f61855bd8441490d953f6d75608cc36e58832302..92971f57e9e2f123078e692a79e59f0fa36a1411 100644
--- a/catalog/TTU_2019_rcp45_time_slices/collection.json
+++ b/catalog/TTU_2019_rcp45_time_slices/collection.json
@@ -80,7 +80,7 @@
     },
     "crs": {
       "dimensions": [],
-      "type": "data",
+      "type": "auxiliary",
       "description": null,
       "unit": null
     },
diff --git a/catalog/TTU_2019_rcp85_gridded_annual/collection.json b/catalog/TTU_2019_rcp85_gridded_annual/collection.json
index 1ce3aed4586d395db66e25f4cf97d31477f9810f..689b2443dc5f00849b22005c7aa772b0d11a8ead 100644
--- a/catalog/TTU_2019_rcp85_gridded_annual/collection.json
+++ b/catalog/TTU_2019_rcp85_gridded_annual/collection.json
@@ -320,7 +320,7 @@
     },
     "crs": {
       "dimensions": [],
-      "type": "data",
+      "type": "auxiliary",
       "description": null,
       "unit": null
     },
diff --git a/catalog/TTU_2019_rcp85_station_data/collection.json b/catalog/TTU_2019_rcp85_station_data/collection.json
index eb6782d626a5c831ff2b32c1bd52a84154d06839..32beafd9d395d6750be30d7c203dacc751a2d954 100644
--- a/catalog/TTU_2019_rcp85_station_data/collection.json
+++ b/catalog/TTU_2019_rcp85_station_data/collection.json
@@ -68,7 +68,7 @@
     },
     "crs": {
       "dimensions": [],
-      "type": "data",
+      "type": "auxiliary",
       "description": null,
       "unit": null
     },
diff --git a/catalog/TTU_2019_rcp85_time_slices/collection.json b/catalog/TTU_2019_rcp85_time_slices/collection.json
index 95cc8bb6102d8b5281c0d186cd97d361d7c6796a..b1dcad867421c8fc17f8ea29bd77c3412542eba0 100644
--- a/catalog/TTU_2019_rcp85_time_slices/collection.json
+++ b/catalog/TTU_2019_rcp85_time_slices/collection.json
@@ -80,7 +80,7 @@
     },
     "crs": {
       "dimensions": [],
-      "type": "data",
+      "type": "auxiliary",
       "description": null,
       "unit": null
     },
diff --git a/catalog/alaska_et_2020_ccsm4_historical_simulation/collection.json b/catalog/alaska_et_2020_ccsm4_historical_simulation/collection.json
index b6d76ce2830ad6f9e58c09130fab0db3d7de8202..3e7c0288049705c54b32555c17fec0c3d95744e4 100644
--- a/catalog/alaska_et_2020_ccsm4_historical_simulation/collection.json
+++ b/catalog/alaska_et_2020_ccsm4_historical_simulation/collection.json
@@ -37,7 +37,7 @@
         2610000.0
       ],
       "step": 20000.0,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"Conversion\",\"name\":\"PROJ-based coordinate operation\",\"method\":{\"name\":\"PROJ-based operation method: +proj=stere +lat_0=90 +lat_ts=64 +lon_0=-152 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs\"},\"parameters\":[]}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unnamed\",\"base_crs\":{\"name\":\"WGS 84\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"World Geodetic System 1984\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Geodetic latitude\",\"abbreviation\":\"Lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Geodetic longitude\",\"abbreviation\":\"Lon\",\"direction\":\"east\",\"unit\":\"degree\"}]},\"id\":{\"authority\":\"EPSG\",\"code\":4326}},\"conversion\":{\"name\":\"unnamed\",\"method\":{\"name\":\"Polar Stereographic (variant B)\",\"id\":{\"authority\":\"EPSG\",\"code\":9829}},\"parameters\":[{\"name\":\"Latitude of standard parallel\",\"value\":64,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8832}},{\"name\":\"Longitude of origin\",\"value\":-152,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8833}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"south\",\"meridian\":{\"longitude\":90},\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"south\",\"meridian\":{\"longitude\":180},\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1}}]}}"
     },
     "y": {
       "type": "spatial",
@@ -48,10 +48,20 @@
         -193582.29059999995
       ],
       "step": 20000.0,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"Conversion\",\"name\":\"PROJ-based coordinate operation\",\"method\":{\"name\":\"PROJ-based operation method: +proj=stere +lat_0=90 +lat_ts=64 +lon_0=-152 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs\"},\"parameters\":[]}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unnamed\",\"base_crs\":{\"name\":\"WGS 84\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"World Geodetic System 1984\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Geodetic latitude\",\"abbreviation\":\"Lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Geodetic longitude\",\"abbreviation\":\"Lon\",\"direction\":\"east\",\"unit\":\"degree\"}]},\"id\":{\"authority\":\"EPSG\",\"code\":4326}},\"conversion\":{\"name\":\"unnamed\",\"method\":{\"name\":\"Polar Stereographic (variant B)\",\"id\":{\"authority\":\"EPSG\",\"code\":9829}},\"parameters\":[{\"name\":\"Latitude of standard parallel\",\"value\":64,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8832}},{\"name\":\"Longitude of origin\",\"value\":-152,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8833}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"south\",\"meridian\":{\"longitude\":90},\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"south\",\"meridian\":{\"longitude\":180},\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1}}]}}"
     }
   },
   "cube:variables": {
+    "et0": {
+      "dimensions": [
+        "time",
+        "y",
+        "x"
+      ],
+      "type": "data",
+      "description": "Reference Evapotranspiration",
+      "unit": "mm"
+    },
     "lat": {
       "dimensions": [
         "y",
@@ -70,19 +80,9 @@
       "description": "longitude",
       "unit": "degrees_east"
     },
-    "et0": {
-      "dimensions": [
-        "time",
-        "y",
-        "x"
-      ],
-      "type": "data",
-      "description": "Reference Evapotranspiration",
-      "unit": "mm"
-    },
     "polar_stereographic": {
       "dimensions": [],
-      "type": "data",
+      "type": "auxiliary",
       "description": "CRS definition",
       "unit": null
     }
diff --git a/catalog/alaska_et_2020_era-interim_reanalysis/collection.json b/catalog/alaska_et_2020_era-interim_reanalysis/collection.json
index 367f5578ed4af8b2e9ca63fdc923c4a69038a05b..c0ad8f978644d4cb40bb3de4fac6e78642684a79 100644
--- a/catalog/alaska_et_2020_era-interim_reanalysis/collection.json
+++ b/catalog/alaska_et_2020_era-interim_reanalysis/collection.json
@@ -37,7 +37,7 @@
         2610000.0
       ],
       "step": 20000.0,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"Conversion\",\"name\":\"PROJ-based coordinate operation\",\"method\":{\"name\":\"PROJ-based operation method: +proj=stere +lat_0=90 +lat_ts=64 +lon_0=-152 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs\"},\"parameters\":[]}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unnamed\",\"base_crs\":{\"name\":\"WGS 84\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"World Geodetic System 1984\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Geodetic latitude\",\"abbreviation\":\"Lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Geodetic longitude\",\"abbreviation\":\"Lon\",\"direction\":\"east\",\"unit\":\"degree\"}]},\"id\":{\"authority\":\"EPSG\",\"code\":4326}},\"conversion\":{\"name\":\"unnamed\",\"method\":{\"name\":\"Polar Stereographic (variant B)\",\"id\":{\"authority\":\"EPSG\",\"code\":9829}},\"parameters\":[{\"name\":\"Latitude of standard parallel\",\"value\":64,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8832}},{\"name\":\"Longitude of origin\",\"value\":-152,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8833}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"south\",\"meridian\":{\"longitude\":90},\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"south\",\"meridian\":{\"longitude\":180},\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1}}]}}"
     },
     "y": {
       "type": "spatial",
@@ -48,10 +48,20 @@
         -193582.29059999995
       ],
       "step": 20000.0,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"Conversion\",\"name\":\"PROJ-based coordinate operation\",\"method\":{\"name\":\"PROJ-based operation method: +proj=stere +lat_0=90 +lat_ts=64 +lon_0=-152 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs\"},\"parameters\":[]}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unnamed\",\"base_crs\":{\"name\":\"WGS 84\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"World Geodetic System 1984\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Geodetic latitude\",\"abbreviation\":\"Lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Geodetic longitude\",\"abbreviation\":\"Lon\",\"direction\":\"east\",\"unit\":\"degree\"}]},\"id\":{\"authority\":\"EPSG\",\"code\":4326}},\"conversion\":{\"name\":\"unnamed\",\"method\":{\"name\":\"Polar Stereographic (variant B)\",\"id\":{\"authority\":\"EPSG\",\"code\":9829}},\"parameters\":[{\"name\":\"Latitude of standard parallel\",\"value\":64,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8832}},{\"name\":\"Longitude of origin\",\"value\":-152,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8833}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"south\",\"meridian\":{\"longitude\":90},\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"south\",\"meridian\":{\"longitude\":180},\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1}}]}}"
     }
   },
   "cube:variables": {
+    "et0": {
+      "dimensions": [
+        "time",
+        "y",
+        "x"
+      ],
+      "type": "data",
+      "description": "Reference Evapotranspiration",
+      "unit": "mm"
+    },
     "lat": {
       "dimensions": [
         "y",
@@ -70,19 +80,9 @@
       "description": "longitude",
       "unit": "degrees_east"
     },
-    "et0": {
-      "dimensions": [
-        "time",
-        "y",
-        "x"
-      ],
-      "type": "data",
-      "description": "Reference Evapotranspiration",
-      "unit": "mm"
-    },
     "polar_stereographic": {
       "dimensions": [],
-      "type": "data",
+      "type": "auxiliary",
       "description": "CRS definition",
       "unit": null
     }
diff --git a/catalog/alaska_et_2020_gfdl_historical_simulation/collection.json b/catalog/alaska_et_2020_gfdl_historical_simulation/collection.json
index a1c33b7589906e942bf9ba45f2190ff6771696ab..c2da734be63d5939da353dc2689d4372983e5dd7 100644
--- a/catalog/alaska_et_2020_gfdl_historical_simulation/collection.json
+++ b/catalog/alaska_et_2020_gfdl_historical_simulation/collection.json
@@ -37,7 +37,7 @@
         2610000.0
       ],
       "step": 20000.0,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"Conversion\",\"name\":\"PROJ-based coordinate operation\",\"method\":{\"name\":\"PROJ-based operation method: +proj=stere +lat_0=90 +lat_ts=64 +lon_0=-152 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs\"},\"parameters\":[]}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unnamed\",\"base_crs\":{\"name\":\"WGS 84\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"World Geodetic System 1984\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Geodetic latitude\",\"abbreviation\":\"Lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Geodetic longitude\",\"abbreviation\":\"Lon\",\"direction\":\"east\",\"unit\":\"degree\"}]},\"id\":{\"authority\":\"EPSG\",\"code\":4326}},\"conversion\":{\"name\":\"unnamed\",\"method\":{\"name\":\"Polar Stereographic (variant B)\",\"id\":{\"authority\":\"EPSG\",\"code\":9829}},\"parameters\":[{\"name\":\"Latitude of standard parallel\",\"value\":64,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8832}},{\"name\":\"Longitude of origin\",\"value\":-152,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8833}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"south\",\"meridian\":{\"longitude\":90},\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"south\",\"meridian\":{\"longitude\":180},\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1}}]}}"
     },
     "y": {
       "type": "spatial",
@@ -48,10 +48,20 @@
         -193582.29059999995
       ],
       "step": 20000.0,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"Conversion\",\"name\":\"PROJ-based coordinate operation\",\"method\":{\"name\":\"PROJ-based operation method: +proj=stere +lat_0=90 +lat_ts=64 +lon_0=-152 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs\"},\"parameters\":[]}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unnamed\",\"base_crs\":{\"name\":\"WGS 84\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"World Geodetic System 1984\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Geodetic latitude\",\"abbreviation\":\"Lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Geodetic longitude\",\"abbreviation\":\"Lon\",\"direction\":\"east\",\"unit\":\"degree\"}]},\"id\":{\"authority\":\"EPSG\",\"code\":4326}},\"conversion\":{\"name\":\"unnamed\",\"method\":{\"name\":\"Polar Stereographic (variant B)\",\"id\":{\"authority\":\"EPSG\",\"code\":9829}},\"parameters\":[{\"name\":\"Latitude of standard parallel\",\"value\":64,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8832}},{\"name\":\"Longitude of origin\",\"value\":-152,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8833}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"south\",\"meridian\":{\"longitude\":90},\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"south\",\"meridian\":{\"longitude\":180},\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Meter\",\"conversion_factor\":1}}]}}"
     }
   },
   "cube:variables": {
+    "et0": {
+      "dimensions": [
+        "time",
+        "y",
+        "x"
+      ],
+      "type": "data",
+      "description": "Reference Evapotranspiration",
+      "unit": "mm"
+    },
     "lat": {
       "dimensions": [
         "y",
@@ -70,19 +80,9 @@
       "description": "longitude",
       "unit": "degrees_east"
     },
-    "et0": {
-      "dimensions": [
-        "time",
-        "y",
-        "x"
-      ],
-      "type": "data",
-      "description": "Reference Evapotranspiration",
-      "unit": "mm"
-    },
     "polar_stereographic": {
       "dimensions": [],
-      "type": "data",
+      "type": "auxiliary",
       "description": "CRS definition",
       "unit": null
     }
diff --git a/catalog/cprep_tasmax_day_I35txdetrp1-DeltaSD-A12L01K00_rcp26_r6i1p1_I35Land_20060101-20991231/collection.json b/catalog/cprep_tasmax_day_I35txdetrp1-DeltaSD-A12L01K00_rcp26_r6i1p1_I35Land_20060101-20991231/collection.json
index 35865b4da14e797feea92ab1d654e525e4cce5dd..95c80fe298bb51db8e5363ca8eec2c821e283b6b 100644
--- a/catalog/cprep_tasmax_day_I35txdetrp1-DeltaSD-A12L01K00_rcp26_r6i1p1_I35Land_20060101-20991231/collection.json
+++ b/catalog/cprep_tasmax_day_I35txdetrp1-DeltaSD-A12L01K00_rcp26_r6i1p1_I35Land_20060101-20991231/collection.json
@@ -30,14 +30,14 @@
     },
     "lon": {
       "type": "spatial",
-      "description": "longitude",
       "axis": "x",
+      "description": "longitude",
       "extent": [
         251.05,
         269.95
       ],
       "step": 0.1,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"Unknown based on WGS 84 ellipsoid\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563,\"id\":{\"authority\":\"EPSG\",\"code\":7030}}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]},\"remarks\":\"PROJ CRS string: +proj=longlat +ellps=WGS84 +lon_wrap=180 +no_defs\"}"
     },
     "lat": {
       "type": "spatial",
@@ -48,7 +48,7 @@
         39.95
       ],
       "step": 0.1,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"Unknown based on WGS 84 ellipsoid\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563,\"id\":{\"authority\":\"EPSG\",\"code\":7030}}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]},\"remarks\":\"PROJ CRS string: +proj=longlat +ellps=WGS84 +lon_wrap=180 +no_defs\"}"
     },
     "bnds": {
       "type": "count",
@@ -60,6 +60,12 @@
     }
   },
   "cube:variables": {
+    "crs": {
+      "dimensions": [],
+      "type": "auxiliary",
+      "description": null,
+      "unit": null
+    },
     "height": {
       "dimensions": [],
       "type": "data",
@@ -120,9 +126,9 @@
     "spatial": {
       "bbox": [
         [
-          251.05,
+          -108.94999999999999,
           26.05,
-          269.95,
+          -90.05,
           39.95
         ]
       ]
@@ -136,7 +142,7 @@
       ]
     }
   },
-  "license": "CC0-1.0",
+  "license": "Unlicense",
   "assets": {
     "zarr-s3-osn": {
       "href": "s3://mdmf/gdp/cprep/cprep_tasmax_day_I35txdetrp1-DeltaSD-A12L01K00_rcp26_r6i1p1_I35Land_20060101-20991231.zarr/",
diff --git a/catalog/iclus_hc/collection.json b/catalog/iclus_hc/collection.json
index 20a6c218ffdf15264074e75ab3588e194229b64f..66a79f91f9e10b6cb542e3c75f2dbb15e41fef78 100644
--- a/catalog/iclus_hc/collection.json
+++ b/catalog/iclus_hc/collection.json
@@ -28,7 +28,7 @@
         2258235.90913645
       ],
       "step": 100.0,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.6/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"undefined\",\"base_crs\":{\"name\":\"undefined\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"undefined\",\"ellipsoid\":{\"name\":\"undefined\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257222101},\"prime_meridian\":{\"name\":\"undefined\",\"longitude\":0}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Albers Equal Area\",\"id\":{\"authority\":\"EPSG\",\"code\":9822}},\"parameters\":[{\"name\":\"Latitude of false origin\",\"value\":23,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8821}},{\"name\":\"Longitude of false origin\",\"value\":-95.9999999999999,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8822}},{\"name\":\"Latitude of 1st standard parallel\",\"value\":29.5,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of 2nd standard parallel\",\"value\":45.5,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8824}},{\"name\":\"Easting at false origin\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Metre\",\"conversion_factor\":1},\"id\":{\"authority\":\"EPSG\",\"code\":8826}},{\"name\":\"Northing at false origin\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Metre\",\"conversion_factor\":1},\"id\":{\"authority\":\"EPSG\",\"code\":8827}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":\"metre\"},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"undefined\",\"base_crs\":{\"name\":\"undefined\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"undefined\",\"ellipsoid\":{\"name\":\"undefined\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257222101},\"prime_meridian\":{\"name\":\"undefined\",\"longitude\":0}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Albers Equal Area\",\"id\":{\"authority\":\"EPSG\",\"code\":9822}},\"parameters\":[{\"name\":\"Latitude of false origin\",\"value\":23,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8821}},{\"name\":\"Longitude of false origin\",\"value\":-95.9999999999999,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8822}},{\"name\":\"Latitude of 1st standard parallel\",\"value\":29.5,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of 2nd standard parallel\",\"value\":45.5,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8824}},{\"name\":\"Easting at false origin\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Metre\",\"conversion_factor\":1},\"id\":{\"authority\":\"EPSG\",\"code\":8826}},{\"name\":\"Northing at false origin\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Metre\",\"conversion_factor\":1},\"id\":{\"authority\":\"EPSG\",\"code\":8827}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":\"metre\"},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":\"metre\"}]}}"
     },
     "y": {
       "type": "spatial",
@@ -39,13 +39,13 @@
         3172445.2073140107
       ],
       "step": -100.0,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.6/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"undefined\",\"base_crs\":{\"name\":\"undefined\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"undefined\",\"ellipsoid\":{\"name\":\"undefined\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257222101},\"prime_meridian\":{\"name\":\"undefined\",\"longitude\":0}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Albers Equal Area\",\"id\":{\"authority\":\"EPSG\",\"code\":9822}},\"parameters\":[{\"name\":\"Latitude of false origin\",\"value\":23,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8821}},{\"name\":\"Longitude of false origin\",\"value\":-95.9999999999999,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8822}},{\"name\":\"Latitude of 1st standard parallel\",\"value\":29.5,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of 2nd standard parallel\",\"value\":45.5,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8824}},{\"name\":\"Easting at false origin\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Metre\",\"conversion_factor\":1},\"id\":{\"authority\":\"EPSG\",\"code\":8826}},{\"name\":\"Northing at false origin\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Metre\",\"conversion_factor\":1},\"id\":{\"authority\":\"EPSG\",\"code\":8827}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":\"metre\"},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"undefined\",\"base_crs\":{\"name\":\"undefined\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"undefined\",\"ellipsoid\":{\"name\":\"undefined\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257222101},\"prime_meridian\":{\"name\":\"undefined\",\"longitude\":0}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Albers Equal Area\",\"id\":{\"authority\":\"EPSG\",\"code\":9822}},\"parameters\":[{\"name\":\"Latitude of false origin\",\"value\":23,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8821}},{\"name\":\"Longitude of false origin\",\"value\":-95.9999999999999,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8822}},{\"name\":\"Latitude of 1st standard parallel\",\"value\":29.5,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of 2nd standard parallel\",\"value\":45.5,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8824}},{\"name\":\"Easting at false origin\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Metre\",\"conversion_factor\":1},\"id\":{\"authority\":\"EPSG\",\"code\":8826}},{\"name\":\"Northing at false origin\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"Metre\",\"conversion_factor\":1},\"id\":{\"authority\":\"EPSG\",\"code\":8827}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":\"metre\"},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":\"metre\"}]}}"
     }
   },
   "cube:variables": {
     "crs": {
       "dimensions": [],
-      "type": "data",
+      "type": "auxiliary",
       "description": null,
       "unit": null
     },
diff --git a/catalog/maca_vic_future/collection.json b/catalog/maca_vic_future/collection.json
index fc0cc24cff2eb0107af37684d6bcbabeaa5970a3..6153f9a2e8f3752cb4ae8a6a304cbe2bffd02a53 100644
--- a/catalog/maca_vic_future/collection.json
+++ b/catalog/maca_vic_future/collection.json
@@ -37,7 +37,7 @@
         250.21875
       ],
       "step": 0.0625,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"undefined\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"undefined\",\"ellipsoid\":{\"name\":\"undefined\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563},\"prime_meridian\":{\"name\":\"undefined\",\"longitude\":0}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]}}"
     },
     "lat": {
       "type": "spatial",
@@ -48,7 +48,7 @@
         52.84375
       ],
       "step": 0.0625,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"undefined\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"undefined\",\"ellipsoid\":{\"name\":\"undefined\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563},\"prime_meridian\":{\"name\":\"undefined\",\"longitude\":0}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]}}"
     }
   },
   "cube:variables": {
diff --git a/catalog/maca_vic_past/collection.json b/catalog/maca_vic_past/collection.json
index 48a96dd8211415c61d313e8fda745401205a4d9d..a98fbf0972cb10ec57e5b9d4ec7b9bb56bb2df47 100644
--- a/catalog/maca_vic_past/collection.json
+++ b/catalog/maca_vic_past/collection.json
@@ -37,7 +37,7 @@
         250.21875
       ],
       "step": 0.0625,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"undefined\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"undefined\",\"ellipsoid\":{\"name\":\"undefined\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563},\"prime_meridian\":{\"name\":\"undefined\",\"longitude\":0}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]}}"
     },
     "lat": {
       "type": "spatial",
@@ -48,7 +48,7 @@
         52.84375
       ],
       "step": 0.0625,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"undefined\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"undefined\",\"ellipsoid\":{\"name\":\"undefined\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563},\"prime_meridian\":{\"name\":\"undefined\",\"longitude\":0}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]}}"
     }
   },
   "cube:variables": {
diff --git a/catalog/macav2_future_daily/collection.json b/catalog/macav2_future_daily/collection.json
index 392fd7a661af9a53bd91fcc8b73c95b617c6abe3..f930d89cfc95ebd76b9fe26214917ac5b70d7276 100644
--- a/catalog/macav2_future_daily/collection.json
+++ b/catalog/macav2_future_daily/collection.json
@@ -37,7 +37,7 @@
         292.93524169921875
       ],
       "step": 0.0417,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"undefined\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"undefined\",\"ellipsoid\":{\"name\":\"undefined\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563},\"prime_meridian\":{\"name\":\"undefined\",\"longitude\":0}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]}}"
     },
     "lat": {
       "type": "spatial",
@@ -48,7 +48,7 @@
         49.39602279663086
       ],
       "step": 0.0417,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"undefined\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"undefined\",\"ellipsoid\":{\"name\":\"undefined\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563},\"prime_meridian\":{\"name\":\"undefined\",\"longitude\":0}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]}}"
     }
   },
   "cube:variables": {
diff --git a/catalog/macav2_future_monthly/collection.json b/catalog/macav2_future_monthly/collection.json
index ba52efd7a9219e4259f1e42df4185d7dd6d08253..436258b54b39103215d98531809af8fff871dd44 100644
--- a/catalog/macav2_future_monthly/collection.json
+++ b/catalog/macav2_future_monthly/collection.json
@@ -37,7 +37,7 @@
         292.93524169921875
       ],
       "step": 0.0417,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"undefined\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"undefined\",\"ellipsoid\":{\"name\":\"undefined\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563},\"prime_meridian\":{\"name\":\"undefined\",\"longitude\":0}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]}}"
     },
     "lat": {
       "type": "spatial",
@@ -48,7 +48,7 @@
         49.39602279663086
       ],
       "step": 0.0417,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"undefined\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"undefined\",\"ellipsoid\":{\"name\":\"undefined\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563},\"prime_meridian\":{\"name\":\"undefined\",\"longitude\":0}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]}}"
     }
   },
   "cube:variables": {
diff --git a/catalog/macav2_historical_daily/collection.json b/catalog/macav2_historical_daily/collection.json
index 2a370cdc4a95ada725d227effe0d6ed1bbca0dcd..d96820903ab43a68c98d4c382675f5e1f5b2933f 100644
--- a/catalog/macav2_historical_daily/collection.json
+++ b/catalog/macav2_historical_daily/collection.json
@@ -37,7 +37,7 @@
         292.93524169921875
       ],
       "step": 0.0417,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"undefined\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"undefined\",\"ellipsoid\":{\"name\":\"undefined\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563},\"prime_meridian\":{\"name\":\"undefined\",\"longitude\":0}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]}}"
     },
     "lat": {
       "type": "spatial",
@@ -48,7 +48,7 @@
         49.39602279663086
       ],
       "step": 0.0417,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"undefined\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"undefined\",\"ellipsoid\":{\"name\":\"undefined\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563},\"prime_meridian\":{\"name\":\"undefined\",\"longitude\":0}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]}}"
     }
   },
   "cube:variables": {
diff --git a/catalog/macav2_historical_monthly/collection.json b/catalog/macav2_historical_monthly/collection.json
index acb5530c59958392c66263dc044d547ed939d536..5c7d51f9fda26799aefee1f98102fdb65726690e 100644
--- a/catalog/macav2_historical_monthly/collection.json
+++ b/catalog/macav2_historical_monthly/collection.json
@@ -37,7 +37,7 @@
         292.93524169921875
       ],
       "step": 0.0417,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"undefined\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"undefined\",\"ellipsoid\":{\"name\":\"undefined\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563},\"prime_meridian\":{\"name\":\"undefined\",\"longitude\":0}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]}}"
     },
     "lat": {
       "type": "spatial",
@@ -48,7 +48,7 @@
         49.39602279663086
       ],
       "step": 0.0417,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"ProjectedCRS\",\"name\":\"unknown\",\"base_crs\":{\"name\":\"unknown\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"unknown\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}},\"conversion\":{\"name\":\"unknown\",\"method\":{\"name\":\"Equidistant Cylindrical\",\"id\":{\"authority\":\"EPSG\",\"code\":1028}},\"parameters\":[{\"name\":\"Latitude of 1st standard parallel\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8823}},{\"name\":\"Latitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8801}},{\"name\":\"Longitude of natural origin\",\"value\":0,\"unit\":\"degree\",\"id\":{\"authority\":\"EPSG\",\"code\":8802}},{\"name\":\"False easting\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8806}},{\"name\":\"False northing\",\"value\":0,\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274},\"id\":{\"authority\":\"EPSG\",\"code\":8807}}]},\"coordinate_system\":{\"subtype\":\"Cartesian\",\"axis\":[{\"name\":\"Easting\",\"abbreviation\":\"E\",\"direction\":\"east\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Northing\",\"abbreviation\":\"N\",\"direction\":\"north\",\"unit\":{\"type\":\"LinearUnit\",\"name\":\"unknown\",\"conversion_factor\":111319.490793274}},{\"name\":\"Ellipsoidal height\",\"abbreviation\":\"h\",\"direction\":\"up\",\"unit\":\"metre\"}]}}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"undefined\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"undefined\",\"ellipsoid\":{\"name\":\"undefined\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563},\"prime_meridian\":{\"name\":\"undefined\",\"longitude\":0}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Longitude\",\"abbreviation\":\"lon\",\"direction\":\"east\",\"unit\":\"degree\"},{\"name\":\"Latitude\",\"abbreviation\":\"lat\",\"direction\":\"north\",\"unit\":\"degree\"}]}}"
     }
   },
   "cube:variables": {
diff --git a/catalog/ssebopeta_monthly/collection.json b/catalog/ssebopeta_monthly/collection.json
index 340f8031f020619a566e1a2f7e8f9891f1918c49..0d27ceb9c40253e0bb5541b7df85a4d0f0a8493c 100644
--- a/catalog/ssebopeta_monthly/collection.json
+++ b/catalog/ssebopeta_monthly/collection.json
@@ -37,7 +37,7 @@
         -66.49649999999997
       ],
       "step": 0.009,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"Conversion\",\"name\":\"PROJ-based coordinate operation\",\"method\":{\"name\":\"PROJ-based operation method: +proj=longlat +datum=WGS84 +no_defs\"},\"parameters\":[]}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"WGS 84\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"World Geodetic System 1984\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Geodetic latitude\",\"abbreviation\":\"Lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Geodetic longitude\",\"abbreviation\":\"Lon\",\"direction\":\"east\",\"unit\":\"degree\"}]},\"id\":{\"authority\":\"EPSG\",\"code\":4326}}"
     },
     "lat": {
       "type": "spatial",
@@ -48,7 +48,7 @@
         49.495499999999986
       ],
       "step": 0.009,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"Conversion\",\"name\":\"PROJ-based coordinate operation\",\"method\":{\"name\":\"PROJ-based operation method: +proj=longlat +datum=WGS84 +no_defs\"},\"parameters\":[]}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"WGS 84\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"World Geodetic System 1984\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Geodetic latitude\",\"abbreviation\":\"Lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Geodetic longitude\",\"abbreviation\":\"Lon\",\"direction\":\"east\",\"unit\":\"degree\"}]},\"id\":{\"authority\":\"EPSG\",\"code\":4326}}"
     }
   },
   "cube:variables": {
@@ -56,7 +56,7 @@
       "dimensions": [
         "time"
       ],
-      "type": "data",
+      "type": "auxiliary",
       "description": "CRS definition",
       "unit": null
     },
diff --git a/catalog/ssebopeta_yearly/collection.json b/catalog/ssebopeta_yearly/collection.json
index d33656ec9a51a510d9ec7a8ef6746128ccf515d0..b153aaae408e119cdcab38e973ba2eb9e8b2536b 100644
--- a/catalog/ssebopeta_yearly/collection.json
+++ b/catalog/ssebopeta_yearly/collection.json
@@ -37,7 +37,7 @@
         -66.4965
       ],
       "step": 0.009,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"Conversion\",\"name\":\"PROJ-based coordinate operation\",\"method\":{\"name\":\"PROJ-based operation method: +proj=longlat +datum=WGS84 +no_defs\"},\"parameters\":[]}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"WGS 84\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"World Geodetic System 1984\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Geodetic latitude\",\"abbreviation\":\"Lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Geodetic longitude\",\"abbreviation\":\"Lon\",\"direction\":\"east\",\"unit\":\"degree\"}]},\"id\":{\"authority\":\"EPSG\",\"code\":4326}}"
     },
     "lat": {
       "type": "spatial",
@@ -48,7 +48,7 @@
         49.4955
       ],
       "step": 0.009,
-      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"Conversion\",\"name\":\"PROJ-based coordinate operation\",\"method\":{\"name\":\"PROJ-based operation method: +proj=longlat +datum=WGS84 +no_defs\"},\"parameters\":[]}"
+      "reference_system": "{\"$schema\":\"https://proj.org/schemas/v0.5/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\":\"WGS 84\",\"datum\":{\"type\":\"GeodeticReferenceFrame\",\"name\":\"World Geodetic System 1984\",\"ellipsoid\":{\"name\":\"WGS 84\",\"semi_major_axis\":6378137,\"inverse_flattening\":298.257223563}},\"coordinate_system\":{\"subtype\":\"ellipsoidal\",\"axis\":[{\"name\":\"Geodetic latitude\",\"abbreviation\":\"Lat\",\"direction\":\"north\",\"unit\":\"degree\"},{\"name\":\"Geodetic longitude\",\"abbreviation\":\"Lon\",\"direction\":\"east\",\"unit\":\"degree\"}]},\"id\":{\"authority\":\"EPSG\",\"code\":4326}}"
     }
   },
   "cube:variables": {
@@ -56,7 +56,7 @@
       "dimensions": [
         "time"
       ],
-      "type": "data",
+      "type": "auxiliary",
       "description": "CRS definition",
       "unit": null
     },
diff --git a/workflows/archive/CooperMcKenzie_create_collection_from_zarr.ipynb b/workflows/archive/CooperMcKenzie_create_collection_from_zarr.ipynb
index 3faef1b113de4c6960e51e0a136082a80bc1e676..82e72e2de068b1f3220314bf18c1f30a51f714aa 100644
--- a/workflows/archive/CooperMcKenzie_create_collection_from_zarr.ipynb
+++ b/workflows/archive/CooperMcKenzie_create_collection_from_zarr.ipynb
@@ -19,7 +19,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "201e0945-de55-45ff-b095-c2af009a4e62",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "import pystac\n",
@@ -132,7 +134,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "708f2cf5-79ab-49af-8067-de31d0d13ee6",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# open and view zarr dataset\n",
@@ -154,7 +158,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "482d204d-b5b6-40e5-ac42-55b459be1097",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# description of STAC collection\n",
@@ -188,7 +194,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ab91268f-7200-4cb1-979a-c7d75531d2c0",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "dims_auto_extract = ['X', 'Y', 'T']\n",
@@ -206,14 +214,34 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "7d3fab2f-61ab-4ada-a2a6-c07982795f1b",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
    "id": "b03d52f3-1367-4255-a561-52ee4fc9e92d",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
-    "crs = pyproj.CRS.from_cf(ds.crs.attrs)"
+    "# use pyproj to automatically extract crs info\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
+    "\n",
+    "# alternatively, create the appropriate cartopy projection\n",
+    "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
+    "#                             central_latitude=crs_info.latitude_of_projection_origin,\n",
+    "#                             standard_parallels=crs_info.standard_parallel)"
    ]
   },
   {
@@ -228,17 +256,21 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "38492a33-861e-46a3-8f0f-ceb7b2b5f42a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
-    "ds.crs"
+    "ds[crs_var]"
    ]
   },
   {
    "cell_type": "code",
    "execution_count": null,
    "id": "4ba255b8-b76b-4f8d-8907-cc5589221e66",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "crs.to_proj4()"
@@ -264,7 +296,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "d46805e0-8e94-4ebe-aa01-d9a2d7051459",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# pull out lat/lon bbox for data\n",
@@ -283,7 +317,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "c80c650f-6dc6-4e2d-869c-0e674f528520",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
@@ -293,7 +329,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "97fb5d51-ee5c-46d9-b256-6a5a51a42495",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
@@ -304,7 +342,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "4ae8c4e5-9069-4972-bcf6-0bb824ea83a3",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
@@ -315,7 +355,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "6a054422-6b84-44bd-b102-ac293745cda8",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# create a spatial extent object \n",
@@ -334,7 +376,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "41a84995-867c-4152-8c57-85e3758bbb77",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# pull out first and last timestamps\n",
@@ -355,7 +399,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "1b1e37c4-5348-46ad-abc9-e005b5d6c02b",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "collection_extent = pystac.Extent(spatial=spatial_extent, temporal=temporal_extent)"
@@ -375,7 +421,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "adf6c59d-58cd-48b1-a5fd-3bb205a3ef56",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# define folder location where your STAC catalog json file is\n",
@@ -388,7 +436,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "7e96811b-95ae-406a-9728-55fc429d4e1f",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "if catalog.get_child(collection_id):\n",
@@ -417,7 +467,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "094832af-d22b-4359-b0f6-cf687acce5cc",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "asset_id = \"zarr-s3-osn\"\n",
@@ -459,7 +511,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "fc00946d-2880-491d-9b3b-3aeeb4414d6c",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# instantiate extention on collection\n",
@@ -478,7 +532,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "120a4914-3302-44a5-a282-0308ac84f040",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# list out dataset dimensions\n",
@@ -501,7 +557,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "crs"
@@ -511,7 +569,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "1b1d05ff-8e43-44a7-8343-178b112c4ad6",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # the datacube extension can accept reference_system information as a numerical EPSG code, \n",
@@ -546,7 +606,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "13967ca9-1920-40f8-81cf-639d63439d71",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "time_step = pd.Timedelta(stac_helpers.get_step(ds, dim_names_dict['T'], time_dim=True)).isoformat()\n",
@@ -557,7 +619,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "8640779d-5131-4973-aad9-455d4acffd7a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # optional debugging for time steps:\n",
@@ -570,7 +634,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "de0efee3-af6e-4451-87a1-264503e24948",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for time steps, cont:\n",
@@ -594,7 +660,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "73306fb1-9b51-42d0-86fa-8d5e72644ee1",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "#x_step = stac_helpers.get_step(ds, dim_names_dict['X'])\n",
@@ -608,7 +676,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "2afe1dd0-ceb0-4a25-856e-38aefdbecd0c",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # optional debugging for spatial steps:\n",
@@ -623,7 +693,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ba997858-c048-4047-b03b-fc011a0d93b1",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps, cont:\n",
@@ -645,7 +717,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "c046328f-4953-4df6-ac0d-2bab43f86888",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "y_step = stac_helpers.get_step(ds, dim_names_dict['Y'])\n",
@@ -659,7 +733,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "6bd290eb-fdb3-4e2e-b9e8-4ebcfa3f608b",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # optional debugging for spatial steps:\n",
@@ -674,7 +750,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "e27871aa-d33f-4af2-9f4e-96a2e54f03ca",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps, cont:\n",
@@ -696,7 +774,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "6cfd212f-9309-44a8-845a-b2b6f536a598",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# get x, y bounds for extent of those dimensions (required)\n",
@@ -720,7 +800,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "acd45d3c-7845-47e6-9b7d-e35627a7ca9a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "print(dims)"
@@ -730,7 +812,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "5a443497-67a9-4dce-a8e9-b08d31a88223",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# create a dictionary of datacube dimensions you would like to assign to this dataset\n",
@@ -755,7 +839,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "e9272931-fc0b-4f2a-9546-283033e9cde8",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# drop metpy_crs coordinate we have added\n",
@@ -778,7 +864,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
@@ -795,7 +881,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "10141fd4-91d6-491d-878b-02653720891d",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# add dimesions and variables to collection extension\n",
@@ -828,7 +916,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "4b75791b-6b2d-40be-b7c6-330a60888fb5",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "if catalog.get_child(collection_id):\n",
diff --git a/workflows/archive/CooperUpperDeschutes_create_collection_from_zarr.ipynb b/workflows/archive/CooperUpperDeschutes_create_collection_from_zarr.ipynb
index a06fe0c728d6e3b89972ff3e1f76ab01e8544588..2683d81d2dc3c7df9e7de9800918bdbcd9ed76a0 100644
--- a/workflows/archive/CooperUpperDeschutes_create_collection_from_zarr.ipynb
+++ b/workflows/archive/CooperUpperDeschutes_create_collection_from_zarr.ipynb
@@ -19,7 +19,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "201e0945-de55-45ff-b095-c2af009a4e62",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "import pystac\n",
@@ -132,7 +134,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "708f2cf5-79ab-49af-8067-de31d0d13ee6",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# open and view zarr dataset\n",
@@ -154,7 +158,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "482d204d-b5b6-40e5-ac42-55b459be1097",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# description of STAC collection\n",
@@ -188,7 +194,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ab91268f-7200-4cb1-979a-c7d75531d2c0",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "dims_auto_extract = ['X', 'Y', 'T']\n",
@@ -206,14 +214,34 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "931dc7c6-be81-47f2-b8d9-98f0e4ddfd64",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
    "id": "b03d52f3-1367-4255-a561-52ee4fc9e92d",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
-    "crs = pyproj.CRS.from_cf(ds.crs.attrs)"
+    "# use pyproj to automatically extract crs info\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
+    "\n",
+    "# alternatively, create the appropriate cartopy projection\n",
+    "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
+    "#                             central_latitude=crs_info.latitude_of_projection_origin,\n",
+    "#                             standard_parallels=crs_info.standard_parallel)"
    ]
   },
   {
@@ -228,17 +256,21 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "38492a33-861e-46a3-8f0f-ceb7b2b5f42a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
-    "ds.crs"
+    "ds[crs_var]"
    ]
   },
   {
    "cell_type": "code",
    "execution_count": null,
    "id": "4ba255b8-b76b-4f8d-8907-cc5589221e66",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "crs.to_proj4()"
@@ -264,7 +296,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "d46805e0-8e94-4ebe-aa01-d9a2d7051459",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# pull out lat/lon bbox for data\n",
@@ -283,7 +317,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "c80c650f-6dc6-4e2d-869c-0e674f528520",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
@@ -293,7 +329,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "97fb5d51-ee5c-46d9-b256-6a5a51a42495",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
@@ -304,7 +342,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "4ae8c4e5-9069-4972-bcf6-0bb824ea83a3",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
@@ -315,7 +355,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "6a054422-6b84-44bd-b102-ac293745cda8",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# create a spatial extent object \n",
@@ -334,7 +376,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "41a84995-867c-4152-8c57-85e3758bbb77",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# pull out first and last timestamps\n",
@@ -355,7 +399,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "1b1e37c4-5348-46ad-abc9-e005b5d6c02b",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "collection_extent = pystac.Extent(spatial=spatial_extent, temporal=temporal_extent)"
@@ -375,7 +421,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "adf6c59d-58cd-48b1-a5fd-3bb205a3ef56",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# define folder location where your STAC catalog json file is\n",
@@ -388,7 +436,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "7e96811b-95ae-406a-9728-55fc429d4e1f",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "if catalog.get_child(collection_id):\n",
@@ -417,7 +467,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "094832af-d22b-4359-b0f6-cf687acce5cc",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "asset_id = \"zarr-s3-osn\"\n",
@@ -459,7 +511,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "fc00946d-2880-491d-9b3b-3aeeb4414d6c",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# instantiate extention on collection\n",
@@ -487,7 +541,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "crs"
@@ -497,7 +553,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "1b1d05ff-8e43-44a7-8343-178b112c4ad6",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # the datacube extension can accept reference_system information as a numerical EPSG code, \n",
@@ -532,7 +590,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "13967ca9-1920-40f8-81cf-639d63439d71",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "time_step = pd.Timedelta(stac_helpers.get_step(ds, dim_names_dict['T'], time_dim=True)).isoformat()\n",
@@ -543,7 +603,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "8640779d-5131-4973-aad9-455d4acffd7a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # optional debugging for spatial steps:\n",
@@ -558,7 +620,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "de0efee3-af6e-4451-87a1-264503e24948",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for time steps, cont:\n",
@@ -580,7 +644,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "73306fb1-9b51-42d0-86fa-8d5e72644ee1",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "x_step = stac_helpers.get_step(ds, dim_names_dict['X'])\n",
@@ -594,7 +660,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "2afe1dd0-ceb0-4a25-856e-38aefdbecd0c",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # optional debugging for spatial steps:\n",
@@ -609,7 +677,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ba997858-c048-4047-b03b-fc011a0d93b1",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps, cont:\n",
@@ -631,7 +701,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "c046328f-4953-4df6-ac0d-2bab43f86888",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "y_step = stac_helpers.get_step(ds, dim_names_dict['Y'])\n",
@@ -645,7 +717,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "6bd290eb-fdb3-4e2e-b9e8-4ebcfa3f608b",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # optional debugging for spatial steps:\n",
@@ -660,7 +734,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "e27871aa-d33f-4af2-9f4e-96a2e54f03ca",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps, cont:\n",
@@ -682,7 +758,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "8b635e48-8d4c-4e29-ba8a-d20ee1bd4492",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# get x, y bounds for extent of those dimensions (required)\n",
@@ -706,7 +784,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "acd45d3c-7845-47e6-9b7d-e35627a7ca9a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "dims = list(ds.dims)\n",
@@ -717,7 +797,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "5a443497-67a9-4dce-a8e9-b08d31a88223",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# create a dictionary of datacube dimensions you would like to assign to this dataset\n",
@@ -742,7 +824,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "e9272931-fc0b-4f2a-9546-283033e9cde8",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# drop metpy_crs coordinate we have added\n",
@@ -765,7 +849,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
@@ -782,7 +866,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "10141fd4-91d6-491d-878b-02653720891d",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# add dimesions and variables to collection extension\n",
@@ -815,7 +901,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "4b75791b-6b2d-40be-b7c6-330a60888fb5",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "if catalog.get_child(collection_id):\n",
diff --git a/workflows/archive/LOCA_future_create_collection_from_zarr.ipynb b/workflows/archive/LOCA_future_create_collection_from_zarr.ipynb
index 3fe3fee9adcde53fc2d97f293c5809e5c15841ab..6e4fdd83ef07881bcf620cdb43e0e77dd4cdc4a2 100644
--- a/workflows/archive/LOCA_future_create_collection_from_zarr.ipynb
+++ b/workflows/archive/LOCA_future_create_collection_from_zarr.ipynb
@@ -33,7 +33,8 @@
     "import pandas as pd\n",
     "import json\n",
     "import numpy as np\n",
-    "import metpy\n",
+    "import pyproj\n",
+    "from pyproj import Transformer\n",
     "import cartopy.crs as ccrs\n",
     "import cfunits\n",
     "import json\n",
@@ -206,6 +207,16 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "7348d314-9b85-4d51-ba01-c599d5e32ce2",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -213,8 +224,13 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "ds  = ds.metpy.parse_cf()\n",
-    "crs = ds[list(ds.keys())[0]].metpy.cartopy_crs"
+    "# use pyproj to automatically extract crs info\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
+    "\n",
+    "# alternatively, create the appropriate cartopy projection\n",
+    "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
+    "#                             central_latitude=crs_info.latitude_of_projection_origin,\n",
+    "#                             standard_parallels=crs_info.standard_parallel)"
    ]
   },
   {
@@ -245,14 +261,55 @@
     "# coordinates must be from WGS 84 datum\n",
     "# left, bottom, right, top\n",
     "\n",
-    "# Note: try changing around the commented out lines below to get type float ratherthan a numpy float\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
-    "coord_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(coord_bounds)\n",
-    "print(f'\\ncoord_bounds data type: {type(coord_bounds[0])}')\n",
+    "# Note: try changing around the commented out lines below to get type float rather than a numpy float\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
+    "spatial_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
+    "print(spatial_bounds)\n",
+    "print(f'\\nspatial_bounds data type: {type(spatial_bounds[0])}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "9c14027f-042d-4b90-8692-4f19c42c9434",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "023b7f3d-87dd-4251-b56c-009430852888",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
+    "lon, lat = transformer.transform(XX.ravel(), YY.ravel())"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "5dba1cf9-7e8e-483a-982e-042f725de7f2",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
+    "print(f'upper right coordinates (WGS84): {max(lon)}, {max(lat)}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "507840e5-544e-4a9b-b99b-423ecd1f069e",
+   "metadata": {},
+   "outputs": [],
+   "source": [
     "# create a spatial extent object \n",
-    "spatial_extent = pystac.SpatialExtent(bboxes=[coord_bounds])"
+    "spatial_extent = pystac.SpatialExtent(bboxes=[[min(lon).item(), min(lat).item(), max(lon).item(), max(lat).item()]])"
    ]
   },
   {
@@ -415,18 +472,6 @@
     "print(dims)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "00a18a29-fb9a-4b56-8009-493122997b16",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# get x, y bounds for extent of those dimensions (required)\n",
-    "xy_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(xy_bounds)"
-   ]
-  },
   {
    "cell_type": "markdown",
    "id": "e7dc357c-91ec-49ae-83e5-400f791f9792",
@@ -436,17 +481,6 @@
     "reference list of cartopy projections: https://scitools.org.uk/cartopy/docs/latest/reference/projections.html"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# print out crs information in dataset\n",
-    "print(crs)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -652,8 +686,8 @@
     "# we do not recommend including redundant dimensions (do not include x,y if you have lon,lat)\n",
     "# note that the extent of each dimension should be pulled from the dataset\n",
     "dims_dict = {dim_names_dict['T']: pystac.extensions.datacube.Dimension({'type': 'temporal', 'description': stac_helpers.get_long_name(ds, dim_names_dict['T']), 'extent': [temporal_extent_lower.strftime('%Y-%m-%dT%XZ'), temporal_extent_upper.strftime('%Y-%m-%dT%XZ')], 'step':time_step}),\n",
-    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [xy_bounds[0], xy_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
-    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [xy_bounds[1], xy_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [spatial_bounds[0], spatial_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [spatial_bounds[1], spatial_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
     "             'bnds': pystac.extensions.datacube.Dimension({'type': 'count', 'description': stac_helpers.get_long_name(ds, 'bnds'), 'extent': [ds.bnds.min().item(), ds.bnds.max().item()]}),\n",
     "            }"
    ]
@@ -693,7 +727,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
diff --git a/workflows/archive/LOCA_historical_create_collection_from_zarr.ipynb b/workflows/archive/LOCA_historical_create_collection_from_zarr.ipynb
index b9c9e601b82cf97d6d66af0721d7ec66cfcafa38..84556a096e94d2ae908354e0332cc121b43f2725 100644
--- a/workflows/archive/LOCA_historical_create_collection_from_zarr.ipynb
+++ b/workflows/archive/LOCA_historical_create_collection_from_zarr.ipynb
@@ -33,7 +33,8 @@
     "import pandas as pd\n",
     "import json\n",
     "import numpy as np\n",
-    "import metpy\n",
+    "import pyproj\n",
+    "from pyproj import Transformer\n",
     "import cartopy.crs as ccrs\n",
     "import cfunits\n",
     "import json\n",
@@ -206,6 +207,16 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "12d38200-6c52-41d8-aa50-ed699dadfa21",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -213,8 +224,13 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "ds  = ds.metpy.parse_cf()\n",
-    "crs = ds[list(ds.keys())[0]].metpy.cartopy_crs"
+    "# use pyproj to automatically extract crs info\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
+    "\n",
+    "# alternatively, create the appropriate cartopy projection\n",
+    "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
+    "#                             central_latitude=crs_info.latitude_of_projection_origin,\n",
+    "#                             standard_parallels=crs_info.standard_parallel)"
    ]
   },
   {
@@ -245,14 +261,55 @@
     "# coordinates must be from WGS 84 datum\n",
     "# left, bottom, right, top\n",
     "\n",
-    "# Note: try changing around the commented out lines below to get type float ratherthan a numpy float\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
-    "coord_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(coord_bounds)\n",
-    "print(f'\\ncoord_bounds data type: {type(coord_bounds[0])}')\n",
+    "# Note: try changing around the commented out lines below to get type float rather than a numpy float\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
+    "spatial_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
+    "print(spatial_bounds)\n",
+    "print(f'\\nspatial_bounds data type: {type(spatial_bounds[0])}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "ec2cda7c-ea21-4b9b-ac85-6b1885083167",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "c63c9dae-96d0-4236-adba-9602dc056805",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
+    "lon, lat = transformer.transform(XX.ravel(), YY.ravel())"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "ef7395b1-081d-4799-a944-e5240bc7f11a",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
+    "print(f'upper right coordinates (WGS84): {max(lon)}, {max(lat)}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "b03e61b0-5a40-41af-9295-d845982ec763",
+   "metadata": {},
+   "outputs": [],
+   "source": [
     "# create a spatial extent object \n",
-    "spatial_extent = pystac.SpatialExtent(bboxes=[coord_bounds])"
+    "spatial_extent = pystac.SpatialExtent(bboxes=[[min(lon).item(), min(lat).item(), max(lon).item(), max(lat).item()]])"
    ]
   },
   {
@@ -415,18 +472,6 @@
     "print(dims)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "00a18a29-fb9a-4b56-8009-493122997b16",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# get x, y bounds for extent of those dimensions (required)\n",
-    "xy_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(xy_bounds)"
-   ]
-  },
   {
    "cell_type": "markdown",
    "id": "e7dc357c-91ec-49ae-83e5-400f791f9792",
@@ -436,17 +481,6 @@
     "reference list of cartopy projections: https://scitools.org.uk/cartopy/docs/latest/reference/projections.html"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# print out crs information in dataset\n",
-    "print(crs)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -652,8 +686,8 @@
     "# we do not recommend including redundant dimensions (do not include x,y if you have lon,lat)\n",
     "# note that the extent of each dimension should be pulled from the dataset\n",
     "dims_dict = {dim_names_dict['T']: pystac.extensions.datacube.Dimension({'type': 'temporal', 'description': stac_helpers.get_long_name(ds, dim_names_dict['T']), 'extent': [temporal_extent_lower.strftime('%Y-%m-%dT%XZ'), temporal_extent_upper.strftime('%Y-%m-%dT%XZ')], 'step':time_step}),\n",
-    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [xy_bounds[0], xy_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
-    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [xy_bounds[1], xy_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [spatial_bounds[0], spatial_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [spatial_bounds[1], spatial_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
     "             'bnds': pystac.extensions.datacube.Dimension({'type': 'count', 'description': stac_helpers.get_long_name(ds, 'bnds'), 'extent': [ds.bnds.min().item(), ds.bnds.max().item()]}),\n",
     "            }"
    ]
@@ -693,7 +727,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
diff --git a/workflows/archive/Red_River_MPI-ESM-LR_future_create_collection_from_zarr.ipynb b/workflows/archive/Red_River_MPI-ESM-LR_future_create_collection_from_zarr.ipynb
index 02374c828d157e89efd198d05db28882806ee618..e3555e1661e3263e8b16e05decb41b0406b1294c 100644
--- a/workflows/archive/Red_River_MPI-ESM-LR_future_create_collection_from_zarr.ipynb
+++ b/workflows/archive/Red_River_MPI-ESM-LR_future_create_collection_from_zarr.ipynb
@@ -33,7 +33,8 @@
     "import pandas as pd\n",
     "import json\n",
     "import numpy as np\n",
-    "import metpy\n",
+    "import pyproj\n",
+    "from pyproj import Transformer\n",
     "import cartopy.crs as ccrs\n",
     "import cfunits\n",
     "import json\n",
@@ -206,6 +207,18 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "1a5e0bed-68f9-4b99-8d96-0831e9348a4e",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -213,8 +226,37 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "ds  = ds.metpy.parse_cf()\n",
-    "crs = ds[list(ds.keys())[0]].metpy.cartopy_crs"
+    "# use pyproj to automatically extract crs info\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
+    "\n",
+    "# alternatively, create the appropriate cartopy projection\n",
+    "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
+    "#                             central_latitude=crs_info.latitude_of_projection_origin,\n",
+    "#                             standard_parallels=crs_info.standard_parallel)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "02aa1616-5878-4f61-abe8-905f3c918407",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "ds.crs"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "6d0e5c7f-0b7d-4b3f-aa6b-a41d92281dd3",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs.to_proj4()"
    ]
   },
   {
@@ -245,14 +287,63 @@
     "# coordinates must be from WGS 84 datum\n",
     "# left, bottom, right, top\n",
     "\n",
-    "# Note: try changing around the commented out lines below to get type float ratherthan a numpy float\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
-    "coord_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(coord_bounds)\n",
-    "print(f'\\ncoord_bounds data type: {type(coord_bounds[0])}')\n",
+    "# Note: try changing around the commented out lines below to get type float rather than a numpy float\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
+    "spatial_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
+    "print(spatial_bounds)\n",
+    "print(f'\\nspatial_bounds data type: {type(spatial_bounds[0])}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "fecaf3b8-f621-4c8a-9759-85b4a978d416",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "02eb477c-f74d-4b22-8d8a-f9ffbb79047c",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
+    "lon, lat = transformer.transform(XX.ravel(), YY.ravel())"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "ab4e717c-8b91-4cb8-98ef-c81c0e40e330",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
+    "print(f'upper right coordinates (WGS84): {max(lon)}, {max(lat)}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "f8061e60-3663-41f2-a6fa-ee6be15a6d76",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
     "# create a spatial extent object \n",
-    "spatial_extent = pystac.SpatialExtent(bboxes=[coord_bounds])"
+    "spatial_extent = pystac.SpatialExtent(bboxes=[[min(lon).item(), min(lat).item(), max(lon).item(), max(lat).item()]])"
    ]
   },
   {
@@ -420,18 +511,6 @@
     "print(dims)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "00a18a29-fb9a-4b56-8009-493122997b16",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# get x, y bounds for extent of those dimensions (required)\n",
-    "xy_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(xy_bounds)"
-   ]
-  },
   {
    "cell_type": "markdown",
    "id": "e7dc357c-91ec-49ae-83e5-400f791f9792",
@@ -441,17 +520,6 @@
     "reference list of cartopy projections: https://scitools.org.uk/cartopy/docs/latest/reference/projections.html"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# print out crs information in dataset\n",
-    "print(crs)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -661,12 +729,25 @@
     "# we do not recommend including redundant dimensions (do not include x,y if you have lon,lat)\n",
     "# note that the extent of each dimension should be pulled from the dataset\n",
     "dims_dict = {dim_names_dict['T']: pystac.extensions.datacube.Dimension({'type': 'temporal', 'description': stac_helpers.get_long_name(ds, dim_names_dict['T']), 'extent': [temporal_extent_lower.strftime('%Y-%m-%dT%XZ'), temporal_extent_upper.strftime('%Y-%m-%dT%XZ')], 'step':time_step}),\n",
-    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [xy_bounds[0], xy_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
-    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [xy_bounds[1], xy_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [spatial_bounds[0], spatial_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [spatial_bounds[1], spatial_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
     "             'bnds': pystac.extensions.datacube.Dimension({'type': 'count', 'description': stac_helpers.get_long_name(ds, 'bnds'), 'extent': [ds.bnds.min().item(), ds.bnds.max().item()]}),\n",
     "            }"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "14cf211f-e421-4893-929e-b158940576d6",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "# make sure you added all the right dims\n",
+    "assert sorted(list(dims_dict.keys())) == sorted(dims)"
+   ]
+  },
   {
    "cell_type": "markdown",
    "id": "0f277883-a3fd-425f-966a-ca2140d0ef2f",
@@ -702,7 +783,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
diff --git a/workflows/archive/Red_River_MPI-ESM-LR_historical_create_collection_from_zarr.ipynb b/workflows/archive/Red_River_MPI-ESM-LR_historical_create_collection_from_zarr.ipynb
index 210edd5ab44e978073d0f77c4a0e28c5993ad5e3..1ed66e419bbff061d044691aa55258c295902029 100644
--- a/workflows/archive/Red_River_MPI-ESM-LR_historical_create_collection_from_zarr.ipynb
+++ b/workflows/archive/Red_River_MPI-ESM-LR_historical_create_collection_from_zarr.ipynb
@@ -33,7 +33,8 @@
     "import pandas as pd\n",
     "import json\n",
     "import numpy as np\n",
-    "import metpy\n",
+    "import pyproj\n",
+    "from pyproj import Transformer\n",
     "import cartopy.crs as ccrs\n",
     "import cfunits\n",
     "import json\n",
@@ -206,6 +207,18 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "0206f01c-02bb-42d8-885d-6b1644fba9cc",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -213,8 +226,37 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "ds  = ds.metpy.parse_cf()\n",
-    "crs = ds[list(ds.keys())[0]].metpy.cartopy_crs"
+    "# use pyproj to automatically extract crs info\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
+    "\n",
+    "# alternatively, create the appropriate cartopy projection\n",
+    "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
+    "#                             central_latitude=crs_info.latitude_of_projection_origin,\n",
+    "#                             standard_parallels=crs_info.standard_parallel)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "b98a6623-56fd-47f5-8dbf-492476995c31",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "ds.crs"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "25de71e9-52bc-404e-918c-5fd75cadf654",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs.to_proj4()"
    ]
   },
   {
@@ -245,14 +287,63 @@
     "# coordinates must be from WGS 84 datum\n",
     "# left, bottom, right, top\n",
     "\n",
-    "# Note: try changing around the commented out lines below to get type float ratherthan a numpy float\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
-    "coord_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(coord_bounds)\n",
-    "print(f'\\ncoord_bounds data type: {type(coord_bounds[0])}')\n",
+    "# Note: try changing around the commented out lines below to get type float rather than a numpy float\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
+    "spatial_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
+    "print(spatial_bounds)\n",
+    "print(f'\\nspatial_bounds data type: {type(spatial_bounds[0])}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "b82a761b-2444-4ea1-9f0a-1544b422b765",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "eb4a8cdb-2ecc-42c5-b4fe-04a6c36df375",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
+    "lon, lat = transformer.transform(XX.ravel(), YY.ravel())"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "eab19bc2-c275-4414-b302-1acac3cbbfa4",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
+    "print(f'upper right coordinates (WGS84): {max(lon)}, {max(lat)}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "434e3d31-6040-43fc-89d8-2a9bceeade31",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
     "# create a spatial extent object \n",
-    "spatial_extent = pystac.SpatialExtent(bboxes=[coord_bounds])"
+    "spatial_extent = pystac.SpatialExtent(bboxes=[[min(lon).item(), min(lat).item(), max(lon).item(), max(lat).item()]])"
    ]
   },
   {
@@ -420,18 +511,6 @@
     "print(dims)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "00a18a29-fb9a-4b56-8009-493122997b16",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# get x, y bounds for extent of those dimensions (required)\n",
-    "xy_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(xy_bounds)"
-   ]
-  },
   {
    "cell_type": "markdown",
    "id": "e7dc357c-91ec-49ae-83e5-400f791f9792",
@@ -441,17 +520,6 @@
     "reference list of cartopy projections: https://scitools.org.uk/cartopy/docs/latest/reference/projections.html"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# print out crs information in dataset\n",
-    "print(crs)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -661,12 +729,25 @@
     "# we do not recommend including redundant dimensions (do not include x,y if you have lon,lat)\n",
     "# note that the extent of each dimension should be pulled from the dataset\n",
     "dims_dict = {dim_names_dict['T']: pystac.extensions.datacube.Dimension({'type': 'temporal', 'description': stac_helpers.get_long_name(ds, dim_names_dict['T']), 'extent': [temporal_extent_lower.strftime('%Y-%m-%dT%XZ'), temporal_extent_upper.strftime('%Y-%m-%dT%XZ')], 'step':time_step}),\n",
-    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [xy_bounds[0], xy_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
-    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [xy_bounds[1], xy_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [spatial_bounds[0], spatial_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [spatial_bounds[1], spatial_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
     "             'bnds': pystac.extensions.datacube.Dimension({'type': 'count', 'description': stac_helpers.get_long_name(ds, 'bnds'), 'extent': [ds.bnds.min().item(), ds.bnds.max().item()]}),\n",
     "            }"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "f07272be-1a13-481b-bf8a-f135ce0da1d4",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "# make sure you added all the right dims\n",
+    "assert sorted(list(dims_dict.keys())) == sorted(dims)"
+   ]
+  },
   {
    "cell_type": "markdown",
    "id": "0f277883-a3fd-425f-966a-ca2140d0ef2f",
@@ -702,7 +783,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
diff --git a/workflows/archive/Red_River_future_create_collection_from_zarr.ipynb b/workflows/archive/Red_River_future_create_collection_from_zarr.ipynb
index 60bc2ba7cff68909889d78dfb275c7afcac9e94c..9f282764d46d174773965276901fc0341f6ae510 100644
--- a/workflows/archive/Red_River_future_create_collection_from_zarr.ipynb
+++ b/workflows/archive/Red_River_future_create_collection_from_zarr.ipynb
@@ -33,7 +33,8 @@
     "import pandas as pd\n",
     "import json\n",
     "import numpy as np\n",
-    "import metpy\n",
+    "import pyproj\n",
+    "from pyproj import Transformer\n",
     "import cartopy.crs as ccrs\n",
     "import cfunits\n",
     "import json\n",
@@ -206,6 +207,18 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "4228e138-c46d-45fd-8f74-80f27972179c",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -213,8 +226,37 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "ds  = ds.metpy.parse_cf()\n",
-    "crs = ds[list(ds.keys())[0]].metpy.cartopy_crs"
+    "# use pyproj to automatically extract crs info\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
+    "\n",
+    "# alternatively, create the appropriate cartopy projection\n",
+    "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
+    "#                             central_latitude=crs_info.latitude_of_projection_origin,\n",
+    "#                             standard_parallels=crs_info.standard_parallel)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "56a4af3d-0134-40d6-9599-e4c250bb5328",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "ds.crs"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "cb57bd22-ba01-4462-bc11-b7ec898b1c33",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs.to_proj4()"
    ]
   },
   {
@@ -245,14 +287,63 @@
     "# coordinates must be from WGS 84 datum\n",
     "# left, bottom, right, top\n",
     "\n",
-    "# Note: try changing around the commented out lines below to get type float ratherthan a numpy float\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
-    "coord_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(coord_bounds)\n",
-    "print(f'\\ncoord_bounds data type: {type(coord_bounds[0])}')\n",
+    "# Note: try changing around the commented out lines below to get type float rather than a numpy float\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
+    "spatial_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
+    "print(spatial_bounds)\n",
+    "print(f'\\nspatial_bounds data type: {type(spatial_bounds[0])}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "21ade03d-5058-4b4f-9c07-3746343783d0",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "6bc8bc0e-a495-45ed-ac04-4d4c65c07650",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
+    "lon, lat = transformer.transform(XX.ravel(), YY.ravel())"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "3c9f851a-6445-472e-a4a5-bd462fac3fa8",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
+    "print(f'upper right coordinates (WGS84): {max(lon)}, {max(lat)}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "34d7f4bc-b532-492a-9a7d-d6ff1d3b9f82",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
     "# create a spatial extent object \n",
-    "spatial_extent = pystac.SpatialExtent(bboxes=[coord_bounds])"
+    "spatial_extent = pystac.SpatialExtent(bboxes=[[min(lon).item(), min(lat).item(), max(lon).item(), max(lat).item()]])"
    ]
   },
   {
@@ -420,18 +511,6 @@
     "print(dims)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "00a18a29-fb9a-4b56-8009-493122997b16",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# get x, y bounds for extent of those dimensions (required)\n",
-    "xy_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(xy_bounds)"
-   ]
-  },
   {
    "cell_type": "markdown",
    "id": "e7dc357c-91ec-49ae-83e5-400f791f9792",
@@ -441,17 +520,6 @@
     "reference list of cartopy projections: https://scitools.org.uk/cartopy/docs/latest/reference/projections.html"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# print out crs information in dataset\n",
-    "print(crs)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -661,12 +729,25 @@
     "# we do not recommend including redundant dimensions (do not include x,y if you have lon,lat)\n",
     "# note that the extent of each dimension should be pulled from the dataset\n",
     "dims_dict = {dim_names_dict['T']: pystac.extensions.datacube.Dimension({'type': 'temporal', 'description': stac_helpers.get_long_name(ds, dim_names_dict['T']), 'extent': [temporal_extent_lower.strftime('%Y-%m-%dT%XZ'), temporal_extent_upper.strftime('%Y-%m-%dT%XZ')], 'step':time_step}),\n",
-    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [xy_bounds[0], xy_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
-    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [xy_bounds[1], xy_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [spatial_bounds[0], spatial_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [spatial_bounds[1], spatial_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
     "             'bnds': pystac.extensions.datacube.Dimension({'type': 'count', 'description': stac_helpers.get_long_name(ds, 'bnds'), 'extent': [ds.bnds.min().item(), ds.bnds.max().item()]}),\n",
     "            }"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "fa518622-9b12-4823-9eac-26ec432fc5f0",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "# make sure you added all the right dims\n",
+    "assert sorted(list(dims_dict.keys())) == sorted(dims)"
+   ]
+  },
   {
    "cell_type": "markdown",
    "id": "0f277883-a3fd-425f-966a-ca2140d0ef2f",
@@ -702,7 +783,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
diff --git a/workflows/archive/Red_River_historical_create_collection_from_zarr.ipynb b/workflows/archive/Red_River_historical_create_collection_from_zarr.ipynb
index eb6a317a91dc621635452bbad4cd43af95a76028..2d992eafb634744a0d4beec3c4ed40191b8d7168 100644
--- a/workflows/archive/Red_River_historical_create_collection_from_zarr.ipynb
+++ b/workflows/archive/Red_River_historical_create_collection_from_zarr.ipynb
@@ -33,7 +33,8 @@
     "import pandas as pd\n",
     "import json\n",
     "import numpy as np\n",
-    "import metpy\n",
+    "import pyproj\n",
+    "from pyproj import Transformer\n",
     "import cartopy.crs as ccrs\n",
     "import cfunits\n",
     "import json\n",
@@ -206,6 +207,18 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "840c5128-1928-4011-a52b-e9b35ab313d5",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -213,8 +226,37 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "ds  = ds.metpy.parse_cf()\n",
-    "crs = ds[list(ds.keys())[0]].metpy.cartopy_crs"
+    "# use pyproj to automatically extract crs info\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
+    "\n",
+    "# alternatively, create the appropriate cartopy projection\n",
+    "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
+    "#                             central_latitude=crs_info.latitude_of_projection_origin,\n",
+    "#                             standard_parallels=crs_info.standard_parallel)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "bd348e57-03f5-4518-af62-527e89681466",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "ds.crs"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "757cd712-fc3b-4bfc-a2b7-73ccd02348c9",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs.to_proj4()"
    ]
   },
   {
@@ -245,14 +287,63 @@
     "# coordinates must be from WGS 84 datum\n",
     "# left, bottom, right, top\n",
     "\n",
-    "# Note: try changing around the commented out lines below to get type float ratherthan a numpy float\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
-    "coord_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(coord_bounds)\n",
-    "print(f'\\ncoord_bounds data type: {type(coord_bounds[0])}')\n",
+    "# Note: try changing around the commented out lines below to get type float rather than a numpy float\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
+    "spatial_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
+    "print(spatial_bounds)\n",
+    "print(f'\\nspatial_bounds data type: {type(spatial_bounds[0])}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "614ed34a-6cf7-48ec-8bac-efc22afd6790",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "ca67d6ee-6e1d-450d-958d-52d11d3aa8e7",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
+    "lon, lat = transformer.transform(XX.ravel(), YY.ravel())"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "d88d7600-e7ba-4836-b427-92d97a8b1b8b",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
+    "print(f'upper right coordinates (WGS84): {max(lon)}, {max(lat)}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "c3639565-c00f-4490-8823-aa791b989c23",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
     "# create a spatial extent object \n",
-    "spatial_extent = pystac.SpatialExtent(bboxes=[coord_bounds])"
+    "spatial_extent = pystac.SpatialExtent(bboxes=[[min(lon).item(), min(lat).item(), max(lon).item(), max(lat).item()]])"
    ]
   },
   {
@@ -420,18 +511,6 @@
     "print(dims)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "00a18a29-fb9a-4b56-8009-493122997b16",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# get x, y bounds for extent of those dimensions (required)\n",
-    "xy_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(xy_bounds)"
-   ]
-  },
   {
    "cell_type": "markdown",
    "id": "e7dc357c-91ec-49ae-83e5-400f791f9792",
@@ -441,17 +520,6 @@
     "reference list of cartopy projections: https://scitools.org.uk/cartopy/docs/latest/reference/projections.html"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# print out crs information in dataset\n",
-    "print(crs)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -661,12 +729,25 @@
     "# we do not recommend including redundant dimensions (do not include x,y if you have lon,lat)\n",
     "# note that the extent of each dimension should be pulled from the dataset\n",
     "dims_dict = {dim_names_dict['T']: pystac.extensions.datacube.Dimension({'type': 'temporal', 'description': stac_helpers.get_long_name(ds, dim_names_dict['T']), 'extent': [temporal_extent_lower.strftime('%Y-%m-%dT%XZ'), temporal_extent_upper.strftime('%Y-%m-%dT%XZ')], 'step':time_step}),\n",
-    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [xy_bounds[0], xy_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
-    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [xy_bounds[1], xy_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [spatial_bounds[0], spatial_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [spatial_bounds[1], spatial_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
     "             'bnds': pystac.extensions.datacube.Dimension({'type': 'count', 'description': stac_helpers.get_long_name(ds, 'bnds'), 'extent': [ds.bnds.min().item(), ds.bnds.max().item()]}),\n",
     "            }"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "91bfa7db-1887-464c-9bc2-4d870a5c2d01",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "# make sure you added all the right dims\n",
+    "assert sorted(list(dims_dict.keys())) == sorted(dims)"
+   ]
+  },
   {
    "cell_type": "markdown",
    "id": "0f277883-a3fd-425f-966a-ca2140d0ef2f",
@@ -702,7 +783,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
diff --git a/workflows/archive/TTU_2019_rcp45_gridded_annual_create_collection_from_zarr.ipynb b/workflows/archive/TTU_2019_rcp45_gridded_annual_create_collection_from_zarr.ipynb
index b0615328f60c953142577ae762c13e5283a4775b..1b891a19e2224b24d39444b7539d6074e0289a06 100644
--- a/workflows/archive/TTU_2019_rcp45_gridded_annual_create_collection_from_zarr.ipynb
+++ b/workflows/archive/TTU_2019_rcp45_gridded_annual_create_collection_from_zarr.ipynb
@@ -19,7 +19,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "201e0945-de55-45ff-b095-c2af009a4e62",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "import pystac\n",
@@ -132,7 +134,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "708f2cf5-79ab-49af-8067-de31d0d13ee6",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# open and view zarr dataset\n",
@@ -154,7 +158,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "482d204d-b5b6-40e5-ac42-55b459be1097",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# description of STAC collection\n",
@@ -188,7 +194,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ab91268f-7200-4cb1-979a-c7d75531d2c0",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# dims_auto_extract = ['X', 'Y', 'T']\n",
@@ -209,15 +217,29 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "2d34fbc5-f0ce-4860-8cc5-9f3dcafb927d",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
    "id": "b03d52f3-1367-4255-a561-52ee4fc9e92d",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# use pyproj to automatically extract crs info\n",
-    "crs = pyproj.CRS.from_cf(ds.crs.attrs)\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
     "\n",
     "# alternatively, create the appropriate cartopy projection\n",
     "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
@@ -246,7 +268,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "d46805e0-8e94-4ebe-aa01-d9a2d7051459",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# pull out lat/lon bbox for data\n",
@@ -265,7 +289,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "cd7db627-4776-4780-ae42-413104c6a43a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
@@ -275,7 +301,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "4b3516fe-df9b-4855-be40-422f82a28ab0",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
@@ -286,7 +314,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "70c7d699-83d1-4ba7-9d46-7831d946f4c4",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
@@ -297,7 +327,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "8b4c75c9-0f03-4466-8df6-d2c78bdecbb5",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# create a spatial extent object \n",
@@ -316,7 +348,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "41a84995-867c-4152-8c57-85e3758bbb77",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# pull out first and last timestamps\n",
@@ -336,7 +370,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "1b1e37c4-5348-46ad-abc9-e005b5d6c02b",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "collection_extent = pystac.Extent(spatial=spatial_extent, temporal=temporal_extent)"
@@ -356,7 +392,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "adf6c59d-58cd-48b1-a5fd-3bb205a3ef56",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# define folder location where your STAC catalog json file is\n",
@@ -369,7 +407,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "7e96811b-95ae-406a-9728-55fc429d4e1f",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "if catalog.get_child(collection_id):\n",
@@ -398,7 +438,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "094832af-d22b-4359-b0f6-cf687acce5cc",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "asset_id = \"zarr-s3-osn\"\n",
@@ -440,7 +482,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "fc00946d-2880-491d-9b3b-3aeeb4414d6c",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# instantiate extention on collection\n",
@@ -459,7 +503,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "120a4914-3302-44a5-a282-0308ac84f040",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# list out dataset dimensions\n",
@@ -473,7 +519,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "00a18a29-fb9a-4b56-8009-493122997b16",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# get x, y bounds for extent of those dimensions (required)\n",
@@ -494,7 +542,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# print out crs information in dataset\n",
@@ -505,7 +555,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "1b1d05ff-8e43-44a7-8343-178b112c4ad6",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # create the appropriate cartopy projection\n",
@@ -546,7 +598,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "82f1e9bd-52ee-46f5-9e95-c2359d95fcf3",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "#time_step = pd.Timedelta(get_step(ds, dim_names_dict['T'], time_dim=True)).isoformat()\n",
@@ -558,7 +612,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "64be65b2-de20-447a-a9c2-bd8eca3e440e",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for time steps: get all step values and locations\n",
@@ -569,7 +625,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "bc8dff39-2a2e-44a0-9b30-987107c2d1e2",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for time steps, cont:\n",
@@ -591,7 +649,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "a8ba7695-ca45-4db2-bd46-c465f4e37eff",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "x_step = stac_helpers.get_step(ds, dim_names_dict['X'])\n",
@@ -602,7 +662,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "fac4c9f2-a952-4c7f-aa32-862957372d6f",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps: get all step values and locations\n",
@@ -615,7 +677,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "8d0b5a2d-dc58-4ad6-b890-859ce6bb08de",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps, cont:\n",
@@ -637,7 +701,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "7405583b-ecb9-44b0-8815-048e42e55a42",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "y_step = stac_helpers.get_step(ds, dim_names_dict['Y'])\n",
@@ -648,7 +714,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ece0fe37-b54c-4721-aa9b-33d2998d191b",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps: get all step values and locations\n",
@@ -661,7 +729,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "abdafb8f-5217-4b82-91b6-eec8183c9128",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps, cont:\n",
@@ -687,7 +757,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "acd45d3c-7845-47e6-9b7d-e35627a7ca9a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "print(dims)"
@@ -697,7 +769,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "5a443497-67a9-4dce-a8e9-b08d31a88223",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# create a dictionary of datacube dimensions you would like to assign to this dataset\n",
@@ -727,7 +801,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "e9272931-fc0b-4f2a-9546-283033e9cde8",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# drop metpy_crs coordinate we have added\n",
@@ -750,7 +826,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
@@ -767,7 +843,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "10141fd4-91d6-491d-878b-02653720891d",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# add dimesions and variables to collection extension\n",
@@ -800,7 +878,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "4b75791b-6b2d-40be-b7c6-330a60888fb5",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "if catalog.get_child(collection_id):\n",
diff --git a/workflows/archive/TTU_2019_rcp45_station_data_create_collection_from_zarr.ipynb b/workflows/archive/TTU_2019_rcp45_station_data_create_collection_from_zarr.ipynb
index f6c4fd1d85e1b0e3d1609de7f64acf37fa2f5817..958ab8e32ea13d6dc6e63bfc23a986e43f23e46c 100644
--- a/workflows/archive/TTU_2019_rcp45_station_data_create_collection_from_zarr.ipynb
+++ b/workflows/archive/TTU_2019_rcp45_station_data_create_collection_from_zarr.ipynb
@@ -19,7 +19,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "201e0945-de55-45ff-b095-c2af009a4e62",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "import pystac\n",
@@ -55,7 +57,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "15ee060d-3127-4024-a1ad-6aa0648667e1",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# name for STAC collection - should match name of zarr dataset\n",
@@ -128,7 +132,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "708f2cf5-79ab-49af-8067-de31d0d13ee6",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# open and view zarr dataset\n",
@@ -150,7 +156,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "482d204d-b5b6-40e5-ac42-55b459be1097",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# description of STAC collection\n",
@@ -175,7 +183,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ab91268f-7200-4cb1-979a-c7d75531d2c0",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# dims_auto_extract = ['X', 'Y', 'T']\n",
@@ -195,15 +205,29 @@
     "If there is no crs info that can be automatically extracted from the dataset with pyproj, you will need to manually identify the crs and create a crs object. This reference list of cartopy projections may be a helpful resource: https://scitools.org.uk/cartopy/docs/latest/reference/projections.html"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "d92e5107-4902-4cf7-8e38-28db2c840662",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
    "id": "b03d52f3-1367-4255-a561-52ee4fc9e92d",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# use pyproj to automatically extract crs info\n",
-    "crs = pyproj.CRS.from_cf(ds.crs.attrs)\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
     "\n",
     "# alternatively, create the appropriate cartopy projection\n",
     "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
@@ -223,7 +247,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "4cee13ba-487d-483e-a013-b65685137502",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "ds.crs"
@@ -233,7 +259,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "f7bc73db-7717-450e-9679-525f7be0c910",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "crs.to_proj4()"
@@ -260,7 +288,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "d46805e0-8e94-4ebe-aa01-d9a2d7051459",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# pull out lat/lon bbox for data\n",
@@ -279,7 +309,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "f16fdb9e-7ed8-40fb-a4f1-9ecabdebc0a1",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
@@ -289,7 +321,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "074fc23c-f4d9-4427-80d3-fbf691e6d411",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
@@ -300,7 +334,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "5345c975-9fe3-48e1-a663-0275cdf275dc",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
@@ -311,7 +347,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "e0a5a222-743d-403a-9411-2406374803cf",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# create a spatial extent object \n",
@@ -330,7 +368,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "41a84995-867c-4152-8c57-85e3758bbb77",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# pull out first and last timestamps\n",
@@ -351,7 +391,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "1b1e37c4-5348-46ad-abc9-e005b5d6c02b",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "collection_extent = pystac.Extent(spatial=spatial_extent, temporal=temporal_extent)"
@@ -369,7 +411,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "adf6c59d-58cd-48b1-a5fd-3bb205a3ef56",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# define folder location where your STAC catalog json file is\n",
@@ -382,7 +426,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "7e96811b-95ae-406a-9728-55fc429d4e1f",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "if catalog.get_child(collection_id):\n",
@@ -411,7 +457,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "094832af-d22b-4359-b0f6-cf687acce5cc",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "asset_id = \"zarr-s3-osn\"\n",
@@ -453,7 +501,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "fc00946d-2880-491d-9b3b-3aeeb4414d6c",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# instantiate extention on collection\n",
@@ -481,7 +531,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# print out crs information in dataset\n",
@@ -492,7 +544,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "1b1d05ff-8e43-44a7-8343-178b112c4ad6",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # the datacube extension can accept reference_system information as a numerical EPSG code, \n",
@@ -530,7 +584,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "82f1e9bd-52ee-46f5-9e95-c2359d95fcf3",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "#time_step = pd.Timedelta(get_step(ds, dim_names_dict['T'], time_dim=True)).isoformat()\n",
@@ -542,7 +598,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "64be65b2-de20-447a-a9c2-bd8eca3e440e",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # optional debugging for time steps:\n",
@@ -555,7 +613,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "bc8dff39-2a2e-44a0-9b30-987107c2d1e2",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for time steps, cont:\n",
@@ -579,7 +639,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "a8ba7695-ca45-4db2-bd46-c465f4e37eff",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "x_step = stac_helpers.get_step(ds, dim_names_dict['X'])\n",
@@ -593,7 +655,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "fac4c9f2-a952-4c7f-aa32-862957372d6f",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # optional debugging for spatial steps:\n",
@@ -608,7 +672,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "8d0b5a2d-dc58-4ad6-b890-859ce6bb08de",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps, cont:\n",
@@ -632,7 +698,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "7405583b-ecb9-44b0-8815-048e42e55a42",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "y_step = stac_helpers.get_step(ds, dim_names_dict['Y'])\n",
@@ -646,7 +714,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ece0fe37-b54c-4721-aa9b-33d2998d191b",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # optional debugging for spatial steps:\n",
@@ -661,7 +731,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "abdafb8f-5217-4b82-91b6-eec8183c9128",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps, cont:\n",
@@ -688,7 +760,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "acd45d3c-7845-47e6-9b7d-e35627a7ca9a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "dims = list(ds.dims)\n",
@@ -699,7 +773,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "5a443497-67a9-4dce-a8e9-b08d31a88223",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# create a dictionary of datacube dimensions you would like to assign to this dataset\n",
@@ -720,7 +796,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "15db7bae-e387-4377-852b-5f864c67ee69",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# make sure you added all the right dims\n",
@@ -739,7 +817,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "e9272931-fc0b-4f2a-9546-283033e9cde8",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# drop metpy_crs coordinate we have added\n",
@@ -762,7 +842,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
@@ -779,7 +859,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "10141fd4-91d6-491d-878b-02653720891d",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# add dimesions and variables to collection extension\n",
@@ -812,7 +894,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "4b75791b-6b2d-40be-b7c6-330a60888fb5",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "if catalog.get_child(collection_id):\n",
diff --git a/workflows/archive/TTU_2019_rcp45_time_slices_create_collection_from_zarr.ipynb b/workflows/archive/TTU_2019_rcp45_time_slices_create_collection_from_zarr.ipynb
index f76a3fd5c752f804cb697e051eaccffb02873419..2574cca9e8af23bccdc6d7ab792de4e9561377b5 100644
--- a/workflows/archive/TTU_2019_rcp45_time_slices_create_collection_from_zarr.ipynb
+++ b/workflows/archive/TTU_2019_rcp45_time_slices_create_collection_from_zarr.ipynb
@@ -19,7 +19,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "201e0945-de55-45ff-b095-c2af009a4e62",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "import pystac\n",
@@ -55,7 +57,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "4572c6fa-c1da-4809-95e4-deea2119d5e6",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# name for STAC collection - should match name of zarr dataset\n",
@@ -130,7 +134,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "708f2cf5-79ab-49af-8067-de31d0d13ee6",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# open and view zarr dataset\n",
@@ -154,7 +160,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "482d204d-b5b6-40e5-ac42-55b459be1097",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# description of STAC collection\n",
@@ -166,7 +174,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "a77517ef-a9cc-4b8c-9132-229580e192b1",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# license for dataset\n",
@@ -186,7 +196,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ab91268f-7200-4cb1-979a-c7d75531d2c0",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# dims_auto_extract = ['X', 'Y', 'T']\n",
@@ -205,15 +217,29 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "0f27113b-6488-4dad-961b-0ecb695bcd08",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
    "id": "b03d52f3-1367-4255-a561-52ee4fc9e92d",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# use pyproj to automatically extract crs info\n",
-    "crs = pyproj.CRS.from_cf(ds.crs.attrs)\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
     "\n",
     "# alternatively, create the appropriate cartopy projection\n",
     "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
@@ -242,7 +268,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "d46805e0-8e94-4ebe-aa01-d9a2d7051459",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# pull out lat/lon bbox for data\n",
@@ -261,7 +289,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "61dd5559-3284-4fc1-af8c-0db7258b7a18",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
@@ -271,7 +301,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "05af4c5e-1e6c-4589-b6f2-2e2fc1123b29",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
@@ -282,7 +314,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "3377c99a-434a-4e72-a997-644b495e5d95",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
@@ -293,7 +327,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "48d6f450-5833-44e4-a11d-6906aa3b2283",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# create a spatial extent object \n",
@@ -312,7 +348,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "41a84995-867c-4152-8c57-85e3758bbb77",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# pull out first and last timestamps\n",
@@ -332,7 +370,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "1b1e37c4-5348-46ad-abc9-e005b5d6c02b",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "collection_extent = pystac.Extent(spatial=spatial_extent, temporal=temporal_extent)"
@@ -352,7 +392,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "adf6c59d-58cd-48b1-a5fd-3bb205a3ef56",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# define folder location where your STAC catalog json file is\n",
@@ -365,7 +407,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "7e96811b-95ae-406a-9728-55fc429d4e1f",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "if catalog.get_child(collection_id):\n",
@@ -394,7 +438,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "094832af-d22b-4359-b0f6-cf687acce5cc",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "asset_id = \"zarr-s3-osn\"\n",
@@ -436,7 +482,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "fc00946d-2880-491d-9b3b-3aeeb4414d6c",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# instantiate extention on collection\n",
@@ -455,7 +503,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "120a4914-3302-44a5-a282-0308ac84f040",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# list out dataset dimensions\n",
@@ -469,7 +519,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "00a18a29-fb9a-4b56-8009-493122997b16",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# get x, y bounds for extent of those dimensions (required)\n",
@@ -490,7 +542,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# print out crs information in dataset\n",
@@ -501,7 +555,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "1b1d05ff-8e43-44a7-8343-178b112c4ad6",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # create the appropriate cartopy projection\n",
@@ -542,7 +598,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "82f1e9bd-52ee-46f5-9e95-c2359d95fcf3",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "#time_step = pd.Timedelta(get_step(ds, dim_names_dict['T'], time_dim=True)).isoformat()\n",
@@ -554,7 +612,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "64be65b2-de20-447a-a9c2-bd8eca3e440e",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for time steps: get all step values and locations\n",
@@ -565,7 +625,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "bc8dff39-2a2e-44a0-9b30-987107c2d1e2",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for time steps, cont:\n",
@@ -587,7 +649,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "a8ba7695-ca45-4db2-bd46-c465f4e37eff",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "x_step = stac_helpers.get_step(ds, dim_names_dict['X'])\n",
@@ -598,7 +662,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "fac4c9f2-a952-4c7f-aa32-862957372d6f",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps: get all step values and locations\n",
@@ -611,7 +677,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "8d0b5a2d-dc58-4ad6-b890-859ce6bb08de",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps, cont:\n",
@@ -633,7 +701,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "7405583b-ecb9-44b0-8815-048e42e55a42",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "y_step = stac_helpers.get_step(ds, dim_names_dict['Y'])\n",
@@ -644,7 +714,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ece0fe37-b54c-4721-aa9b-33d2998d191b",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps: get all step values and locations\n",
@@ -657,7 +729,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "abdafb8f-5217-4b82-91b6-eec8183c9128",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps, cont:\n",
@@ -683,7 +757,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "acd45d3c-7845-47e6-9b7d-e35627a7ca9a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "print(dims)"
@@ -693,7 +769,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "5a443497-67a9-4dce-a8e9-b08d31a88223",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# create a dictionary of datacube dimensions you would like to assign to this dataset\n",
@@ -723,7 +801,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "e9272931-fc0b-4f2a-9546-283033e9cde8",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# drop metpy_crs coordinate we have added\n",
@@ -746,7 +826,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
@@ -763,7 +843,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "10141fd4-91d6-491d-878b-02653720891d",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# add dimesions and variables to collection extension\n",
@@ -796,7 +878,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "4b75791b-6b2d-40be-b7c6-330a60888fb5",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "if catalog.get_child(collection_id):\n",
diff --git a/workflows/archive/TTU_2019_rcp85_gridded_annual_create_collection_from_zarr.ipynb b/workflows/archive/TTU_2019_rcp85_gridded_annual_create_collection_from_zarr.ipynb
index e67eff8e69695be888f73f8abbbee1c972fa1c37..0f5332dc3f7acabe8f50dd4da326d861c6d34691 100644
--- a/workflows/archive/TTU_2019_rcp85_gridded_annual_create_collection_from_zarr.ipynb
+++ b/workflows/archive/TTU_2019_rcp85_gridded_annual_create_collection_from_zarr.ipynb
@@ -19,7 +19,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "201e0945-de55-45ff-b095-c2af009a4e62",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "import pystac\n",
@@ -55,7 +57,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "4425c28a-50af-4cd6-ba99-7be2068833bd",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# name for STAC collection - should match name of zarr dataset\n",
@@ -130,7 +134,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "708f2cf5-79ab-49af-8067-de31d0d13ee6",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# open and view zarr dataset\n",
@@ -152,7 +158,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "482d204d-b5b6-40e5-ac42-55b459be1097",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# description of STAC collection\n",
@@ -164,7 +172,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "aa7ef52b-d89a-4d76-81a5-149bc95c32f5",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# license for dataset\n",
@@ -184,7 +194,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ab91268f-7200-4cb1-979a-c7d75531d2c0",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# dims_auto_extract = ['X', 'Y', 'T']\n",
@@ -203,15 +215,29 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "262f0882-9182-4470-a15a-4849b83ce3a9",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
    "id": "b03d52f3-1367-4255-a561-52ee4fc9e92d",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# use pyproj to automatically extract crs info\n",
-    "crs = pyproj.CRS.from_cf(ds.crs.attrs)\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
     "\n",
     "# alternatively, create the appropriate cartopy projection\n",
     "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
@@ -240,7 +266,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "d46805e0-8e94-4ebe-aa01-d9a2d7051459",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# pull out lat/lon bbox for data\n",
@@ -259,7 +287,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "f91e6693-e4be-4cb5-86d3-7386db1c0188",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
@@ -269,7 +299,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "8544a97d-62ea-4b26-9e8a-5d1663d3e632",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
@@ -280,7 +312,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "2bafc4d4-0401-4a2b-a025-2aa86bc5a15a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
@@ -291,7 +325,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "37fb3eb8-bc62-4179-9b70-6a17575e8f84",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# create a spatial extent object \n",
@@ -310,7 +346,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "41a84995-867c-4152-8c57-85e3758bbb77",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# pull out first and last timestamps\n",
@@ -330,7 +368,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "1b1e37c4-5348-46ad-abc9-e005b5d6c02b",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "collection_extent = pystac.Extent(spatial=spatial_extent, temporal=temporal_extent)"
@@ -350,7 +390,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "adf6c59d-58cd-48b1-a5fd-3bb205a3ef56",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# define folder location where your STAC catalog json file is\n",
@@ -363,7 +405,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "7e96811b-95ae-406a-9728-55fc429d4e1f",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "if catalog.get_child(collection_id):\n",
@@ -392,7 +436,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "094832af-d22b-4359-b0f6-cf687acce5cc",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "asset_id = \"zarr-s3-osn\"\n",
@@ -434,7 +480,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "fc00946d-2880-491d-9b3b-3aeeb4414d6c",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# instantiate extention on collection\n",
@@ -453,7 +501,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "120a4914-3302-44a5-a282-0308ac84f040",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# list out dataset dimensions\n",
@@ -467,7 +517,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "00a18a29-fb9a-4b56-8009-493122997b16",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# get x, y bounds for extent of those dimensions (required)\n",
@@ -488,7 +540,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# print out crs information in dataset\n",
@@ -499,7 +553,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "1b1d05ff-8e43-44a7-8343-178b112c4ad6",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # create the appropriate cartopy projection\n",
@@ -540,7 +596,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "82f1e9bd-52ee-46f5-9e95-c2359d95fcf3",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "#time_step = pd.Timedelta(get_step(ds, dim_names_dict['T'], time_dim=True)).isoformat()\n",
@@ -552,7 +610,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "64be65b2-de20-447a-a9c2-bd8eca3e440e",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for time steps: get all step values and locations\n",
@@ -563,7 +623,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "bc8dff39-2a2e-44a0-9b30-987107c2d1e2",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for time steps, cont:\n",
@@ -585,7 +647,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "a8ba7695-ca45-4db2-bd46-c465f4e37eff",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "x_step = stac_helpers.get_step(ds, dim_names_dict['X'])\n",
@@ -596,7 +660,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "fac4c9f2-a952-4c7f-aa32-862957372d6f",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps: get all step values and locations\n",
@@ -609,7 +675,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "8d0b5a2d-dc58-4ad6-b890-859ce6bb08de",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps, cont:\n",
@@ -631,7 +699,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "7405583b-ecb9-44b0-8815-048e42e55a42",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "y_step = stac_helpers.get_step(ds, dim_names_dict['Y'])\n",
@@ -642,7 +712,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ece0fe37-b54c-4721-aa9b-33d2998d191b",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps: get all step values and locations\n",
@@ -655,7 +727,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "abdafb8f-5217-4b82-91b6-eec8183c9128",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps, cont:\n",
@@ -681,7 +755,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "acd45d3c-7845-47e6-9b7d-e35627a7ca9a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "print(dims)"
@@ -691,7 +767,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "5a443497-67a9-4dce-a8e9-b08d31a88223",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# create a dictionary of datacube dimensions you would like to assign to this dataset\n",
@@ -721,7 +799,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "e9272931-fc0b-4f2a-9546-283033e9cde8",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# drop metpy_crs coordinate we have added\n",
@@ -744,7 +824,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
@@ -761,7 +841,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "10141fd4-91d6-491d-878b-02653720891d",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# add dimesions and variables to collection extension\n",
@@ -794,7 +876,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "4b75791b-6b2d-40be-b7c6-330a60888fb5",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "if catalog.get_child(collection_id):\n",
diff --git a/workflows/archive/TTU_2019_rcp85_station_data_create_collection_from_zarr.ipynb b/workflows/archive/TTU_2019_rcp85_station_data_create_collection_from_zarr.ipynb
index ac1d9963f3326d928d3ddb7b51a6ed87175e3dcb..22aa185e46fa3268b55883ad6352b1631e6edd82 100644
--- a/workflows/archive/TTU_2019_rcp85_station_data_create_collection_from_zarr.ipynb
+++ b/workflows/archive/TTU_2019_rcp85_station_data_create_collection_from_zarr.ipynb
@@ -19,7 +19,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "201e0945-de55-45ff-b095-c2af009a4e62",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "import pystac\n",
@@ -55,7 +57,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "15ee060d-3127-4024-a1ad-6aa0648667e1",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# name for STAC collection - should match name of zarr dataset\n",
@@ -128,7 +132,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "708f2cf5-79ab-49af-8067-de31d0d13ee6",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# open and view zarr dataset\n",
@@ -150,7 +156,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "482d204d-b5b6-40e5-ac42-55b459be1097",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# description of STAC collection\n",
@@ -175,7 +183,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ab91268f-7200-4cb1-979a-c7d75531d2c0",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# dims_auto_extract = ['X', 'Y', 'T']\n",
@@ -195,15 +205,29 @@
     "If there is no crs info that can be automatically extracted from the dataset with pyproj, you will need to manually identify the crs and create a crs object. This reference list of cartopy projections may be a helpful resource: https://scitools.org.uk/cartopy/docs/latest/reference/projections.html"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "aa8f1511-909c-422f-9be7-1d5c9a7e8054",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
    "id": "b03d52f3-1367-4255-a561-52ee4fc9e92d",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# use pyproj to automatically extract crs info\n",
-    "crs = pyproj.CRS.from_cf(ds.crs.attrs)\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
     "\n",
     "# alternatively, create the appropriate cartopy projection\n",
     "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
@@ -223,7 +247,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "4cee13ba-487d-483e-a013-b65685137502",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "ds.crs"
@@ -233,7 +259,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "f7bc73db-7717-450e-9679-525f7be0c910",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "crs.to_proj4()"
@@ -260,7 +288,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "d46805e0-8e94-4ebe-aa01-d9a2d7051459",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# pull out lat/lon bbox for data\n",
@@ -279,7 +309,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "f16fdb9e-7ed8-40fb-a4f1-9ecabdebc0a1",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
@@ -289,7 +321,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "074fc23c-f4d9-4427-80d3-fbf691e6d411",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
@@ -300,7 +334,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "5345c975-9fe3-48e1-a663-0275cdf275dc",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
@@ -311,7 +347,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "e0a5a222-743d-403a-9411-2406374803cf",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# create a spatial extent object \n",
@@ -330,7 +368,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "41a84995-867c-4152-8c57-85e3758bbb77",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# pull out first and last timestamps\n",
@@ -351,7 +391,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "1b1e37c4-5348-46ad-abc9-e005b5d6c02b",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "collection_extent = pystac.Extent(spatial=spatial_extent, temporal=temporal_extent)"
@@ -369,7 +411,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "adf6c59d-58cd-48b1-a5fd-3bb205a3ef56",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# define folder location where your STAC catalog json file is\n",
@@ -382,7 +426,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "7e96811b-95ae-406a-9728-55fc429d4e1f",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "if catalog.get_child(collection_id):\n",
@@ -411,7 +457,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "094832af-d22b-4359-b0f6-cf687acce5cc",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "asset_id = \"zarr-s3-osn\"\n",
@@ -453,7 +501,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "fc00946d-2880-491d-9b3b-3aeeb4414d6c",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# instantiate extention on collection\n",
@@ -481,7 +531,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# print out crs information in dataset\n",
@@ -492,7 +544,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "1b1d05ff-8e43-44a7-8343-178b112c4ad6",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # the datacube extension can accept reference_system information as a numerical EPSG code, \n",
@@ -530,7 +584,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "82f1e9bd-52ee-46f5-9e95-c2359d95fcf3",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "#time_step = pd.Timedelta(get_step(ds, dim_names_dict['T'], time_dim=True)).isoformat()\n",
@@ -542,7 +598,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "64be65b2-de20-447a-a9c2-bd8eca3e440e",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # optional debugging for time steps:\n",
@@ -555,7 +613,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "bc8dff39-2a2e-44a0-9b30-987107c2d1e2",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for time steps, cont:\n",
@@ -579,7 +639,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "a8ba7695-ca45-4db2-bd46-c465f4e37eff",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "x_step = stac_helpers.get_step(ds, dim_names_dict['X'])\n",
@@ -593,7 +655,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "fac4c9f2-a952-4c7f-aa32-862957372d6f",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # optional debugging for spatial steps:\n",
@@ -608,7 +672,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "8d0b5a2d-dc58-4ad6-b890-859ce6bb08de",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps, cont:\n",
@@ -632,7 +698,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "7405583b-ecb9-44b0-8815-048e42e55a42",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "y_step = stac_helpers.get_step(ds, dim_names_dict['Y'])\n",
@@ -646,7 +714,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ece0fe37-b54c-4721-aa9b-33d2998d191b",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # optional debugging for spatial steps:\n",
@@ -661,7 +731,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "abdafb8f-5217-4b82-91b6-eec8183c9128",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps, cont:\n",
@@ -688,7 +760,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "acd45d3c-7845-47e6-9b7d-e35627a7ca9a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "dims = list(ds.dims)\n",
@@ -699,7 +773,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "5a443497-67a9-4dce-a8e9-b08d31a88223",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# create a dictionary of datacube dimensions you would like to assign to this dataset\n",
@@ -720,7 +796,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "910cf68e-5d1d-43f9-baad-b8b5709dcbd7",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "dims_dict.keys()"
@@ -730,7 +808,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "74cac855-7570-42d6-a8a6-5d233bc06ad7",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "list(dims_dict.keys()) == dims"
@@ -740,7 +820,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "3d7d8551-13e2-4ec7-9f9c-b578d9780d66",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# make sure you added all the right dims\n",
@@ -759,7 +841,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "e9272931-fc0b-4f2a-9546-283033e9cde8",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# drop metpy_crs coordinate we have added\n",
@@ -782,7 +866,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
@@ -799,7 +883,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "10141fd4-91d6-491d-878b-02653720891d",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# add dimesions and variables to collection extension\n",
@@ -832,7 +918,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "4b75791b-6b2d-40be-b7c6-330a60888fb5",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "if catalog.get_child(collection_id):\n",
diff --git a/workflows/archive/TTU_2019_rcp85_time_slices_create_collection_from_zarr.ipynb b/workflows/archive/TTU_2019_rcp85_time_slices_create_collection_from_zarr.ipynb
index 61d2f9d9b7efb4520f8ec10a479f95648e72e5cc..e0730e35372197abaf4fcc79811959a0dfd3b862 100644
--- a/workflows/archive/TTU_2019_rcp85_time_slices_create_collection_from_zarr.ipynb
+++ b/workflows/archive/TTU_2019_rcp85_time_slices_create_collection_from_zarr.ipynb
@@ -19,7 +19,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "201e0945-de55-45ff-b095-c2af009a4e62",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "import pystac\n",
@@ -55,7 +57,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "a1e7b195-3e56-408a-b16b-52d79888728a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# name for STAC collection - should match name of zarr dataset\n",
@@ -130,7 +134,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "708f2cf5-79ab-49af-8067-de31d0d13ee6",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# open and view zarr dataset\n",
@@ -152,7 +158,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "482d204d-b5b6-40e5-ac42-55b459be1097",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# description of STAC collection\n",
@@ -186,7 +194,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ab91268f-7200-4cb1-979a-c7d75531d2c0",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# dims_auto_extract = ['X', 'Y', 'T']\n",
@@ -205,15 +215,29 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "c2b5a003-a382-4887-8ca1-e51c54e9050b",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
    "id": "b03d52f3-1367-4255-a561-52ee4fc9e92d",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# use pyproj to automatically extract crs info\n",
-    "crs = pyproj.CRS.from_cf(ds.crs.attrs)\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
     "\n",
     "# alternatively, create the appropriate cartopy projection\n",
     "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
@@ -242,7 +266,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "d46805e0-8e94-4ebe-aa01-d9a2d7051459",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# pull out lat/lon bbox for data\n",
@@ -261,7 +287,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "e9ed6ff9-8ac0-4e8b-8641-9314f2d5e4e1",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
@@ -271,7 +299,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "797e274f-a9e6-4aa5-a9d9-070dada92a4f",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
@@ -282,7 +312,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "1806104c-50b4-4266-a8dc-a0c67f554634",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
@@ -293,7 +325,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "18551939-abab-4cac-bc94-c6feb523fd4f",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# create a spatial extent object \n",
@@ -312,7 +346,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "41a84995-867c-4152-8c57-85e3758bbb77",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# pull out first and last timestamps\n",
@@ -332,7 +368,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "1b1e37c4-5348-46ad-abc9-e005b5d6c02b",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "collection_extent = pystac.Extent(spatial=spatial_extent, temporal=temporal_extent)"
@@ -352,7 +390,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "adf6c59d-58cd-48b1-a5fd-3bb205a3ef56",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# define folder location where your STAC catalog json file is\n",
@@ -365,7 +405,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "7e96811b-95ae-406a-9728-55fc429d4e1f",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "if catalog.get_child(collection_id):\n",
@@ -394,7 +436,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "094832af-d22b-4359-b0f6-cf687acce5cc",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "asset_id = \"zarr-s3-osn\"\n",
@@ -436,7 +480,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "fc00946d-2880-491d-9b3b-3aeeb4414d6c",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# instantiate extention on collection\n",
@@ -455,7 +501,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "120a4914-3302-44a5-a282-0308ac84f040",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# list out dataset dimensions\n",
@@ -469,7 +517,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "00a18a29-fb9a-4b56-8009-493122997b16",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# get x, y bounds for extent of those dimensions (required)\n",
@@ -490,7 +540,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# print out crs information in dataset\n",
@@ -501,7 +553,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "1b1d05ff-8e43-44a7-8343-178b112c4ad6",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # create the appropriate cartopy projection\n",
@@ -542,7 +596,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "82f1e9bd-52ee-46f5-9e95-c2359d95fcf3",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "#time_step = pd.Timedelta(get_step(ds, dim_names_dict['T'], time_dim=True)).isoformat()\n",
@@ -554,7 +610,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "64be65b2-de20-447a-a9c2-bd8eca3e440e",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for time steps: get all step values and locations\n",
@@ -565,7 +623,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "bc8dff39-2a2e-44a0-9b30-987107c2d1e2",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for time steps, cont:\n",
@@ -587,7 +647,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "a8ba7695-ca45-4db2-bd46-c465f4e37eff",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "x_step = stac_helpers.get_step(ds, dim_names_dict['X'])\n",
@@ -598,7 +660,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "fac4c9f2-a952-4c7f-aa32-862957372d6f",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps: get all step values and locations\n",
@@ -611,7 +675,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "8d0b5a2d-dc58-4ad6-b890-859ce6bb08de",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps, cont:\n",
@@ -633,7 +699,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "7405583b-ecb9-44b0-8815-048e42e55a42",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "y_step = stac_helpers.get_step(ds, dim_names_dict['Y'])\n",
@@ -644,7 +712,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "ece0fe37-b54c-4721-aa9b-33d2998d191b",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps: get all step values and locations\n",
@@ -657,7 +727,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "abdafb8f-5217-4b82-91b6-eec8183c9128",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps, cont:\n",
@@ -683,7 +755,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "acd45d3c-7845-47e6-9b7d-e35627a7ca9a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "print(dims)"
@@ -693,7 +767,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "5a443497-67a9-4dce-a8e9-b08d31a88223",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# create a dictionary of datacube dimensions you would like to assign to this dataset\n",
@@ -723,7 +799,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "e9272931-fc0b-4f2a-9546-283033e9cde8",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# drop metpy_crs coordinate we have added\n",
@@ -746,7 +824,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
@@ -763,7 +841,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "10141fd4-91d6-491d-878b-02653720891d",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# add dimesions and variables to collection extension\n",
@@ -796,7 +876,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "4b75791b-6b2d-40be-b7c6-330a60888fb5",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "if catalog.get_child(collection_id):\n",
diff --git a/workflows/archive/alaska_et_2020_ccsm4_historical_simulation_create_collection_from_zarr.ipynb b/workflows/archive/alaska_et_2020_ccsm4_historical_simulation_create_collection_from_zarr.ipynb
index 187746e29646b5ffb64e65e9b27b3dfd41acaf0d..423be8d4bc721495b4f8d4214e87c4e40cfa5ef3 100644
--- a/workflows/archive/alaska_et_2020_ccsm4_historical_simulation_create_collection_from_zarr.ipynb
+++ b/workflows/archive/alaska_et_2020_ccsm4_historical_simulation_create_collection_from_zarr.ipynb
@@ -35,12 +35,12 @@
     "import pandas as pd\n",
     "import json\n",
     "import numpy as np\n",
-    "import metpy\n",
+    "import pyproj\n",
+    "from pyproj import Transformer\n",
     "import cartopy.crs as ccrs\n",
     "import cfunits\n",
     "import json\n",
     "import sys\n",
-    "from pyproj import Transformer\n",
     "sys.path.insert(1, '..')\n",
     "import stac_helpers"
    ]
@@ -214,6 +214,18 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "f168c59f-9326-42a7-8db3-28dc4b50a416",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs_var = 'polar_stereographic'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -223,8 +235,13 @@
    },
    "outputs": [],
    "source": [
-    "ds  = ds.metpy.parse_cf()\n",
-    "crs = ds[list(ds.keys())[0]].metpy.pyproj_proj"
+    "# use pyproj to automatically extract crs info\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
+    "\n",
+    "# alternatively, create the appropriate cartopy projection\n",
+    "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
+    "#                             central_latitude=crs_info.latitude_of_projection_origin,\n",
+    "#                             standard_parallels=crs_info.standard_parallel)"
    ]
   },
   {
@@ -239,17 +256,21 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "03b05ed7-dfd7-497e-abb2-0711691502e3",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
-    "ds.polar_stereographic"
+    "ds[crs_var]"
    ]
   },
   {
    "cell_type": "code",
    "execution_count": null,
    "id": "700f39b4-bb45-40d2-ac0b-dfbf813007e3",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "crs.to_proj4()"
@@ -275,7 +296,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "aff4370e-205c-4a35-9c14-1d74be8d1f11",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# pull out lat/lon bbox for data\n",
@@ -294,7 +317,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "1a958e87-8dc0-4a4d-985f-302fa09e13fb",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
@@ -304,10 +329,12 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "d14bd8b0-d11c-4927-a6b1-7a8fcb35f5b8",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
-    "transformer = Transformer.from_crs(crs.crs, \"EPSG:4326\", always_xy=True)\n",
+    "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
     "lon, lat = transformer.transform(XX.ravel(), YY.ravel())"
    ]
   },
@@ -315,7 +342,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "5bd4dc6e-45a0-4af3-a29a-336b4f2d2532",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
@@ -326,7 +355,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "dd752c5a-778a-4821-9478-55905d7ec121",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# create a spatial extent object \n",
@@ -721,7 +752,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
diff --git a/workflows/archive/alaska_et_2020_era-interim_reanalysis_create_collection_from_zarr.ipynb b/workflows/archive/alaska_et_2020_era-interim_reanalysis_create_collection_from_zarr.ipynb
index 69ffaefd44b47035aff92a567bd3e03890b247af..c1920c8281396f65bc03fb143be0ac185d600241 100644
--- a/workflows/archive/alaska_et_2020_era-interim_reanalysis_create_collection_from_zarr.ipynb
+++ b/workflows/archive/alaska_et_2020_era-interim_reanalysis_create_collection_from_zarr.ipynb
@@ -35,12 +35,12 @@
     "import pandas as pd\n",
     "import json\n",
     "import numpy as np\n",
-    "import metpy\n",
+    "import pyproj\n",
+    "from pyproj import Transformer\n",
     "import cartopy.crs as ccrs\n",
     "import cfunits\n",
     "import json\n",
     "import sys\n",
-    "from pyproj import Transformer\n",
     "sys.path.insert(1, '..')\n",
     "import stac_helpers"
    ]
@@ -214,6 +214,18 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "2b97dba9-9af3-4979-a8ac-c2782985346e",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs_var = 'polar_stereographic'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -223,8 +235,13 @@
    },
    "outputs": [],
    "source": [
-    "ds  = ds.metpy.parse_cf()\n",
-    "crs = ds[list(ds.keys())[0]].metpy.pyproj_proj"
+    "# use pyproj to automatically extract crs info\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
+    "\n",
+    "# alternatively, create the appropriate cartopy projection\n",
+    "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
+    "#                             central_latitude=crs_info.latitude_of_projection_origin,\n",
+    "#                             standard_parallels=crs_info.standard_parallel)"
    ]
   },
   {
@@ -239,17 +256,21 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "bec46024-befc-4161-a91a-e4a38daddeff",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
-    "ds.polar_stereographic"
+    "ds[crs_var]"
    ]
   },
   {
    "cell_type": "code",
    "execution_count": null,
    "id": "eaaac451-7262-4473-aebb-ed7ff59f4b37",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "crs.to_proj4()"
@@ -292,7 +313,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "018385b2-121c-4d9c-ac3e-405e25db7bef",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
@@ -302,10 +325,12 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "9cfdfda6-2bb3-4647-b922-e5bdf09cb611",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
-    "transformer = Transformer.from_crs(crs.crs, \"EPSG:4326\", always_xy=True)\n",
+    "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
     "lon, lat = transformer.transform(XX.ravel(), YY.ravel())"
    ]
   },
@@ -313,7 +338,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "f3305ce4-0143-4b6a-8b14-c8b1817a0803",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
@@ -324,7 +351,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "87de6aeb-f6cd-40ab-a747-de757c9d0af1",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "spatial_extent = pystac.SpatialExtent(bboxes=[[min(lon).item(), min(lat).item(), max(lon).item(), max(lat).item()]])"
@@ -719,7 +748,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
diff --git a/workflows/archive/alaska_et_2020_gfdl_historical_simulation_create_collection_from_zarr.ipynb b/workflows/archive/alaska_et_2020_gfdl_historical_simulation_create_collection_from_zarr.ipynb
index 7a5470f623b20629c47f76a909251b713340404c..f4239647be82668f858b3422762725c00c65394e 100644
--- a/workflows/archive/alaska_et_2020_gfdl_historical_simulation_create_collection_from_zarr.ipynb
+++ b/workflows/archive/alaska_et_2020_gfdl_historical_simulation_create_collection_from_zarr.ipynb
@@ -35,12 +35,12 @@
     "import pandas as pd\n",
     "import json\n",
     "import numpy as np\n",
-    "import metpy\n",
+    "import pyproj\n",
+    "from pyproj import Transformer\n",
     "import cartopy.crs as ccrs\n",
     "import cfunits\n",
     "import json\n",
     "import sys\n",
-    "from pyproj import Transformer\n",
     "sys.path.insert(1, '..')\n",
     "import stac_helpers"
    ]
@@ -214,6 +214,18 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "d58ae3a4-f3cc-433b-93ff-6dd6d3627ff3",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs_var = 'polar_stereographic'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -223,8 +235,13 @@
    },
    "outputs": [],
    "source": [
-    "ds  = ds.metpy.parse_cf()\n",
-    "crs = ds[list(ds.keys())[0]].metpy.pyproj_proj"
+    "# use pyproj to automatically extract crs info\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
+    "\n",
+    "# alternatively, create the appropriate cartopy projection\n",
+    "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
+    "#                             central_latitude=crs_info.latitude_of_projection_origin,\n",
+    "#                             standard_parallels=crs_info.standard_parallel)"
    ]
   },
   {
@@ -239,17 +256,21 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "276e86a1-fa2b-4ebf-93a1-2f2984ade96a",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
-    "ds.polar_stereographic"
+    "ds[crs_var]"
    ]
   },
   {
    "cell_type": "code",
    "execution_count": null,
    "id": "4823953c-3a8a-42f0-b325-98da43386882",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "crs.to_proj4()"
@@ -292,7 +313,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "885f7514-f91d-4e8d-961d-8d710ee22eec",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
@@ -302,10 +325,12 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "339ccd0d-a613-47c0-8fa0-83c608ab4b72",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
-    "transformer = Transformer.from_crs(crs.crs, \"EPSG:4326\", always_xy=True)\n",
+    "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
     "lon, lat = transformer.transform(XX.ravel(), YY.ravel())"
    ]
   },
@@ -313,7 +338,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "7d28e137-b744-407d-b347-33b2f1772803",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
@@ -324,7 +351,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "6e3a9999-baa7-4f02-9ae7-89ebc64e7662",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "spatial_extent = pystac.SpatialExtent(bboxes=[[min(lon).item(), min(lat).item(), max(lon).item(), max(lat).item()]])"
@@ -719,7 +748,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
diff --git a/workflows/archive/cprep_create_collection_from_zarr.ipynb b/workflows/archive/cprep_create_collection_from_zarr.ipynb
index 38eff15f0e53c9f73413b9ea224ed1319f8e7546..df0be7b8d2d3dae9878db12a38cfe38f8b70f929 100644
--- a/workflows/archive/cprep_create_collection_from_zarr.ipynb
+++ b/workflows/archive/cprep_create_collection_from_zarr.ipynb
@@ -37,7 +37,8 @@
     "import pandas as pd\n",
     "import json\n",
     "import numpy as np\n",
-    "import metpy\n",
+    "import pyproj\n",
+    "from pyproj import Transformer\n",
     "import cartopy.crs as ccrs\n",
     "import cfunits\n",
     "import json\n",
@@ -269,6 +270,18 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "4a981eca-93fd-4a9d-bbdf-52d0a99d6bc0",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -278,8 +291,37 @@
    },
    "outputs": [],
    "source": [
-    "ds  = ds.metpy.parse_cf()\n",
-    "crs = ds[list(ds.keys())[0]].metpy.cartopy_crs"
+    "# use pyproj to automatically extract crs info\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
+    "\n",
+    "# alternatively, create the appropriate cartopy projection\n",
+    "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
+    "#                             central_latitude=crs_info.latitude_of_projection_origin,\n",
+    "#                             standard_parallels=crs_info.standard_parallel)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "1a0f2a58-a126-4438-a4c2-5c35653f4a62",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "ds[crs_var]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "a702f7ff-6201-4283-8e8c-c23f685d7165",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs.to_proj4()"
    ]
   },
   {
@@ -310,15 +352,64 @@
     "# pull out lat/lon bbox for data\n",
     "# coordinates must be from WGS 84 datum\n",
     "# left, bottom, right, top\n",
-    "# Note: I'm not sure why but I have some trouble getting the data type right here - \n",
-    "# I've included all the options I've had to run to get it to not be a regular float rather \n",
-    "# than a numpy float below - switch the commented line if you have this issue\n",
-    "#coord_bounds = [ds.lon.data.min().compute().astype(float), ds.lat.data.min().compute().astype(float), ds.lon.data.max().compute().astype(float), ds.lat.data.max().compute().astype(float)]\n",
-    "#coord_bounds = [ds.lon.data.min().compute().astype(float).tolist(), ds.lat.data.min().compute().astype(float).tolist(), ds.lon.data.max().compute().astype(float).tolist(), ds.lat.data.max().compute().astype(float).tolist()]\n",
-    "coord_bounds = [ds.lon.data.min().astype(float).item(), ds.lat.data.min().astype(float).item(), ds.lon.data.max().astype(float).item(), ds.lat.data.max().astype(float).item()]\n",
-    "print(coord_bounds)\n",
+    "\n",
+    "# Note: try changing around the commented out lines below to get type float rather than a numpy float\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
+    "spatial_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
+    "print(spatial_bounds)\n",
+    "print(f'\\nspatial_bounds data type: {type(spatial_bounds[0])}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "a9febf0f-d299-4758-a2a8-abed7328698d",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "b0846798-c968-4db2-9505-3078327dd358",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
+    "lon, lat = transformer.transform(XX.ravel(), YY.ravel())"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "680aeb26-51cb-468d-8bda-b6e6cc7af611",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
+    "print(f'upper right coordinates (WGS84): {max(lon)}, {max(lat)}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "d72e37ab-2b9d-4a15-a502-be79622dd7cb",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
     "# create a spatial extent object \n",
-    "spatial_extent = pystac.SpatialExtent(bboxes=[coord_bounds])"
+    "spatial_extent = pystac.SpatialExtent(bboxes=[[min(lon).item(), min(lat).item(), max(lon).item(), max(lat).item()]])"
    ]
   },
   {
@@ -497,20 +588,6 @@
     "print(dims)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "00a18a29-fb9a-4b56-8009-493122997b16",
-   "metadata": {
-    "tags": []
-   },
-   "outputs": [],
-   "source": [
-    "# get x, y bounds for extent of those dimensions (required)\n",
-    "xy_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(xy_bounds)"
-   ]
-  },
   {
    "cell_type": "markdown",
    "id": "e7dc357c-91ec-49ae-83e5-400f791f9792",
@@ -520,19 +597,6 @@
     "reference list of cartopy projections: https://scitools.org.uk/cartopy/docs/latest/reference/projections.html"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {
-    "tags": []
-   },
-   "outputs": [],
-   "source": [
-    "# print ot crs information in dataset\n",
-    "print(crs)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -766,13 +830,26 @@
     "# dimension name should come from the coordinates printed above\n",
     "# we do not recommend including redundant dimensions (do not include x,y if you have lon,lat)\n",
     "# note that the extent of each dimension should be pulled from the dataset\n",
-    "dims_dict = {'time': pystac.extensions.datacube.Dimension({'type': 'temporal', 'description': stac_helpers.get_long_name(ds, 'time'), 'extent': [temporal_extent_lower.strftime('%Y-%m-%dT%XZ'), temporal_extent_upper.strftime('%Y-%m-%dT%XZ')], 'step': time_step}),\n",
-    "             'lon': pystac.extensions.datacube.Dimension({'type': 'spatial', 'description': stac_helpers.get_long_name(ds, 'lon'), 'axis': 'x', 'extent': [xy_bounds[0], xy_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
-    "             'lat': pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, 'lat'), 'extent': [xy_bounds[1], xy_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
+    "dims_dict = {dim_names_dict['T']: pystac.extensions.datacube.Dimension({'type': 'temporal', 'description': stac_helpers.get_long_name(ds, dim_names_dict['T']), 'extent': [temporal_extent_lower.strftime('%Y-%m-%dT%XZ'), temporal_extent_upper.strftime('%Y-%m-%dT%XZ')], 'step':time_step}),\n",
+    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [spatial_bounds[0], spatial_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [spatial_bounds[1], spatial_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
     "             'bnds': pystac.extensions.datacube.Dimension({'type': 'count', 'description': stac_helpers.get_long_name(ds, 'bnds'), 'extent': [ds.bnds.min().item(), ds.bnds.max().item()]}),\n",
     "            }"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "27e62de2-1143-453f-8f56-cf0a80048158",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "# make sure you added all the right dims\n",
+    "assert sorted(list(dims_dict.keys())) == sorted(dims)"
+   ]
+  },
   {
    "cell_type": "markdown",
    "id": "0f277883-a3fd-425f-966a-ca2140d0ef2f",
@@ -808,7 +885,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
diff --git a/workflows/archive/iclus_hc_create_collection_from_zarr.ipynb b/workflows/archive/iclus_hc_create_collection_from_zarr.ipynb
index 50c84485e6a56682e2a2bc424e70596123d0947b..eba8e73c0812da9760bec8a3cbb1c5fb09a2a88c 100644
--- a/workflows/archive/iclus_hc_create_collection_from_zarr.ipynb
+++ b/workflows/archive/iclus_hc_create_collection_from_zarr.ipynb
@@ -35,11 +35,12 @@
     "import pandas as pd\n",
     "import json\n",
     "import numpy as np\n",
+    "import pyproj\n",
+    "from pyproj import Transformer\n",
     "import cartopy.crs as ccrs\n",
     "import cfunits\n",
     "import json\n",
     "import sys\n",
-    "from pyproj import Transformer\n",
     "sys.path.insert(1, '..')\n",
     "import stac_helpers\n",
     "import dask\n",
@@ -218,6 +219,18 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "b2520710-a8a0-466d-adef-9ed01ed3dccf",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -228,7 +241,7 @@
    "outputs": [],
    "source": [
     "# use pyproj to automatically extract crs info\n",
-    "crs = pyproj.CRS.from_cf(ds.crs.attrs)\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
     "\n",
     "# alternatively, create the appropriate cartopy projection\n",
     "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
@@ -253,7 +266,7 @@
    },
    "outputs": [],
    "source": [
-    "ds.crs"
+    "ds[crs_var]"
    ]
   },
   {
@@ -315,8 +328,8 @@
    },
    "outputs": [],
    "source": [
-    "# this is currently crashing - working on a dask application of this\n",
-    "XX, YY = dask.array.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
+    "# uncomment if you wish to use dask\n",
+    "# XX, YY = dask.array.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
    ]
   },
   {
@@ -902,7 +915,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
diff --git a/workflows/archive/maca_vic_future_create_collection_from_zarr.ipynb b/workflows/archive/maca_vic_future_create_collection_from_zarr.ipynb
index c21c4d41c2d97001e430e2c4bf6aafa83c322bb7..f877bf95edcac5a96a9227f19620f3e0e2cc64a9 100644
--- a/workflows/archive/maca_vic_future_create_collection_from_zarr.ipynb
+++ b/workflows/archive/maca_vic_future_create_collection_from_zarr.ipynb
@@ -33,7 +33,8 @@
     "import pandas as pd\n",
     "import json\n",
     "import numpy as np\n",
-    "import metpy\n",
+    "import pyproj\n",
+    "from pyproj import Transformer\n",
     "import cartopy.crs as ccrs\n",
     "import cfunits\n",
     "import json\n",
@@ -206,6 +207,16 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "4cadb3f9-aeb8-4eeb-97ac-9c3229d113f2",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -213,8 +224,13 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "ds  = ds.metpy.parse_cf()\n",
-    "crs = ds[list(ds.keys())[0]].metpy.cartopy_crs"
+    "# use pyproj to automatically extract crs info\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
+    "\n",
+    "# alternatively, create the appropriate cartopy projection\n",
+    "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
+    "#                             central_latitude=crs_info.latitude_of_projection_origin,\n",
+    "#                             standard_parallels=crs_info.standard_parallel)"
    ]
   },
   {
@@ -245,14 +261,63 @@
     "# coordinates must be from WGS 84 datum\n",
     "# left, bottom, right, top\n",
     "\n",
-    "# Note: try changing around the commented out lines below to get type float ratherthan a numpy float\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
-    "coord_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(coord_bounds)\n",
-    "print(f'\\ncoord_bounds data type: {type(coord_bounds[0])}')\n",
+    "# Note: try changing around the commented out lines below to get type float rather than a numpy float\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
+    "spatial_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
+    "print(spatial_bounds)\n",
+    "print(f'\\nspatial_bounds data type: {type(spatial_bounds[0])}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "e1d48ca1-6d83-4a59-92a9-f62e2973cc2c",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "8099f4a3-8436-4be3-92e6-dd1334f68d03",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
+    "lon, lat = transformer.transform(XX.ravel(), YY.ravel())"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "2ad1b284-2bfb-4f7e-9352-ea0def425807",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
+    "print(f'upper right coordinates (WGS84): {max(lon)}, {max(lat)}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "37aed6d8-e938-473d-888b-83fecf10aa4e",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
     "# create a spatial extent object \n",
-    "spatial_extent = pystac.SpatialExtent(bboxes=[coord_bounds])"
+    "spatial_extent = pystac.SpatialExtent(bboxes=[[min(lon).item(), min(lat).item(), max(lon).item(), max(lat).item()]])"
    ]
   },
   {
@@ -418,18 +483,6 @@
     "print(dims)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "00a18a29-fb9a-4b56-8009-493122997b16",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# get x, y bounds for extent of those dimensions (required)\n",
-    "xy_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(xy_bounds)"
-   ]
-  },
   {
    "cell_type": "markdown",
    "id": "e7dc357c-91ec-49ae-83e5-400f791f9792",
@@ -439,17 +492,6 @@
     "reference list of cartopy projections: https://scitools.org.uk/cartopy/docs/latest/reference/projections.html"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# print out crs information in dataset\n",
-    "print(crs)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -655,8 +697,8 @@
     "# we do not recommend including redundant dimensions (do not include x,y if you have lon,lat)\n",
     "# note that the extent of each dimension should be pulled from the dataset\n",
     "dims_dict = {dim_names_dict['T']: pystac.extensions.datacube.Dimension({'type': 'temporal', 'description': stac_helpers.get_long_name(ds, dim_names_dict['T']), 'extent': [temporal_extent_lower.strftime('%Y-%m-%dT%XZ'), temporal_extent_upper.strftime('%Y-%m-%dT%XZ')], 'step':time_step}),\n",
-    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [xy_bounds[0], xy_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
-    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [xy_bounds[1], xy_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [spatial_bounds[0], spatial_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [spatial_bounds[1], spatial_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
     "            }"
    ]
   },
@@ -695,7 +737,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
diff --git a/workflows/archive/maca_vic_past_create_collection_from_zarr.ipynb b/workflows/archive/maca_vic_past_create_collection_from_zarr.ipynb
index 1ceab06196e64ec3e112dba68cc6655d34fb1077..f289292c494424b4a26226898886e6a3b76e57f9 100644
--- a/workflows/archive/maca_vic_past_create_collection_from_zarr.ipynb
+++ b/workflows/archive/maca_vic_past_create_collection_from_zarr.ipynb
@@ -33,7 +33,8 @@
     "import pandas as pd\n",
     "import json\n",
     "import numpy as np\n",
-    "import metpy\n",
+    "import pyproj\n",
+    "from pyproj import Transformer\n",
     "import cartopy.crs as ccrs\n",
     "import cfunits\n",
     "import json\n",
@@ -206,6 +207,16 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "39497901-2d08-4926-8eaf-1d447cf27210",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -213,8 +224,13 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "ds  = ds.metpy.parse_cf()\n",
-    "crs = ds[list(ds.keys())[0]].metpy.cartopy_crs"
+    "# use pyproj to automatically extract crs info\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
+    "\n",
+    "# alternatively, create the appropriate cartopy projection\n",
+    "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
+    "#                             central_latitude=crs_info.latitude_of_projection_origin,\n",
+    "#                             standard_parallels=crs_info.standard_parallel)"
    ]
   },
   {
@@ -245,14 +261,63 @@
     "# coordinates must be from WGS 84 datum\n",
     "# left, bottom, right, top\n",
     "\n",
-    "# Note: try changing around the commented out lines below to get type float ratherthan a numpy float\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
-    "coord_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(coord_bounds)\n",
-    "print(f'\\ncoord_bounds data type: {type(coord_bounds[0])}')\n",
+    "# Note: try changing around the commented out lines below to get type float rather than a numpy float\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
+    "spatial_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
+    "print(spatial_bounds)\n",
+    "print(f'\\nspatial_bounds data type: {type(spatial_bounds[0])}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "a1a01cb7-bdd1-4a88-9a50-e960e626b79a",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "03f6b50b-512f-403d-b5d6-f67e8305d901",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
+    "lon, lat = transformer.transform(XX.ravel(), YY.ravel())"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "94bad4b9-6cde-4dcf-8657-c0fb2fe5a952",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
+    "print(f'upper right coordinates (WGS84): {max(lon)}, {max(lat)}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "9c5456f5-0f68-42d1-8ff8-3abec3b81957",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
     "# create a spatial extent object \n",
-    "spatial_extent = pystac.SpatialExtent(bboxes=[coord_bounds])"
+    "spatial_extent = pystac.SpatialExtent(bboxes=[[min(lon).item(), min(lat).item(), max(lon).item(), max(lat).item()]])"
    ]
   },
   {
@@ -418,18 +483,6 @@
     "print(dims)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "00a18a29-fb9a-4b56-8009-493122997b16",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# get x, y bounds for extent of those dimensions (required)\n",
-    "xy_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(xy_bounds)"
-   ]
-  },
   {
    "cell_type": "markdown",
    "id": "e7dc357c-91ec-49ae-83e5-400f791f9792",
@@ -439,17 +492,6 @@
     "reference list of cartopy projections: https://scitools.org.uk/cartopy/docs/latest/reference/projections.html"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# print out crs information in dataset\n",
-    "print(crs)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -655,8 +697,8 @@
     "# we do not recommend including redundant dimensions (do not include x,y if you have lon,lat)\n",
     "# note that the extent of each dimension should be pulled from the dataset\n",
     "dims_dict = {dim_names_dict['T']: pystac.extensions.datacube.Dimension({'type': 'temporal', 'description': stac_helpers.get_long_name(ds, dim_names_dict['T']), 'extent': [temporal_extent_lower.strftime('%Y-%m-%dT%XZ'), temporal_extent_upper.strftime('%Y-%m-%dT%XZ')], 'step':time_step}),\n",
-    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [xy_bounds[0], xy_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
-    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [xy_bounds[1], xy_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [spatial_bounds[0], spatial_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [spatial_bounds[1], spatial_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
     "            }"
    ]
   },
@@ -695,7 +737,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
diff --git a/workflows/archive/macav2_future_daily_create_collection_from_zarr.ipynb b/workflows/archive/macav2_future_daily_create_collection_from_zarr.ipynb
index e6553681c7860c070b6f19288bebc0132c30e103..c665f9b469056a46ebb7a068b114bc017b34f3ec 100644
--- a/workflows/archive/macav2_future_daily_create_collection_from_zarr.ipynb
+++ b/workflows/archive/macav2_future_daily_create_collection_from_zarr.ipynb
@@ -33,7 +33,8 @@
     "import pandas as pd\n",
     "import json\n",
     "import numpy as np\n",
-    "import metpy\n",
+    "import pyproj\n",
+    "from pyproj import Transformer\n",
     "import cartopy.crs as ccrs\n",
     "import cfunits\n",
     "import json\n",
@@ -206,6 +207,16 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "4c1e0914-684e-4843-9ba0-86f7132097f8",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -213,8 +224,37 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "ds  = ds.metpy.parse_cf()\n",
-    "crs = ds[list(ds.keys())[0]].metpy.cartopy_crs"
+    "# use pyproj to automatically extract crs info\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
+    "\n",
+    "# alternatively, create the appropriate cartopy projection\n",
+    "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
+    "#                             central_latitude=crs_info.latitude_of_projection_origin,\n",
+    "#                             standard_parallels=crs_info.standard_parallel)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "a62e09de-e283-49b7-bb19-df40c4a25ac9",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "ds[crs_var]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "58002efd-428e-4c6e-ad6e-ceb04972197c",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs.to_proj4()"
    ]
   },
   {
@@ -245,14 +285,63 @@
     "# coordinates must be from WGS 84 datum\n",
     "# left, bottom, right, top\n",
     "\n",
-    "# Note: try changing around the commented out lines below to get type float ratherthan a numpy float\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
-    "coord_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(coord_bounds)\n",
-    "print(f'\\ncoord_bounds data type: {type(coord_bounds[0])}')\n",
+    "# Note: try changing around the commented out lines below to get type float rather than a numpy float\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
+    "spatial_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
+    "print(spatial_bounds)\n",
+    "print(f'\\nspatial_bounds data type: {type(spatial_bounds[0])}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "f5a14386-8cf9-475f-9fb0-9433ef338174",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "5922b7a4-758c-4e73-93bc-2bee7519210d",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
+    "lon, lat = transformer.transform(XX.ravel(), YY.ravel())"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "59e4f4b3-fd96-4041-b413-8b6c31a59116",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
+    "print(f'upper right coordinates (WGS84): {max(lon)}, {max(lat)}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "29e92d6d-d924-48c4-a6f3-eb55991b008e",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
     "# create a spatial extent object \n",
-    "spatial_extent = pystac.SpatialExtent(bboxes=[coord_bounds])"
+    "spatial_extent = pystac.SpatialExtent(bboxes=[[min(lon).item(), min(lat).item(), max(lon).item(), max(lat).item()]])"
    ]
   },
   {
@@ -415,18 +504,6 @@
     "print(dims)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "00a18a29-fb9a-4b56-8009-493122997b16",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# get x, y bounds for extent of those dimensions (required)\n",
-    "xy_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(xy_bounds)"
-   ]
-  },
   {
    "cell_type": "markdown",
    "id": "e7dc357c-91ec-49ae-83e5-400f791f9792",
@@ -436,17 +513,6 @@
     "reference list of cartopy projections: https://scitools.org.uk/cartopy/docs/latest/reference/projections.html"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# print out crs information in dataset\n",
-    "print(crs)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -660,8 +726,8 @@
     "# we do not recommend including redundant dimensions (do not include x,y if you have lon,lat)\n",
     "# note that the extent of each dimension should be pulled from the dataset\n",
     "dims_dict = {dim_names_dict['T']: pystac.extensions.datacube.Dimension({'type': 'temporal', 'description': stac_helpers.get_long_name(ds, dim_names_dict['T']), 'extent': [temporal_extent_lower.strftime('%Y-%m-%dT%XZ'), temporal_extent_upper.strftime('%Y-%m-%dT%XZ')], 'step':time_step}),\n",
-    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [xy_bounds[0], xy_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
-    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [xy_bounds[1], xy_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [spatial_bounds[0], spatial_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [spatial_bounds[1], spatial_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
     "            }"
    ]
   },
@@ -700,7 +766,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
diff --git a/workflows/archive/macav2_future_monthly_create_collection_from_zarr.ipynb b/workflows/archive/macav2_future_monthly_create_collection_from_zarr.ipynb
index 2d2c3ab93eea05983ff8706978cb26d48b6f4f55..61932b97964a02deb53dd9472a3ca874e106fe9d 100644
--- a/workflows/archive/macav2_future_monthly_create_collection_from_zarr.ipynb
+++ b/workflows/archive/macav2_future_monthly_create_collection_from_zarr.ipynb
@@ -33,7 +33,8 @@
     "import pandas as pd\n",
     "import json\n",
     "import numpy as np\n",
-    "import metpy\n",
+    "import pyproj\n",
+    "from pyproj import Transformer\n",
     "import cartopy.crs as ccrs\n",
     "import cfunits\n",
     "import json\n",
@@ -206,6 +207,16 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "09bdcd33-4ec0-4d72-ba59-d4edae59640a",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -213,8 +224,37 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "ds  = ds.metpy.parse_cf()\n",
-    "crs = ds[list(ds.keys())[0]].metpy.cartopy_crs"
+    "# use pyproj to automatically extract crs info\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
+    "\n",
+    "# alternatively, create the appropriate cartopy projection\n",
+    "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
+    "#                             central_latitude=crs_info.latitude_of_projection_origin,\n",
+    "#                             standard_parallels=crs_info.standard_parallel)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "5814e103-0aee-419a-939b-7f8ce88d28c7",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "ds[crs_var]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "456e41fd-61a3-4c28-a08b-b53881b27d42",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs.to_proj4()"
    ]
   },
   {
@@ -245,14 +285,63 @@
     "# coordinates must be from WGS 84 datum\n",
     "# left, bottom, right, top\n",
     "\n",
-    "# Note: try changing around the commented out lines below to get type float ratherthan a numpy float\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
-    "coord_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(coord_bounds)\n",
-    "print(f'\\ncoord_bounds data type: {type(coord_bounds[0])}')\n",
+    "# Note: try changing around the commented out lines below to get type float rather than a numpy float\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
+    "spatial_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
+    "print(spatial_bounds)\n",
+    "print(f'\\nspatial_bounds data type: {type(spatial_bounds[0])}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "35aab709-2bb6-4439-ad9d-db05b93f8578",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "3b1871bb-bc59-4204-a29f-c895137f5dd9",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
+    "lon, lat = transformer.transform(XX.ravel(), YY.ravel())"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "1daab29b-04d3-44cd-bece-1a65635144df",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
+    "print(f'upper right coordinates (WGS84): {max(lon)}, {max(lat)}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "4041639b-b514-453c-a73c-11097a6d875d",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
     "# create a spatial extent object \n",
-    "spatial_extent = pystac.SpatialExtent(bboxes=[coord_bounds])"
+    "spatial_extent = pystac.SpatialExtent(bboxes=[[min(lon).item(), min(lat).item(), max(lon).item(), max(lat).item()]])"
    ]
   },
   {
@@ -418,18 +507,6 @@
     "print(dims)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "00a18a29-fb9a-4b56-8009-493122997b16",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# get x, y bounds for extent of those dimensions (required)\n",
-    "xy_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(xy_bounds)"
-   ]
-  },
   {
    "cell_type": "markdown",
    "id": "e7dc357c-91ec-49ae-83e5-400f791f9792",
@@ -439,17 +516,6 @@
     "reference list of cartopy projections: https://scitools.org.uk/cartopy/docs/latest/reference/projections.html"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# print out crs information in dataset\n",
-    "print(crs)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -666,8 +732,8 @@
     "# we do not recommend including redundant dimensions (do not include x,y if you have lon,lat)\n",
     "# note that the extent of each dimension should be pulled from the dataset\n",
     "dims_dict = {dim_names_dict['T']: pystac.extensions.datacube.Dimension({'type': 'temporal', 'description': stac_helpers.get_long_name(ds, dim_names_dict['T']), 'extent': [temporal_extent_lower.strftime('%Y-%m-%dT%XZ'), temporal_extent_upper.strftime('%Y-%m-%dT%XZ')], 'step':time_step}),\n",
-    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [xy_bounds[0], xy_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
-    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [xy_bounds[1], xy_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [spatial_bounds[0], spatial_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [spatial_bounds[1], spatial_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
     "            }"
    ]
   },
@@ -706,7 +772,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
diff --git a/workflows/archive/macav2_historical_daily_create_collection_from_zarr.ipynb b/workflows/archive/macav2_historical_daily_create_collection_from_zarr.ipynb
index 419ed588969d16a29805ac59d8a90c7c51a2299e..7ea2c6a268145b5154cb967f994a18e19cd42810 100644
--- a/workflows/archive/macav2_historical_daily_create_collection_from_zarr.ipynb
+++ b/workflows/archive/macav2_historical_daily_create_collection_from_zarr.ipynb
@@ -33,7 +33,8 @@
     "import pandas as pd\n",
     "import json\n",
     "import numpy as np\n",
-    "import metpy\n",
+    "import pyproj\n",
+    "from pyproj import Transformer\n",
     "import cartopy.crs as ccrs\n",
     "import cfunits\n",
     "import json\n",
@@ -206,6 +207,16 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "bee579bf-bc09-40c4-9301-077f94a361cc",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -213,8 +224,37 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "ds  = ds.metpy.parse_cf()\n",
-    "crs = ds[list(ds.keys())[0]].metpy.cartopy_crs"
+    "# use pyproj to automatically extract crs info\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
+    "\n",
+    "# alternatively, create the appropriate cartopy projection\n",
+    "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
+    "#                             central_latitude=crs_info.latitude_of_projection_origin,\n",
+    "#                             standard_parallels=crs_info.standard_parallel)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "60fbf1fa-dcdd-472d-92d3-5f724c117787",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "ds[crs_var]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "7ea43da5-524e-4938-93e8-a128e26425f0",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs.to_proj4()"
    ]
   },
   {
@@ -245,14 +285,63 @@
     "# coordinates must be from WGS 84 datum\n",
     "# left, bottom, right, top\n",
     "\n",
-    "# Note: try changing around the commented out lines below to get type float ratherthan a numpy float\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
-    "coord_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(coord_bounds)\n",
-    "print(f'\\ncoord_bounds data type: {type(coord_bounds[0])}')\n",
+    "# Note: try changing around the commented out lines below to get type float rather than a numpy float\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
+    "spatial_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
+    "print(spatial_bounds)\n",
+    "print(f'\\nspatial_bounds data type: {type(spatial_bounds[0])}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "552cfd2e-8244-48f7-bb53-a5acbbb99084",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "d0fba421-206f-4cda-b714-5c2e3374c322",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
+    "lon, lat = transformer.transform(XX.ravel(), YY.ravel())"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "e4e913db-78f1-4a34-a578-c3f729343f34",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
+    "print(f'upper right coordinates (WGS84): {max(lon)}, {max(lat)}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "b5a896a9-68dc-48cb-91b6-3eab7113328e",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
     "# create a spatial extent object \n",
-    "spatial_extent = pystac.SpatialExtent(bboxes=[coord_bounds])"
+    "spatial_extent = pystac.SpatialExtent(bboxes=[[min(lon).item(), min(lat).item(), max(lon).item(), max(lat).item()]])"
    ]
   },
   {
@@ -415,18 +504,6 @@
     "print(dims)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "00a18a29-fb9a-4b56-8009-493122997b16",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# get x, y bounds for extent of those dimensions (required)\n",
-    "xy_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(xy_bounds)"
-   ]
-  },
   {
    "cell_type": "markdown",
    "id": "e7dc357c-91ec-49ae-83e5-400f791f9792",
@@ -436,17 +513,6 @@
     "reference list of cartopy projections: https://scitools.org.uk/cartopy/docs/latest/reference/projections.html"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# print out crs information in dataset\n",
-    "print(crs)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -660,8 +726,8 @@
     "# we do not recommend including redundant dimensions (do not include x,y if you have lon,lat)\n",
     "# note that the extent of each dimension should be pulled from the dataset\n",
     "dims_dict = {dim_names_dict['T']: pystac.extensions.datacube.Dimension({'type': 'temporal', 'description': stac_helpers.get_long_name(ds, dim_names_dict['T']), 'extent': [temporal_extent_lower.strftime('%Y-%m-%dT%XZ'), temporal_extent_upper.strftime('%Y-%m-%dT%XZ')], 'step':time_step}),\n",
-    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [xy_bounds[0], xy_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
-    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [xy_bounds[1], xy_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [spatial_bounds[0], spatial_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [spatial_bounds[1], spatial_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
     "            }"
    ]
   },
@@ -700,7 +766,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
diff --git a/workflows/archive/macav2_historical_monthly_create_collection_from_zarr.ipynb b/workflows/archive/macav2_historical_monthly_create_collection_from_zarr.ipynb
index 7cfacd9c78f58ca4aee1664ff6a8ecab53ca5306..94a27c9462b58c0474bfe4ac83c0b61c94009a6d 100644
--- a/workflows/archive/macav2_historical_monthly_create_collection_from_zarr.ipynb
+++ b/workflows/archive/macav2_historical_monthly_create_collection_from_zarr.ipynb
@@ -33,7 +33,8 @@
     "import pandas as pd\n",
     "import json\n",
     "import numpy as np\n",
-    "import metpy\n",
+    "import pyproj\n",
+    "from pyproj import Transformer\n",
     "import cartopy.crs as ccrs\n",
     "import cfunits\n",
     "import json\n",
@@ -206,6 +207,16 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "165c5ea8-af4a-4bfa-b217-216ef053bc04",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -213,8 +224,37 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "ds  = ds.metpy.parse_cf()\n",
-    "crs = ds[list(ds.keys())[0]].metpy.cartopy_crs"
+    "# use pyproj to automatically extract crs info\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
+    "\n",
+    "# alternatively, create the appropriate cartopy projection\n",
+    "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
+    "#                             central_latitude=crs_info.latitude_of_projection_origin,\n",
+    "#                             standard_parallels=crs_info.standard_parallel)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "2e4b4c28-1a02-4fdf-8498-274728ea0d2c",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "ds[crs_var]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "8566c769-1638-48eb-8717-fccdb6cfc0c1",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs.to_proj4()"
    ]
   },
   {
@@ -245,14 +285,63 @@
     "# coordinates must be from WGS 84 datum\n",
     "# left, bottom, right, top\n",
     "\n",
-    "# Note: try changing around the commented out lines below to get type float ratherthan a numpy float\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
-    "#coord_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
-    "coord_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(coord_bounds)\n",
-    "print(f'\\ncoord_bounds data type: {type(coord_bounds[0])}')\n",
+    "# Note: try changing around the commented out lines below to get type float rather than a numpy float\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float), ds[dim_names_dict['Y']].data.min().compute().astype(float), ds[dim_names_dict['X']].data.max().compute().astype(float), ds[dim_names_dict['Y']].data.max().compute().astype(float)]\n",
+    "#spatial_bounds = [ds[dim_names_dict['X']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.min().compute().astype(float).tolist(), ds[dim_names_dict['X']].data.max().compute().astype(float).tolist(), ds[dim_names_dict['Y']].data.max().compute().astype(float).tolist()]\n",
+    "spatial_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
+    "print(spatial_bounds)\n",
+    "print(f'\\nspatial_bounds data type: {type(spatial_bounds[0])}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "1fa7c721-aecd-4ea6-8f8d-226cc75e10bb",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "XX, YY = np.meshgrid(ds[dim_names_dict['X']].data, ds[dim_names_dict['Y']].data)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "5fa66fb7-ea2f-4a09-b5db-7c6f42a2694c",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
+    "lon, lat = transformer.transform(XX.ravel(), YY.ravel())"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "c28a05a0-8bde-4a99-80ee-f0385cfed090",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
+    "print(f'upper right coordinates (WGS84): {max(lon)}, {max(lat)}')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "84a630f9-c527-43c5-8da4-1ee386c78c59",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
     "# create a spatial extent object \n",
-    "spatial_extent = pystac.SpatialExtent(bboxes=[coord_bounds])"
+    "spatial_extent = pystac.SpatialExtent(bboxes=[[min(lon).item(), min(lat).item(), max(lon).item(), max(lat).item()]])"
    ]
   },
   {
@@ -418,18 +507,6 @@
     "print(dims)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "00a18a29-fb9a-4b56-8009-493122997b16",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# get x, y bounds for extent of those dimensions (required)\n",
-    "xy_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(xy_bounds)"
-   ]
-  },
   {
    "cell_type": "markdown",
    "id": "e7dc357c-91ec-49ae-83e5-400f791f9792",
@@ -439,17 +516,6 @@
     "reference list of cartopy projections: https://scitools.org.uk/cartopy/docs/latest/reference/projections.html"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# print out crs information in dataset\n",
-    "print(crs)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -666,8 +732,8 @@
     "# we do not recommend including redundant dimensions (do not include x,y if you have lon,lat)\n",
     "# note that the extent of each dimension should be pulled from the dataset\n",
     "dims_dict = {dim_names_dict['T']: pystac.extensions.datacube.Dimension({'type': 'temporal', 'description': stac_helpers.get_long_name(ds, dim_names_dict['T']), 'extent': [temporal_extent_lower.strftime('%Y-%m-%dT%XZ'), temporal_extent_upper.strftime('%Y-%m-%dT%XZ')], 'step':time_step}),\n",
-    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [xy_bounds[0], xy_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
-    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [xy_bounds[1], xy_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [spatial_bounds[0], spatial_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [spatial_bounds[1], spatial_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
     "            }"
    ]
   },
@@ -706,7 +772,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
diff --git a/workflows/archive/ssebopeta_monthly_create_collection_from_zarr.ipynb b/workflows/archive/ssebopeta_monthly_create_collection_from_zarr.ipynb
index 8b1d8765a73ed289a57b4a78c84bbd5119a7a3a0..71711f70fa28273ddf103f39d5052b78bf6044e7 100644
--- a/workflows/archive/ssebopeta_monthly_create_collection_from_zarr.ipynb
+++ b/workflows/archive/ssebopeta_monthly_create_collection_from_zarr.ipynb
@@ -35,12 +35,12 @@
     "import pandas as pd\n",
     "import json\n",
     "import numpy as np\n",
-    "import metpy\n",
+    "import pyproj\n",
+    "from pyproj import Transformer\n",
     "import cartopy.crs as ccrs\n",
     "import cfunits\n",
     "import json\n",
     "import sys\n",
-    "from pyproj import Transformer\n",
     "sys.path.insert(1, '..')\n",
     "import stac_helpers"
    ]
@@ -215,6 +215,18 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "edf9f3c1-9cf1-4d00-be91-c0474ee90cad",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -224,8 +236,13 @@
    },
    "outputs": [],
    "source": [
-    "ds  = ds.metpy.parse_cf()\n",
-    "crs = ds[list(ds.keys())[0]].metpy.pyproj_proj"
+    "# use pyproj to automatically extract crs info\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
+    "\n",
+    "# alternatively, create the appropriate cartopy projection\n",
+    "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
+    "#                             central_latitude=crs_info.latitude_of_projection_origin,\n",
+    "#                             standard_parallels=crs_info.standard_parallel)"
    ]
   },
   {
@@ -240,17 +257,21 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "2cab5f28-79e5-4a47-bdc6-54cf4e6fb2f5",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
-    "ds.crs"
+    "ds[crs_var]"
    ]
   },
   {
    "cell_type": "code",
    "execution_count": null,
    "id": "4d3822b9-e2a6-4b6a-8fc0-447cf4a69226",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "crs.to_proj4()"
@@ -293,7 +314,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "57367074-cbe7-43c3-9311-a3eac72f2544",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "X = np.linspace(spatial_bounds[0], spatial_bounds[2], 2)\n",
@@ -305,10 +328,12 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "71d7b52c-3fac-4c57-9b89-f79caf7b8efa",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
-    "transformer = Transformer.from_crs(crs.crs, \"EPSG:4326\", always_xy=True)\n",
+    "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
     "lon, lat = transformer.transform(XX.ravel(), YY.ravel())"
    ]
   },
@@ -316,7 +341,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "e2189ce1-dc7f-408b-a4e7-72bf012f36f0",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
@@ -327,7 +354,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "01b2eec4-b907-46ac-a6c3-6d0b78aa5f4e",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# create a spatial extent object \n",
@@ -508,20 +537,6 @@
     "print(dims)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "00a18a29-fb9a-4b56-8009-493122997b16",
-   "metadata": {
-    "tags": []
-   },
-   "outputs": [],
-   "source": [
-    "# get x, y bounds for extent of those dimensions (required)\n",
-    "xy_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(xy_bounds)"
-   ]
-  },
   {
    "cell_type": "markdown",
    "id": "e7dc357c-91ec-49ae-83e5-400f791f9792",
@@ -531,19 +546,6 @@
     "reference list of cartopy projections: https://scitools.org.uk/cartopy/docs/latest/reference/projections.html"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {
-    "tags": []
-   },
-   "outputs": [],
-   "source": [
-    "# print ot crs information in dataset\n",
-    "print(crs)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -650,7 +652,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "9005e2f6-2c6d-4207-9e8a-bd83d6568a6f",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps: get all step values and locations\n",
@@ -663,7 +667,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "0380a900-5efa-4df7-8d7a-9a989d52c2f8",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps, cont:\n",
@@ -700,7 +706,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "b4c6d46e-51ee-4ad4-90b6-cfc957d089d7",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps: get all step values and locations\n",
@@ -713,7 +721,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "de5189d4-3388-450b-8adb-d4f55bfb96b6",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps, cont:\n",
@@ -757,8 +767,8 @@
     "# we do not recommend including redundant dimensions (do not include x,y if you have lon,lat)\n",
     "# note that the extent of each dimension should be pulled from the dataset\n",
     "dims_dict = {dim_names_dict['T']: pystac.extensions.datacube.Dimension({'type': 'temporal', 'description': stac_helpers.get_long_name(ds, dim_names_dict['T']), 'extent': [temporal_extent_lower.strftime('%Y-%m-%dT%XZ'), temporal_extent_upper.strftime('%Y-%m-%dT%XZ')], 'step':time_step}),\n",
-    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [xy_bounds[0], xy_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
-    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [xy_bounds[1], xy_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [spatial_bounds[0], spatial_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [spatial_bounds[1], spatial_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
     "            }"
    ]
   },
@@ -799,7 +809,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
diff --git a/workflows/archive/ssebopeta_yearly_create_collection_from_zarr.ipynb b/workflows/archive/ssebopeta_yearly_create_collection_from_zarr.ipynb
index 1aaa0e649449087a1fb2a06afc142a47ab0cab3b..25b08505abb0f66f68b3c878ffceb1da3491ff24 100644
--- a/workflows/archive/ssebopeta_yearly_create_collection_from_zarr.ipynb
+++ b/workflows/archive/ssebopeta_yearly_create_collection_from_zarr.ipynb
@@ -35,12 +35,12 @@
     "import pandas as pd\n",
     "import json\n",
     "import numpy as np\n",
-    "import metpy\n",
+    "import pyproj\n",
+    "from pyproj import Transformer\n",
     "import cartopy.crs as ccrs\n",
     "import cfunits\n",
     "import json\n",
     "import sys\n",
-    "from pyproj import Transformer\n",
     "sys.path.insert(1, '..')\n",
     "import stac_helpers"
    ]
@@ -215,6 +215,18 @@
     "## Get crs info"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "1d4a474e-a3ce-41cd-92fb-e398269f7a96",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -224,8 +236,13 @@
    },
    "outputs": [],
    "source": [
-    "ds  = ds.metpy.parse_cf()\n",
-    "crs = ds[list(ds.keys())[0]].metpy.pyproj_proj"
+    "# use pyproj to automatically extract crs info\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
+    "\n",
+    "# alternatively, create the appropriate cartopy projection\n",
+    "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
+    "#                             central_latitude=crs_info.latitude_of_projection_origin,\n",
+    "#                             standard_parallels=crs_info.standard_parallel)"
    ]
   },
   {
@@ -240,17 +257,21 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "2cab5f28-79e5-4a47-bdc6-54cf4e6fb2f5",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
-    "ds.crs"
+    "ds[crs_var]"
    ]
   },
   {
    "cell_type": "code",
    "execution_count": null,
    "id": "4d3822b9-e2a6-4b6a-8fc0-447cf4a69226",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "crs.to_proj4()"
@@ -293,7 +314,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "57367074-cbe7-43c3-9311-a3eac72f2544",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "X = np.linspace(spatial_bounds[0], spatial_bounds[2], 2)\n",
@@ -305,10 +328,12 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "71d7b52c-3fac-4c57-9b89-f79caf7b8efa",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
-    "transformer = Transformer.from_crs(crs.crs, \"EPSG:4326\", always_xy=True)\n",
+    "transformer = Transformer.from_crs(crs, \"EPSG:4326\", always_xy=True)\n",
     "lon, lat = transformer.transform(XX.ravel(), YY.ravel())"
    ]
   },
@@ -316,7 +341,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "e2189ce1-dc7f-408b-a4e7-72bf012f36f0",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "print(f'lower left coordinates (WGS84): {min(lon)}, {min(lat)}')\n",
@@ -327,7 +354,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "01b2eec4-b907-46ac-a6c3-6d0b78aa5f4e",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# create a spatial extent object \n",
@@ -508,20 +537,6 @@
     "print(dims)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "00a18a29-fb9a-4b56-8009-493122997b16",
-   "metadata": {
-    "tags": []
-   },
-   "outputs": [],
-   "source": [
-    "# get x, y bounds for extent of those dimensions (required)\n",
-    "xy_bounds = [ds[dim_names_dict['X']].data.min().astype(float).item(), ds[dim_names_dict['Y']].data.min().astype(float).item(), ds[dim_names_dict['X']].data.max().astype(float).item(), ds[dim_names_dict['Y']].data.max().astype(float).item()]\n",
-    "print(xy_bounds)"
-   ]
-  },
   {
    "cell_type": "markdown",
    "id": "e7dc357c-91ec-49ae-83e5-400f791f9792",
@@ -531,19 +546,6 @@
     "reference list of cartopy projections: https://scitools.org.uk/cartopy/docs/latest/reference/projections.html"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "id": "ea452f62-5644-49b6-8a4e-7dc4f649fd1a",
-   "metadata": {
-    "tags": []
-   },
-   "outputs": [],
-   "source": [
-    "# print ot crs information in dataset\n",
-    "print(crs)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -650,7 +652,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "9005e2f6-2c6d-4207-9e8a-bd83d6568a6f",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps: get all step values and locations\n",
@@ -663,7 +667,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "0380a900-5efa-4df7-8d7a-9a989d52c2f8",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps, cont:\n",
@@ -700,7 +706,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "b4c6d46e-51ee-4ad4-90b6-cfc957d089d7",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps: get all step values and locations\n",
@@ -713,7 +721,9 @@
    "cell_type": "code",
    "execution_count": null,
    "id": "de5189d4-3388-450b-8adb-d4f55bfb96b6",
-   "metadata": {},
+   "metadata": {
+    "tags": []
+   },
    "outputs": [],
    "source": [
     "# # debugging for spatial steps, cont:\n",
@@ -757,8 +767,8 @@
     "# we do not recommend including redundant dimensions (do not include x,y if you have lon,lat)\n",
     "# note that the extent of each dimension should be pulled from the dataset\n",
     "dims_dict = {dim_names_dict['T']: pystac.extensions.datacube.Dimension({'type': 'temporal', 'description': stac_helpers.get_long_name(ds, dim_names_dict['T']), 'extent': [temporal_extent_lower.strftime('%Y-%m-%dT%XZ'), temporal_extent_upper.strftime('%Y-%m-%dT%XZ')], 'step':time_step}),\n",
-    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [xy_bounds[0], xy_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
-    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [xy_bounds[1], xy_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['X']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'x', 'description': stac_helpers.get_long_name(ds, dim_names_dict['X']), 'extent': [spatial_bounds[0], spatial_bounds[2]], 'step': x_step, 'reference_system': projjson}),\n",
+    "             dim_names_dict['Y']: pystac.extensions.datacube.Dimension({'type': 'spatial', 'axis': 'y', 'description': stac_helpers.get_long_name(ds, dim_names_dict['Y']), 'extent': [spatial_bounds[1], spatial_bounds[3]], 'step': y_step, 'reference_system': projjson}),\n",
     "            }"
    ]
   },
@@ -799,7 +809,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
diff --git a/workflows/examples/create_collection_from_zarr_conus404-daily.ipynb b/workflows/examples/create_collection_from_zarr_conus404-daily.ipynb
index 046544f814569f7d2f1b8bfdd888a2fd6513d038..307828daf6712524fb0f6e672db8dabe5341983f 100644
--- a/workflows/examples/create_collection_from_zarr_conus404-daily.ipynb
+++ b/workflows/examples/create_collection_from_zarr_conus404-daily.ipynb
@@ -194,6 +194,16 @@
     "If there is no crs info that can be automatically extracted from the dataset with pyproj, you will need to manually identify the crs and create a crs object. This reference list of cartopy projections may be a helpful resource: https://scitools.org.uk/cartopy/docs/latest/reference/projections.html"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "239d3b00-77f9-4178-954b-ba81a2b34512",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -202,7 +212,7 @@
    "outputs": [],
    "source": [
     "# use pyproj to automatically extract crs info\n",
-    "crs = pyproj.CRS.from_cf(ds.crs.attrs)\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
     "\n",
     "# alternatively, create the appropriate cartopy projection\n",
     "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
@@ -225,7 +235,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "ds.crs"
+    "ds[crs_var]"
    ]
   },
   {
@@ -783,7 +793,7 @@
    "outputs": [],
    "source": [
     "# make sure you added all the right dims\n",
-    "assert list(dims_dict.keys()) == dims"
+    "assert sorted(list(dims_dict.keys())) == sorted(dims)"
    ]
   },
   {
@@ -821,7 +831,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
diff --git a/workflows/examples/create_item_from_zarr_conus404-daily.ipynb b/workflows/examples/create_item_from_zarr_conus404-daily.ipynb
index ecf96c9df2b4e17a5f566477c7e70ab78672b49c..4f4bf9cb9b33698a56ca69a8a793279abb573af6 100644
--- a/workflows/examples/create_item_from_zarr_conus404-daily.ipynb
+++ b/workflows/examples/create_item_from_zarr_conus404-daily.ipynb
@@ -178,6 +178,16 @@
     "If there is no crs info that can be automatically extracted from the dataset with pyproj, you will need to manually identify the crs and create a crs object. This reference list of cartopy projections may be a helpful resource: https://scitools.org.uk/cartopy/docs/latest/reference/projections.html"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "6bae3ab0-b0cc-4486-aaaf-209c4d30ec1f",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "crs_var = 'crs'"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -186,7 +196,7 @@
    "outputs": [],
    "source": [
     "# use pyproj to automatically extract crs info\n",
-    "crs = pyproj.CRS.from_cf(ds.crs.attrs)\n",
+    "crs = pyproj.CRS.from_cf(ds[crs_var].attrs)\n",
     "\n",
     "# alternatively, create the appropriate cartopy projection\n",
     "# crs = ccrs.LambertConformal(central_longitude=crs_info.longitude_of_central_meridian, \n",
@@ -209,7 +219,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "ds.crs"
+    "ds[crs_var]"
    ]
   },
   {
@@ -770,7 +780,7 @@
    "outputs": [],
    "source": [
     "# make sure you added all the right dims\n",
-    "assert list(dims_dict.keys()) == dims"
+    "assert sorted(list(dims_dict.keys())) == sorted(dims)"
    ]
   },
   {
@@ -808,7 +818,7 @@
     "vars_dict={}\n",
     "for v in vars:\n",
     "    unit = stac_helpers.get_unit(ds, v)\n",
-    "    var_type = stac_helpers.get_var_type(ds, v)\n",
+    "    var_type = stac_helpers.get_var_type(ds, v, crs_var)\n",
     "    long_name = stac_helpers.get_long_name(ds, v)\n",
     "    vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': var_type, 'description': long_name, 'unit': unit})"
    ]
diff --git a/workflows/stac_helpers.py b/workflows/stac_helpers.py
index a246630548f10b910a09f7ddb07e911255d997ed..55801bc9c7eb320ca7fcfa3fd4ee40d2da38c1eb 100644
--- a/workflows/stac_helpers.py
+++ b/workflows/stac_helpers.py
@@ -99,8 +99,8 @@ def get_unit(ds, v):
         assert cfunits.Units(unit).isvalid
     return unit
 
-def get_var_type(ds, v):
-    if v in ds.coords:
+def get_var_type(ds, v, crs_var):
+    if v in ds.coords or v==crs_var:
         # type = auxiliary for a variable that contains coordinate data, but isn't a dimension in cube:dimensions.
         # For example, the values of the datacube might be provided in the projected coordinate reference system, 
         # but the datacube could have a variable lon with dimensions (y, x), giving the longitude at each point.