         measurement (generate-measurement-f unit)]
     [measurement (measurement-as-f measurement (first (remove (partial = unit) units)))]))
 
-(generate-pair #{:lbf :N} rand-force-unit typical-force force-as)
+(generate-pair #{:hp :W} rand-power-unit typical-power power-as)

                   [:m :ft]                   #(* % (factors [:m :ft]))
                   [:kg :lb]                  #(* % (factors [:kg :lb]))
                   [:lb :kg]                  #(/ % (factors [:kg :lb]))
                   [:hp :W]                   #(* % (factors [:hp :W]))
                   [:W :hp]                   #(/ % (factors [:hp :W]))
                   [:lb-per-gal :kg-per-m3]   #(* % (factors [:lb-per-gal :kg-per-m3]))
                   [:kg-per-m3 :lb-per-gal]   #(/ % (factors [:lb-per-gal :kg-per-m3]))
                   [:m3-per-min :bpm]         #(* % (factors [:m3 :bbl]))

(defn typical-power
  ([] (typical-power (rand-power-unit)))
  ([power-unit]
   (let [typical-energy (first (typical-total-pump-energy :J))]
     (condp = power-unit
       :W (make-measurement typical-energy power-unit) ;; assume energy expended for 1 s
       :hp (power-as (typical-power :W) :hp)))))

(def measured-at-location [:downhole :surface])

