diff --git a/package-lock.json b/package-lock.json
index 6cebd28d31e4a905b84ff65167d4885ab1d9ecbd..cfd522fbffacc8898d7a8fbc10530074d3ac874c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -20,7 +20,7 @@
         "@angular/router": "^13.2.6",
         "@ghsc/disagg-d3": "^0.6.0",
         "@ghsc/nshmp-template": "^13.0.2",
-        "@ghsc/nshmp-utils": "^4.4.1",
+        "@ghsc/nshmp-utils": "^4.4.4",
         "@mapbox/mapbox-gl-geocoder": "^5.0.0",
         "@ngrx/effects": "^13.0.2",
         "@ngrx/router-store": "^13.0.2",
@@ -3834,9 +3834,9 @@
       }
     },
     "node_modules/@ghsc/nshmp-utils": {
-      "version": "4.4.1",
-      "resolved": "https://code.usgs.gov/api/v4/projects/1414/packages/npm/@ghsc/nshmp-utils/-/@ghsc/nshmp-utils-4.4.1.tgz",
-      "integrity": "sha1-RuJQwEDMEvLyyWE7NdNe/tliCoA=",
+      "version": "4.4.4",
+      "resolved": "https://code.usgs.gov/api/v4/projects/1414/packages/npm/@ghsc/nshmp-utils/-/@ghsc/nshmp-utils-4.4.4.tgz",
+      "integrity": "sha1-boq73dFs9ZaJ7woABULWYE53Bik=",
       "dependencies": {
         "@mapbox/geojson-extent": "^1.0.0",
         "change-case": "^4.1.2",
@@ -30598,9 +30598,9 @@
       }
     },
     "@ghsc/nshmp-utils": {
-      "version": "4.4.1",
-      "resolved": "https://code.usgs.gov/api/v4/projects/1414/packages/npm/@ghsc/nshmp-utils/-/@ghsc/nshmp-utils-4.4.1.tgz",
-      "integrity": "sha1-RuJQwEDMEvLyyWE7NdNe/tliCoA=",
+      "version": "4.4.4",
+      "resolved": "https://code.usgs.gov/api/v4/projects/1414/packages/npm/@ghsc/nshmp-utils/-/@ghsc/nshmp-utils-4.4.4.tgz",
+      "integrity": "sha1-boq73dFs9ZaJ7woABULWYE53Bik=",
       "requires": {
         "@mapbox/geojson-extent": "^1.0.0",
         "change-case": "^4.1.2",
diff --git a/package.json b/package.json
index 3a48b8be22f2c954ef3c2713a683a03cc2626cf6..b2644c6049ec5c1a23d4b50395a829900c0087db 100644
--- a/package.json
+++ b/package.json
@@ -36,7 +36,7 @@
     "@angular/router": "^13.2.6",
     "@ghsc/disagg-d3": "^0.6.0",
     "@ghsc/nshmp-template": "^13.0.2",
-    "@ghsc/nshmp-utils": "^4.4.1",
+    "@ghsc/nshmp-utils": "^4.4.4",
     "@mapbox/mapbox-gl-geocoder": "^5.0.0",
     "@ngrx/effects": "^13.0.2",
     "@ngrx/router-store": "^13.0.2",
diff --git a/projects/gmm-lib/src/lib/models/gmm-form-controls.model.ts b/projects/gmm-lib/src/lib/models/gmm-form-controls.model.ts
index 620b6812c18b7233ce1f776e0adce12b00ea2a44..54b2cc0022f729eb974d71ff5e6ed1c6926486f0 100644
--- a/projects/gmm-lib/src/lib/models/gmm-form-controls.model.ts
+++ b/projects/gmm-lib/src/lib/models/gmm-form-controls.model.ts
@@ -57,5 +57,5 @@ export enum GmmFormControlIds {
   WIDTH = 'width',
   Z1P0 = 'z1p0',
   Z2P5 = 'z2p5',
-  ZTOP = 'zTop',
+  ZTOR = 'zTor',
 }
diff --git a/projects/gmm-lib/src/lib/models/gmm-parameters.model.ts b/projects/gmm-lib/src/lib/models/gmm-parameters.model.ts
index 31a8d66d0e385e1d7dffe0473aead373e6053e01..a796c54c4ca98a885ffb75a6466a3986a3777026 100644
--- a/projects/gmm-lib/src/lib/models/gmm-parameters.model.ts
+++ b/projects/gmm-lib/src/lib/models/gmm-parameters.model.ts
@@ -11,7 +11,7 @@ export interface GmmParameters {
   width: number;
   z1p0: number;
   z2p5: number;
-  zTop: number;
+  zTor: number;
 }
 
 export interface GmmImtParameters extends GmmParameters {
diff --git a/projects/nshmp-apps/cypress/utils/gmm-lib.utils.ts b/projects/nshmp-apps/cypress/utils/gmm-lib.utils.ts
index 24042d7100f9c2b3f0618d37a60bc2356ac27a1f..ce1ff60b480d4b58814776295b49e0f4bf7f2108 100644
--- a/projects/nshmp-apps/cypress/utils/gmm-lib.utils.ts
+++ b/projects/nshmp-apps/cypress/utils/gmm-lib.utils.ts
@@ -65,7 +65,7 @@ export function setSiteParameters() {
 }
 export function setSourceGeometryParameters() {
   cy.get('nshmp-template-control-panel').within(() => {
-    cy.get('.ztop-input')
+    cy.get('.ztor-input')
       .scrollIntoView()
       .find('input')
       .should('be.visible')
diff --git a/projects/nshmp-apps/src/app/gmm/distance/components/control-panel/control-panel.component.html b/projects/nshmp-apps/src/app/gmm/distance/components/control-panel/control-panel.component.html
index 289233f8376195fcb0cfcd58b3e8a7ce82546b82..1d6296931fe9b3135ccadbf501196780732d50b8 100644
--- a/projects/nshmp-apps/src/app/gmm/distance/components/control-panel/control-panel.component.html
+++ b/projects/nshmp-apps/src/app/gmm/distance/components/control-panel/control-panel.component.html
@@ -62,21 +62,21 @@
       <mat-label class="settings-subsection--label">Source Geometry</mat-label>
 
       <div class="settings-subsection--section grid-row grid-gap-sm">
-        <!-- Source geometry: zTop input -->
-        <mat-form-field class="grid-col-4 ztop-input">
-          <mat-label>Z<sub>TOP</sub> (km)</mat-label>
+        <!-- Source geometry: zTor input -->
+        <mat-form-field class="grid-col-4 ztor-input">
+          <mat-label>Z<sub>TOR</sub> (km)</mat-label>
           <input
             matInput
-            [max]="(parameters$ | async)?.zTop.max"
-            [min]="(parameters$ | async)?.zTop.min"
-            [ngrxFormControlState]="(controls$ | async)?.zTop"
+            [max]="(parameters$ | async)?.zTor.max"
+            [min]="(parameters$ | async)?.zTor.min"
+            [ngrxFormControlState]="(controls$ | async)?.zTor"
             step="0.5"
             type="number"
           />
           <mat-error>
             [
-            {{ (parameters$ | async)?.zTop.min }},
-            {{ (parameters$ | async)?.zTop.max }}
+            {{ (parameters$ | async)?.zTor.min }},
+            {{ (parameters$ | async)?.zTor.max }}
             ]
           </mat-error>
         </mat-form-field>
diff --git a/projects/nshmp-apps/src/app/gmm/distance/state/app.effects.ts b/projects/nshmp-apps/src/app/gmm/distance/state/app.effects.ts
index 7806d7a77d3b2676fcf7eaaa06b21b83bacaa340..e8f410090fc4372f1dd291e608c15e16ce733c8a 100644
--- a/projects/nshmp-apps/src/app/gmm/distance/state/app.effects.ts
+++ b/projects/nshmp-apps/src/app/gmm/distance/state/app.effects.ts
@@ -108,7 +108,7 @@ export class GmmDistanceAppEffects {
                 width: parameters.width.value as number,
                 z1p0: parameters.z1p0.value as number,
                 z2p5: parameters.z2p5.value as number,
-                zTop: parameters.zTop.value as number,
+                zTor: parameters.zTor.value as number,
               };
 
               const typedActions = initialFormSetActions(form, values, parameters);
diff --git a/projects/nshmp-apps/src/app/gmm/distance/utils/app.default-values.ts b/projects/nshmp-apps/src/app/gmm/distance/utils/app.default-values.ts
index 93063fb8e882e7c3f54a55706a82bdc087d78605..7c57f13f72b46b1139094bf0fe6f2231b81fdba8 100644
--- a/projects/nshmp-apps/src/app/gmm/distance/utils/app.default-values.ts
+++ b/projects/nshmp-apps/src/app/gmm/distance/utils/app.default-values.ts
@@ -24,7 +24,7 @@ export const DEFAULT_FORM_VALUES: FormControls = {
   width: null,
   z1p0: null,
   z2p5: null,
-  zTop: null,
+  zTor: null,
 };
 
 /**
diff --git a/projects/nshmp-apps/src/app/gmm/distance/utils/control-form.validators.ts b/projects/nshmp-apps/src/app/gmm/distance/utils/control-form.validators.ts
index 26e90c1d1091634402496ac3ca981a97b135c9b8..97f43ce406a3bc74a4b16caa8850507bef8402f7 100644
--- a/projects/nshmp-apps/src/app/gmm/distance/utils/control-form.validators.ts
+++ b/projects/nshmp-apps/src/app/gmm/distance/utils/control-form.validators.ts
@@ -15,5 +15,5 @@ export const validateControlPanelForm = updateGroup<FormControls>({
   multiSelectableParam: validate([required]),
   vs30: validateBounds,
   width: validateBounds,
-  zTop: validateBounds,
+  zTor: validateBounds,
 });
diff --git a/projects/nshmp-apps/src/app/gmm/magnitude/components/source-parameters/source-parameters.component.html b/projects/nshmp-apps/src/app/gmm/magnitude/components/source-parameters/source-parameters.component.html
index a9e730a339881f06d3d926655e911f58615ca83f..b3578de941a21a32dc6b3a0de2771fca083b3929 100644
--- a/projects/nshmp-apps/src/app/gmm/magnitude/components/source-parameters/source-parameters.component.html
+++ b/projects/nshmp-apps/src/app/gmm/magnitude/components/source-parameters/source-parameters.component.html
@@ -4,21 +4,21 @@
     <mat-label class="settings-subsection--label">Source Geometry</mat-label>
 
     <div class="settings-subsection--section grid-row grid-gap-sm">
-      <!-- Source Parameters: zTop input -->
-      <mat-form-field class="grid-col-4 ztop-input">
-        <mat-label>Z<sub>TOP</sub> (km)</mat-label>
+      <!-- Source Parameters: zTor input -->
+      <mat-form-field class="grid-col-4 ztor-input">
+        <mat-label>Z<sub>TOR</sub> (km)</mat-label>
         <input
           matInput
-          [max]="(parameters$ | async)?.zTop?.max"
-          [min]="(parameters$ | async)?.zTop?.min"
-          [ngrxFormControlState]="(controls$ | async)?.zTop"
+          [max]="(parameters$ | async)?.zTor?.max"
+          [min]="(parameters$ | async)?.zTor?.min"
+          [ngrxFormControlState]="(controls$ | async)?.zTor"
           step="0.5"
           type="number"
         />
         <mat-error>
           [
-          {{ (parameters$ | async)?.zTop?.min }},
-          {{ (parameters$ | async)?.zTop?.max }}
+          {{ (parameters$ | async)?.zTor?.min }},
+          {{ (parameters$ | async)?.zTor?.max }}
           ]
         </mat-error>
       </mat-form-field>
diff --git a/projects/nshmp-apps/src/app/gmm/magnitude/state/app.effects.ts b/projects/nshmp-apps/src/app/gmm/magnitude/state/app.effects.ts
index 1b9f46f5bf04b0f5d7dca391d5981ba67a886c86..c6d24c5a7b61aa4c0caff1c5adb2efa5c50c28ba 100644
--- a/projects/nshmp-apps/src/app/gmm/magnitude/state/app.effects.ts
+++ b/projects/nshmp-apps/src/app/gmm/magnitude/state/app.effects.ts
@@ -120,7 +120,7 @@ export class AppEffects {
                 width: parameters.width.value as number,
                 z1p0: parameters.z1p0.value as number,
                 z2p5: parameters.z2p5.value as number,
-                zTop: parameters.zTop.value as number,
+                zTor: parameters.zTor.value as number,
               };
 
               const typedActions = initialFormSetActions(form, values, parameters);
diff --git a/projects/nshmp-apps/src/app/gmm/magnitude/utils/app.default-values.ts b/projects/nshmp-apps/src/app/gmm/magnitude/utils/app.default-values.ts
index abb84f8c04cb4e7315fd270ed6671efb0f77bd5b..54e0ad381d07dfaedc67e87fb30872a4b17864d0 100644
--- a/projects/nshmp-apps/src/app/gmm/magnitude/utils/app.default-values.ts
+++ b/projects/nshmp-apps/src/app/gmm/magnitude/utils/app.default-values.ts
@@ -29,7 +29,7 @@ export const DEFAULT_FORM_VALUES: GmmMagnitudeFormControls = {
   width: null,
   z1p0: null,
   z2p5: null,
-  zTop: null,
+  zTor: null,
 };
 
 /**
diff --git a/projects/nshmp-apps/src/app/gmm/magnitude/utils/app.utils.ts b/projects/nshmp-apps/src/app/gmm/magnitude/utils/app.utils.ts
index d3312ebadfc756a721b17546145d2c67c03fbea2..ff4758507527fcfe5f53c76beb101cd4ba1e2c70 100644
--- a/projects/nshmp-apps/src/app/gmm/magnitude/utils/app.utils.ts
+++ b/projects/nshmp-apps/src/app/gmm/magnitude/utils/app.utils.ts
@@ -24,7 +24,7 @@ export const resetControlPanel = (
     width: parameters.width.value as number,
     z1p0: parameters.z1p0.value as number,
     z2p5: parameters.z2p5.value as number,
-    zTop: parameters.zTop.value as number,
+    zTor: parameters.zTor.value as number,
   });
 
   form = markAsUntouched(form);
diff --git a/projects/nshmp-apps/src/app/gmm/magnitude/utils/control-panel.validators.ts b/projects/nshmp-apps/src/app/gmm/magnitude/utils/control-panel.validators.ts
index ee3a4f09bd633db781f500b1e215cf560fcb86f1..54368efbd39c3ca21e5f8f7ab7486565c8ac3637 100644
--- a/projects/nshmp-apps/src/app/gmm/magnitude/utils/control-panel.validators.ts
+++ b/projects/nshmp-apps/src/app/gmm/magnitude/utils/control-panel.validators.ts
@@ -28,7 +28,7 @@ export const validateControlPanelForm = updateGroup<GmmMagnitudeFormControls>({
   step: validateBounds,
   vs30: validateBounds,
   width: validateBounds,
-  zTop: validateBounds,
+  zTor: validateBounds,
 });
 
 export const validateMagnitude = (
diff --git a/projects/nshmp-apps/src/app/gmm/spectra/components/source-parameters/source-parameters.component.html b/projects/nshmp-apps/src/app/gmm/spectra/components/source-parameters/source-parameters.component.html
index 41dca40d49aafc2ade1e38cc5cffdfeaf99e941c..581e51dfc53fc9eea4bc34039fc8fea04aa6045c 100644
--- a/projects/nshmp-apps/src/app/gmm/spectra/components/source-parameters/source-parameters.component.html
+++ b/projects/nshmp-apps/src/app/gmm/spectra/components/source-parameters/source-parameters.component.html
@@ -4,21 +4,21 @@
     <mat-label class="settings-subsection--label">Source Geometry</mat-label>
 
     <div class="settings-subsection--section grid-row grid-gap-sm">
-      <!-- Source Parameters: zTop input -->
-      <mat-form-field class="grid-col-4 ztop-input">
+      <!-- Source Parameters: zTor input -->
+      <mat-form-field class="grid-col-4 ztor-input">
         <mat-label>Z<sub>TOR</sub> (km)</mat-label>
         <input
           matInput
-          [max]="(parameters$ | async).zTop.max"
-          [min]="(parameters$ | async).zTop.min"
-          [ngrxFormControlState]="(controls$ | async)?.zTop"
+          [max]="(parameters$ | async).zTor.max"
+          [min]="(parameters$ | async).zTor.min"
+          [ngrxFormControlState]="(controls$ | async)?.zTor"
           step="0.5"
           type="number"
         />
         <mat-error>
           [
-          {{ (parameters$ | async).zTop.min }},
-          {{ (parameters$ | async).zTop.max }}
+          {{ (parameters$ | async).zTor.min }},
+          {{ (parameters$ | async).zTor.max }}
           ]
         </mat-error>
       </mat-form-field>
diff --git a/projects/nshmp-apps/src/app/gmm/spectra/state/app.effects.ts b/projects/nshmp-apps/src/app/gmm/spectra/state/app.effects.ts
index 77feb894a503a1098e1584be9be3fbf26728ec0a..85140f6118f2597bf35ead00644a2ba70942991e 100644
--- a/projects/nshmp-apps/src/app/gmm/spectra/state/app.effects.ts
+++ b/projects/nshmp-apps/src/app/gmm/spectra/state/app.effects.ts
@@ -78,7 +78,7 @@ export class AppEffects {
           z1p0: values.z1p0,
           z2p5: values.z2p5,
           zHyp: values.zHyp,
-          zTop: values.zTop,
+          zTor: values.zTor,
         };
         const urls = this.facade.formServiceUrls(
           parameters,
@@ -140,7 +140,7 @@ export class AppEffects {
                 z2p5: parameters.z2p5.value as number,
                 zHyp: parameters.zHyp.value as number,
                 zHypCentered: true,
-                zTop: parameters.zTop.value as number,
+                zTor: parameters.zTor.value as number,
               };
 
               const typedActions = initialFormSetActions(form, values, parameters);
diff --git a/projects/nshmp-apps/src/app/gmm/spectra/utils/app.default-values.ts b/projects/nshmp-apps/src/app/gmm/spectra/utils/app.default-values.ts
index 8ebd75d268c2ed411f6b7c3d132c714b21273325..0d3d11ac22f7a74f6889ba94c52e11b4a94d2af0 100644
--- a/projects/nshmp-apps/src/app/gmm/spectra/utils/app.default-values.ts
+++ b/projects/nshmp-apps/src/app/gmm/spectra/utils/app.default-values.ts
@@ -34,7 +34,7 @@ export const DEFAULT_FORM_VALUES: FormControls = {
   z2p5: null,
   zHyp: null,
   zHypCentered: true,
-  zTop: null,
+  zTor: null,
 };
 
 /**
diff --git a/projects/nshmp-apps/src/app/gmm/spectra/utils/app.utils.ts b/projects/nshmp-apps/src/app/gmm/spectra/utils/app.utils.ts
index 73c2bc9bad5d15835fe751bacfae88fa06005542..cab5b6ab858d7e19027aeca4fb1afa1ea0acf9bc 100644
--- a/projects/nshmp-apps/src/app/gmm/spectra/utils/app.utils.ts
+++ b/projects/nshmp-apps/src/app/gmm/spectra/utils/app.utils.ts
@@ -37,7 +37,7 @@ export const resetControlPanel = (state: SpectraAppState): FormGroupState<FormCo
     z1p0: parameters.z1p0.value as number,
     z2p5: parameters.z2p5.value as number,
     zHyp: parameters.zHyp.value as number,
-    zTop: parameters.zTop.value as number,
+    zTor: parameters.zTor.value as number,
   });
 
   form = markAsUntouched(form);
@@ -54,7 +54,7 @@ export const calcHypocenterDepth = (
 
   const values = state.value;
   const dip = Maths.toRadians(values.dip);
-  const zHyp = values.zTop + (Math.sin(dip) * values.width) / 2.0;
+  const zHyp = values.zTor + (Math.sin(dip) * values.width) / 2.0;
 
   return updateGroup<FormControls>({
     zHyp: control => updateControl(control, zHyp, values.zHypCentered),
@@ -70,9 +70,9 @@ export const calcPathParameters = (
 
   const values = state.value;
   const rX = values.rX;
-  const zTop = values.zTop;
+  const zTor = values.zTor;
   const footwall = !values.hangingWall;
-  let rRup = Math.hypot(rX, zTop);
+  let rRup = Math.hypot(rX, zTor);
 
   if (footwall) {
     return updatePathFormValues(state, {rJB: rX, rRup, rX});
@@ -85,14 +85,14 @@ export const calcPathParameters = (
   const Wx = W * cosδ;
   const Wz = W * sinδ;
   const rJB = Math.max(0.0, rX - Wx);
-  const h1 = zTop / cosδ;
+  const h1 = zTor / cosδ;
   const rCut1 = h1 * sinδ;
 
   if (rX < rCut1) {
     return updatePathFormValues(state, {rJB, rRup, rX});
   }
 
-  const zBot = zTop + Wz;
+  const zBot = zTor + Wz;
   const h2 = zBot / cosδ;
   const rCut2 = Wx + h2 * sinδ;
 
diff --git a/projects/nshmp-apps/src/app/gmm/spectra/utils/control-panel.validators.ts b/projects/nshmp-apps/src/app/gmm/spectra/utils/control-panel.validators.ts
index 0093dfc8a2a5af2e42941dc4458285a1849ed3d7..102f120187d9ccd95a3ebfcac9845843ef6d89a4 100644
--- a/projects/nshmp-apps/src/app/gmm/spectra/utils/control-panel.validators.ts
+++ b/projects/nshmp-apps/src/app/gmm/spectra/utils/control-panel.validators.ts
@@ -20,5 +20,5 @@ export const validateControlPanelForm = updateGroup<FormControls>({
   rJB: validateBounds,
   vs30: validateBounds,
   width: validateBounds,
-  zTop: validateBounds,
+  zTor: validateBounds,
 });