diff --git a/src/main/java/gov/usgs/earthquake/nshmp/calc/CalcConfig.java b/src/main/java/gov/usgs/earthquake/nshmp/calc/CalcConfig.java
index 37fb6e6da6cbc2cdf5897b85ba58548f9b3333ec..126015be8a593b9e5d8305c3aeb0f00b3270a250 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/calc/CalcConfig.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/calc/CalcConfig.java
@@ -542,7 +542,7 @@ public final class CalcConfig {
      * The return period (in years) at which disaggregations will be performed
      * unless period-specific ground motion levels are included in a sites file.
      */
-    public final Integer returnPeriod;
+    public final Double returnPeriod;
 
     /**
      * The distance, magnitude, and epsilon bins into which contributing sources
@@ -611,7 +611,7 @@ public final class CalcConfig {
 
     private static final class Builder {
 
-      Integer returnPeriod;
+      Double returnPeriod;
       Bins bins;
       Double contributorLimit;
 
@@ -793,7 +793,7 @@ public final class CalcConfig {
      *
      * <p><b>Default:</b> [475, 975, 2475]
      */
-    public final List<Integer> returnPeriods;
+    public final List<Double> returnPeriods;
 
     private Output(Builder b) {
       this.directory = b.directory;
@@ -805,7 +805,7 @@ public final class CalcConfig {
 
       Path directory;
       Set<DataType> dataTypes;
-      List<Integer> returnPeriods;
+      List<Double> returnPeriods;
 
       Output build() {
         checkNotNull(directory);
diff --git a/src/test/java/gov/usgs/earthquake/nshmp/calc/CalcConfigTests.java b/src/test/java/gov/usgs/earthquake/nshmp/calc/CalcConfigTests.java
index 5324603329921e1ae26f07d50756d12631cf0a5b..53f2b189af0f9dd6f957a543f134eb68b8677a6b 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/calc/CalcConfigTests.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/calc/CalcConfigTests.java
@@ -370,7 +370,7 @@ class CalcConfigTests {
 
   @Test
   void testOutputMember() {
-    List<Integer> defaultReturnPeroiods = List.of(475, 975, 2475, 10000);
+    List<Double> defaultReturnPeroiods = List.of(475.0, 975.0, 2475.0, 10000.0);
 
     CalcConfig.Output def = DEFAULTS.output;
     assertEquals(Path.of("hazout"), def.directory);
@@ -381,7 +381,7 @@ class CalcConfigTests {
     assertEquals(Path.of("custom"), def.directory);
     // also tests automatic addition of TOTAL and MAP
     assertEquals(Set.of(DataType.TOTAL, DataType.MAP, DataType.GMM), def.dataTypes);
-    assertEquals(List.of(100, 200), def.returnPeriods);
+    assertEquals(List.of(100.0, 200.0), def.returnPeriods);
 
     def = EXTENDS_EMPTY.output;
     assertEquals(Path.of("hazout"), def.directory);