diff --git a/geomagio/pcdcp/PCDCPFactory.py b/geomagio/pcdcp/PCDCPFactory.py
index fb3d9ea8c499680e6697ec5a94ea37e2da7945c9..05d3bdbd9f94bd1bc6a364e1bf49703cd3e8ce2e 100644
--- a/geomagio/pcdcp/PCDCPFactory.py
+++ b/geomagio/pcdcp/PCDCPFactory.py
@@ -10,6 +10,7 @@ from .PCDCPWriter import PCDCPWriter
 
 # pattern for pcdcp file names
 PCDCP_FILE_PATTERN = '%(obs)s%(y)s%(j)s.%(i)s'
+# note: seconds files end in .raw, not .sec
 
 
 class PCDCPFactory(TimeseriesFactory):
diff --git a/geomagio/pcdcp/PCDCPParser.py b/geomagio/pcdcp/PCDCPParser.py
index f82a51a1d62a651ce2bb5c0044ad113ba4dcc7b1..4d3f21f21c2d246486267e1c979af193309fc33b 100644
--- a/geomagio/pcdcp/PCDCPParser.py
+++ b/geomagio/pcdcp/PCDCPParser.py
@@ -29,7 +29,11 @@ class PCDCPParser(object):
     def __init__(self):
         """Create a new PCDCP parser."""
         # header fields
+        self.header_fields = ['station', 'year', 'yearday', 'date',
+                              'orientation', 'resolution',  'Version']
         self.header = {}
+        # resolution (float)
+        self.resolution = 0.0
         # array of channel names
         self.channels = []
         # timestamps of data (datetime.datetime)
@@ -64,11 +68,10 @@ class PCDCPParser(object):
 
         Adds value to ``self.header``.
         """
-        self.header['header'] = line
-        self.header['station'] = line[0:3]
-        self.header['year'] = line[5:9]
-        self.header['yearday'] = line[11:14]
-        self.header['date'] = line[16:25]
+        self.header = dict(zip(self.header_fields,
+                               line.split(None, len(self.header_fields))))
+
+        self.resolution = float(self.header['resolution'].split('nT')[0])
 
         return
 
@@ -78,13 +81,9 @@ class PCDCPParser(object):
         Adds time to ``self.times``.
         Adds channel values to ``self.data``.
         """
-        t, d1, d2, d3, d4 = self._parsedata
-
-        t.append(line[0:4])
-        d1.append(int(line[5:13]))
-        d2.append(int(line[14:22]))
-        d3.append(int(line[23:31]))
-        d4.append(int(line[32:40]))
+        values = line.split()
+        for (value, column) in zip(values, self._parsedata):
+            column.append(value)
 
     def _post_process(self):
         """Post processing after data is parsed.
@@ -98,7 +97,8 @@ class PCDCPParser(object):
             data = numpy.array(data, dtype=numpy.float64)
             # filter empty values
             data[data == NINES] = numpy.nan
-            data = numpy.divide(data, 100)
+            data[data == NINES_RAW] = numpy.nan
+            data = numpy.multiply(data, self.resolution)
             self.data[channel] = data
 
         self._parsedata = None
diff --git a/test/pcdcp_test/PCDCPParser_test.py b/test/pcdcp_test/PCDCPParser_test.py
index e31a4f8ba7de6ca8905a576dfe4a866ac71fc8ee..192cd911db23e0a4679107ae82fc205c0aa6756d 100644
--- a/test/pcdcp_test/PCDCPParser_test.py
+++ b/test/pcdcp_test/PCDCPParser_test.py
@@ -18,8 +18,24 @@ BOU  2015  001  01-Jan-15  HEZF  0.01nT  File Version 2.00
 0008  2086278    -5571  4745734  5237808
 """
 
+PCDCP_EXAMPLE_SECOND = \
+"""
+BOU  2015  001  01-Jan-15  HEZF  0.001nT  File Version 2.00
+00000  20861520    -57095  47457409  52377630
+00001  20861533    -57096  47457397  52377650
+00002  20861554    -57077  47457391  52377650
+00003  20861578    -57068  47457389  52377680
+00004  20861600    -57068  47457384  52377660
+00005  20861640    -57047  47457388  52377690
+00006  20861654    -57039  47457378  52377650
+00007  20861699    -57026  47457377  52377690
+00008  20861721    -56995  47457365  52377680
+00009  20861743    -56977  47457350  52377680
+00010  20861750    -56968  47457349  52377690
+"""
+
 
-def test__parse_header():
+def test_parse_header():
     """pcdcp_test.PCDCPParser_test.test_parse_header()
 
     Call the _parse_header method with a header.
@@ -33,3 +49,20 @@ def test__parse_header():
     assert_equals(parser.header['station'], 'BOU')
     assert_equals(parser.header['year'], '2015')
     assert_equals(parser.header['yearday'], '001')
+    assert_equals(parser.header['resolution'], '0.01nT')
+
+def test_parse_header_sec():
+        """pcdcp_test.PCDCPParsser_test.test_parse_header_sec()
+
+        Call the _parse_header method with a pcdcp seconds file '.raw'
+        header.  Verify the header name and value are split correctly.
+        """
+        parser = PCDCPParser()
+        parser._parse_header('BOU  2015  001  01-Jan-15  HEZF  0.001nT' +
+                ' File Version 2.00')
+
+        assert_equals(parser.header['date'], '01-Jan-15')
+        assert_equals(parser.header['station'], 'BOU')
+        assert_equals(parser.header['year'], '2015')
+        assert_equals(parser.header['yearday'], '001')
+        assert_equals(parser.header['resolution'], '0.001nT')
\ No newline at end of file