function kRingIndexes(searchLocation, pad = 0) {
const origin = h3.geoToH3(searchLocation.lat, searchLocation.lng, res);
const e = h3.edgeLength(res, h3.UNITS.km);
const a = (Math.sqrt(3.0)*e)/2.0
const edgeIfEIsReallyA = (2*a)/Math.sqrt(3.0)
const calcApothem = Math.max(...h3.kRingDistances(origin, 1)[1].map(
oneAwayH3 => h3.pointDist(h3.h3ToGeo(oneAwayH3), h3.h3ToGeo(origin), h3.UNITS.km) / 2))
const calcEdge = Math.min(...h3.kRingDistances(origin, 2)[2].map(
twoAwayH3 => h3.pointDist(h3.h3ToGeo(twoAwayH3), h3.h3ToGeo(origin), h3.UNITS.km) / 3))
const calcEdgeFromApothem = (2*calcApothem)/Math.sqrt(3.0)
console.log("edge:" + e)
console.log("apothem:" + a)
console.log("calcApothem:" + calcApothem)
const radiusIfEven = Math.ceil(((searchRadiusKm - calcEdge) / calcEdge) / (3.0/2.0));
const radiusIfOdd = Math.ceil(((((searchRadiusKm - calcEdge) / calcEdge) * 2.0) + 1.0)/3.0);
const longRadius = Math.ceil((searchRadiusKm - calcApothem)/(2.0*calcApothem));
const radius = (radiusIfEven % 2 === 0 ? radiusIfEven : radiusIfOdd) + 1;
console.log("k:" + longRadius)
return h3.kRing(origin, longRadius + pad);
}