# NOTE: custom providers don't require units to be specified
         #       because they can do whatever they please with the units
         #       within their own program
-        if station['provider'] != "custom":
+        if station['provider'] != "python":
             station['units'] = config['station']['units']
 
             if station['units'] not in ['metric', 'english', 'american']:
         if station['provider'] == 'nrcs' and station['units'] == 'metric':
             infoex['wx_data'][element_cd] = convert_nrcs_units_to_metric(element_cd, infoex['wx_data'][element_cd])
 
-        if station['provider'] != 'custom' and station['units'] == 'american':
+        if station['provider'] != 'python' and station['units'] == 'american':
             infoex['wx_data'][element_cd] = convert_units_to_american(element_cd, infoex['wx_data'][element_cd])
 
         # Massage precision of certain values to fit InfoEx's
     elif provider == 'python':
         # we expect Python programs to use the InfoEx data type names
         iemap['precipitationGauge'] = 'precipitationGauge'
+        iemap['precipitationGaugeUnit'] = 'precipitationGaugeUnit'
         iemap['tempPres'] = 'tempPres'
+        iemap['tempPresUnit'] = 'tempPresUnit'
         iemap['tempMaxHour'] = 'tempMaxHour'
         iemap['tempMinHour'] = 'tempMinHour'
         iemap['hS'] = 'hS'
+        iemap['hsUnit'] = 'hsUnit'
         iemap['baro'] = 'baro'
         iemap['rH'] = 'rH'
         iemap['windSpeedNum'] = 'windSpeedNum'