{
 "checks": [
  {
   "name": "JS map equals a·H(z)·Δχ (independent formula)",
   "pass": true,
   "detail": "max rel 0.0e+0"
  },
  {
   "name": "u per Mpc/h independent of h",
   "pass": true,
   "detail": "1115.235401 vs 1115.235401 km/s"
  },
  {
   "name": "v_pec > 0 ⇒ larger u ⇒ longer λ_obs",
   "pass": true
  },
  {
   "name": "linear map within 1% of exact over ≤ 20 Mpc/h (z = 2–4)",
   "pass": true
  },
  {
   "name": "exp(u/c) vs 1+u/c difference over 20 Mpc/h",
   "pass": true,
   "detail": "2.91e-5 (fractional in 1+z)"
  }
 ],
 "cases": [
  {
   "Om": 0.3,
   "OL": 0.7,
   "h": 0.7,
   "z0": 2,
   "dx_mpch": 0.5,
   "u_map": 49.44132324730441,
   "u_lin_exact": 49.44695276018666,
   "u_log_exact": 49.44287538558285,
   "hubble_per_mpch": 98.88264649460882,
   "u_js": 49.44132324730441,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.000031392556891906674,
   "rel_vs_exact_lin": 0.00011384954113459445
  },
  {
   "Om": 0.3,
   "OL": 0.7,
   "h": 0.7,
   "z0": 2,
   "dx_mpch": 2,
   "u_map": 197.76529298921764,
   "u_lin_exact": 197.85539491824798,
   "u_log_exact": 197.79013386701212,
   "hubble_per_mpch": 98.88264649460882,
   "u_js": 197.76529298921764,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.00012559209758752104,
   "rel_vs_exact_lin": 0.00045539283408253193
  },
  {
   "Om": 0.3,
   "OL": 0.7,
   "h": 0.7,
   "z0": 2,
   "dx_mpch": 5,
   "u_map": 494.4132324730441,
   "u_lin_exact": 494.97674136421824,
   "u_log_exact": 494.56857126956226,
   "hubble_per_mpch": 98.88264649460882,
   "u_js": 494.4132324730441,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.00031408950253226817,
   "rel_vs_exact_lin": 0.0011384552931134426
  },
  {
   "Om": 0.3,
   "OL": 0.7,
   "h": 0.7,
   "z0": 2,
   "dx_mpch": 10,
   "u_map": 988.8264649460882,
   "u_lin_exact": 991.0829833067287,
   "u_log_exact": 989.4483757551029,
   "hubble_per_mpch": 98.88264649460882,
   "u_js": 988.8264649460882,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.0006285429581306784,
   "rel_vs_exact_lin": 0.00227682080980914
  },
  {
   "Om": 0.3,
   "OL": 0.7,
   "h": 0.7,
   "z0": 2,
   "dx_mpch": 20,
   "u_map": 1977.6529298921764,
   "u_lin_exact": 1986.6989244089764,
   "u_log_exact": 1980.1450214962404,
   "hubble_per_mpch": 98.88264649460882,
   "u_js": 1977.6529298921764,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.001258539943797079,
   "rel_vs_exact_lin": 0.004553279012566567
  },
  {
   "Om": 0.3,
   "OL": 0.7,
   "h": 0.7,
   "z0": 2,
   "dx_mpch": 40,
   "u_map": 3955.305859784353,
   "u_lin_exact": 3991.650152102285,
   "u_log_exact": 3965.3098678470205,
   "hubble_per_mpch": 98.88264649460882,
   "u_js": 3955.305859784353,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.002522881791354031,
   "rel_vs_exact_lin": 0.009105079586894861
  },
  {
   "Om": 0.3,
   "OL": 0.7,
   "h": 0.7,
   "z0": 2,
   "dx_mpch": 100,
   "u_map": 9888.264649460882,
   "u_lin_exact": 10118.470480614158,
   "u_log_exact": 9951.460786045902,
   "hubble_per_mpch": 98.88264649460882,
   "u_js": 9888.264649460882,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.006350438186284656,
   "rel_vs_exact_lin": 0.0227510503286366
  },
  {
   "Om": 0.3,
   "OL": 0.7,
   "h": 0.7,
   "z0": 3,
   "dx_mpch": 0.5,
   "u_map": 55.761770057988656,
   "u_lin_exact": 55.76927618092082,
   "u_log_exact": 55.76408954860943,
   "hubble_per_mpch": 111.52354011597731,
   "u_js": 55.761770057988656,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.00004159470081097159,
   "rel_vs_exact_lin": 0.00013459243953270572
  },
  {
   "Om": 0.3,
   "OL": 0.7,
   "h": 0.7,
   "z0": 3,
   "dx_mpch": 2,
   "u_map": 223.04708023195462,
   "u_lin_exact": 223.16722289499197,
   "u_log_exact": 223.08420061445122,
   "hubble_per_mpch": 111.52354011597731,
   "u_js": 223.04708023195462,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.00016639628621997252,
   "rel_vs_exact_lin": 0.00053835263744745
  },
  {
   "Om": 0.3,
   "OL": 0.7,
   "h": 0.7,
   "z0": 3,
   "dx_mpch": 5,
   "u_map": 557.6177005798866,
   "u_lin_exact": 558.369151504321,
   "u_log_exact": 557.8498096812423,
   "hubble_per_mpch": 111.52354011597731,
   "u_js": 557.6177005798866,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.00041607812233250747,
   "rel_vs_exact_lin": 0.0013457959172887407
  },
  {
   "Om": 0.3,
   "OL": 0.7,
   "h": 0.7,
   "z0": 3,
   "dx_mpch": 10,
   "u_map": 1115.2354011597731,
   "u_lin_exact": 1118.2449401992603,
   "u_log_exact": 1116.164549537663,
   "hubble_per_mpch": 111.52354011597731,
   "u_js": 1115.2354011597731,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.0008324474901795246,
   "rel_vs_exact_lin": 0.0026913057518068786
  },
  {
   "Om": 0.3,
   "OL": 0.7,
   "h": 0.7,
   "z0": 3,
   "dx_mpch": 20,
   "u_map": 2230.4708023195462,
   "u_lin_exact": 2242.5389436657524,
   "u_log_exact": 2234.19310011861,
   "hubble_per_mpch": 111.52354011597731,
   "u_js": 2230.4708023195462,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.0016660591239253415,
   "rel_vs_exact_lin": 0.0053814634436087265
  },
  {
   "Om": 0.3,
   "OL": 0.7,
   "h": 0.7,
   "z0": 3,
   "dx_mpch": 40,
   "u_map": 4460.9416046390925,
   "u_lin_exact": 4509.455703559568,
   "u_log_exact": 4475.876567223858,
   "hubble_per_mpch": 111.52354011597731,
   "u_js": 4460.9416046390925,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.003336768197347472,
   "rel_vs_exact_lin": 0.010758304795450296
  },
  {
   "Om": 0.3,
   "OL": 0.7,
   "h": 0.7,
   "z0": 3,
   "dx_mpch": 100,
   "u_map": 11152.35401159773,
   "u_lin_exact": 11460.180155454289,
   "u_log_exact": 11246.56271571758,
   "hubble_per_mpch": 111.52354011597731,
   "u_js": 11152.35401159773,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.008376666409212231,
   "rel_vs_exact_lin": 0.02686049780029451
  },
  {
   "Om": 0.3,
   "OL": 0.7,
   "h": 0.7,
   "z0": 4,
   "dx_mpch": 0.5,
   "u_map": 61.806148561449774,
   "u_lin_exact": 61.8155313411527,
   "u_log_exact": 61.80915920830822,
   "hubble_per_mpch": 123.61229712289955,
   "u_js": 61.806148561449774,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.00004870874959328881,
   "rel_vs_exact_lin": 0.0001517867678131314
  },
  {
   "Om": 0.3,
   "OL": 0.7,
   "h": 0.7,
   "z0": 4,
   "dx_mpch": 2,
   "u_map": 247.2245942457991,
   "u_lin_exact": 247.37478065305004,
   "u_log_exact": 247.27277568564188,
   "hubble_per_mpch": 123.61229712289955,
   "u_js": 247.2245942457991,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.0001948513729794168,
   "rel_vs_exact_lin": 0.0006071209314646452
  },
  {
   "Om": 0.3,
   "OL": 0.7,
   "h": 0.7,
   "z0": 4,
   "dx_mpch": 5,
   "u_map": 618.0614856144978,
   "u_lin_exact": 619.0009256888668,
   "u_log_exact": 618.362758308853,
   "hubble_per_mpch": 123.61229712289955,
   "u_js": 618.0614856144978,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.0004872102828106792,
   "rel_vs_exact_lin": 0.0015176715177340934
  },
  {
   "Om": 0.3,
   "OL": 0.7,
   "h": 0.7,
   "z0": 4,
   "dx_mpch": 10,
   "u_map": 1236.1229712289955,
   "u_lin_exact": 1239.8859089475586,
   "u_log_exact": 1237.3289876080796,
   "hubble_per_mpch": 123.61229712289955,
   "u_js": 1236.1229712289955,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.0009746933848332973,
   "rel_vs_exact_lin": 0.0030349064308321247
  },
  {
   "Om": 0.3,
   "OL": 0.7,
   "h": 0.7,
   "z0": 4,
   "dx_mpch": 20,
   "u_map": 2472.245942457991,
   "u_lin_exact": 2487.3392718056175,
   "u_log_exact": 2477.077427323732,
   "hubble_per_mpch": 123.61229712289955,
   "u_js": 2472.245942457991,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.0019504779351855002,
   "rel_vs_exact_lin": 0.0060680621733881215
  },
  {
   "Om": 0.3,
   "OL": 0.7,
   "h": 0.7,
   "z0": 4,
   "dx_mpch": 40,
   "u_map": 4944.491884915982,
   "u_lin_exact": 5005.200397901795,
   "u_log_exact": 4963.877413329984,
   "hubble_per_mpch": 123.61229712289955,
   "u_js": 4944.491884915982,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.0039053197329055574,
   "rel_vs_exact_lin": 0.012129087381049238
  },
  {
   "Om": 0.3,
   "OL": 0.7,
   "h": 0.7,
   "z0": 4,
   "dx_mpch": 100,
   "u_map": 12361.229712289954,
   "u_lin_exact": 12747.074131697218,
   "u_log_exact": 12483.518464858786,
   "hubble_per_mpch": 123.61229712289955,
   "u_js": 12361.229712289954,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.00979601647669085,
   "rel_vs_exact_lin": 0.030269253588775517
  },
  {
   "Om": 0.3153,
   "OL": 0.6847,
   "h": 0.6736,
   "z0": 2,
   "dx_mpch": 0.5,
   "u_map": 50.54645827794906,
   "u_lin_exact": 50.552374910687654,
   "u_log_exact": 50.54811320349807,
   "hubble_per_mpch": 101.09291655589811,
   "u_js": 50.54645827794906,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.00003273961072195659,
   "rel_vs_exact_lin": 0.00011703965934438783
  },
  {
   "Om": 0.3153,
   "OL": 0.6847,
   "h": 0.6736,
   "z0": 2,
   "dx_mpch": 2,
   "u_map": 202.18583311179623,
   "u_lin_exact": 202.280531170505,
   "u_log_exact": 202.21231895254925,
   "hubble_per_mpch": 101.09291655589811,
   "u_js": 202.18583311179623,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.00013098035218734932,
   "rel_vs_exact_lin": 0.00046815211607752677
  },
  {
   "Om": 0.3153,
   "OL": 0.6847,
   "h": 0.6736,
   "z0": 2,
   "dx_mpch": 5,
   "u_map": 505.46458277949057,
   "u_lin_exact": 506.0568451940624,
   "u_log_exact": 505.630207209312,
   "hubble_per_mpch": 101.09291655589811,
   "u_js": 505.46458277949057,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.00032756039386086825,
   "rel_vs_exact_lin": 0.0011703476006627836
  },
  {
   "Om": 0.3153,
   "OL": 0.6847,
   "h": 0.6736,
   "z0": 2,
   "dx_mpch": 10,
   "u_map": 1010.9291655589811,
   "u_lin_exact": 1013.3008831641438,
   "u_log_exact": 1011.592249704897,
   "hubble_per_mpch": 101.09291655589811,
   "u_js": 1010.9291655589811,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.0006554855932410195,
   "rel_vs_exact_lin": 0.0023405857475981805
  },
  {
   "Om": 0.3153,
   "OL": 0.6847,
   "h": 0.6736,
   "z0": 2,
   "dx_mpch": 20,
   "u_map": 2021.8583311179623,
   "u_lin_exact": 2031.3666098239735,
   "u_log_exact": 2024.5153630546151,
   "hubble_per_mpch": 101.09291655589811,
   "u_js": 2021.8583311179623,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.0013124286360780646,
   "rel_vs_exact_lin": 0.004680730036630429
  },
  {
   "Om": 0.3153,
   "OL": 0.6847,
   "h": 0.6736,
   "z0": 2,
   "dx_mpch": 40,
   "u_map": 4043.7166622359246,
   "u_lin_exact": 4081.9220858439385,
   "u_log_exact": 4054.382416417486,
   "hubble_per_mpch": 101.09291655589811,
   "u_js": 4043.7166622359246,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.002630672957334411,
   "rel_vs_exact_lin": 0.009359665080455581
  },
  {
   "Om": 0.3153,
   "OL": 0.6847,
   "h": 0.6736,
   "z0": 2,
   "dx_mpch": 100,
   "u_map": 10109.291655589812,
   "u_lin_exact": 10351.359404946741,
   "u_log_exact": 10176.661372971585,
   "hubble_per_mpch": 101.09291655589811,
   "u_js": 10109.291655589812,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.006620021528936927,
   "rel_vs_exact_lin": 0.023385116861196906
  },
  {
   "Om": 0.3153,
   "OL": 0.6847,
   "h": 0.6736,
   "z0": 3,
   "dx_mpch": 0.5,
   "u_map": 57.096272864347284,
   "u_lin_exact": 57.10416182285657,
   "u_log_exact": 57.098723942077974,
   "hubble_per_mpch": 114.19254572869457,
   "u_js": 57.096272864347284,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.00004292701415142845,
   "rel_vs_exact_lin": 0.0001381503249054992
  },
  {
   "Om": 0.3153,
   "OL": 0.6847,
   "h": 0.6736,
   "z0": 3,
   "dx_mpch": 2,
   "u_map": 228.38509145738914,
   "u_lin_exact": 228.51136289572005,
   "u_log_exact": 228.4243178046461,
   "hubble_per_mpch": 114.19254572869457,
   "u_js": 228.38509145738914,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.00017172579361939144,
   "rel_vs_exact_lin": 0.0005525827544450849
  },
  {
   "Om": 0.3153,
   "OL": 0.6847,
   "h": 0.6736,
   "z0": 3,
   "dx_mpch": 5,
   "u_map": 570.9627286434728,
   "u_lin_exact": 571.7525270291907,
   "u_log_exact": 571.2080071424108,
   "hubble_per_mpch": 114.19254572869457,
   "u_js": 570.9627286434728,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.00042940311737756553,
   "rel_vs_exact_lin": 0.0013813640489210043
  },
  {
   "Om": 0.3153,
   "OL": 0.6847,
   "h": 0.6736,
   "z0": 3,
   "dx_mpch": 10,
   "u_map": 1141.9254572869456,
   "u_lin_exact": 1145.0886709772055,
   "u_log_exact": 1142.90733076973,
   "hubble_per_mpch": 114.19254572869457,
   "u_js": 1141.9254572869456,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.0008591015704860501,
   "rel_vs_exact_lin": 0.002762418116983428
  },
  {
   "Om": 0.3153,
   "OL": 0.6847,
   "h": 0.6736,
   "z0": 3,
   "dx_mpch": 20,
   "u_map": 2283.8509145738913,
   "u_lin_exact": 2296.5360435972266,
   "u_log_exact": 2287.7844939316315,
   "hubble_per_mpch": 114.19254572869457,
   "u_js": 2283.8509145738913,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.0017193836955246677,
   "rel_vs_exact_lin": 0.005523592394163214
  },
  {
   "Om": 0.3153,
   "OL": 0.6847,
   "h": 0.6736,
   "z0": 3,
   "dx_mpch": 40,
   "u_map": 4567.7018291477825,
   "u_lin_exact": 4618.702363054486,
   "u_log_exact": 4583.484983488354,
   "hubble_per_mpch": 114.19254572869457,
   "u_js": 4567.7018291477825,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.0034434833750801915,
   "rel_vs_exact_lin": 0.01104217806167004
  },
  {
   "Om": 0.3153,
   "OL": 0.6847,
   "h": 0.6736,
   "z0": 3,
   "dx_mpch": 100,
   "u_map": 11419.254572869457,
   "u_lin_exact": 11742.976320740818,
   "u_log_exact": 11518.822789659213,
   "hubble_per_mpch": 114.19254572869457,
   "u_js": 11419.254572869457,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.008643957686295953,
   "rel_vs_exact_lin": 0.02756726565986456
  },
  {
   "Om": 0.3153,
   "OL": 0.6847,
   "h": 0.6736,
   "z0": 4,
   "dx_mpch": 0.5,
   "u_map": 63.32234992480933,
   "u_lin_exact": 63.33221125968299,
   "u_log_exact": 63.325522625492894,
   "hubble_per_mpch": 126.64469984961866,
   "u_js": 63.32234992480933,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.00005010145281116967,
   "rel_vs_exact_lin": 0.00015570804615091204
  },
  {
   "Om": 0.3153,
   "OL": 0.6847,
   "h": 0.6736,
   "z0": 4,
   "dx_mpch": 2,
   "u_map": 253.28939969923732,
   "u_lin_exact": 253.44724774303853,
   "u_log_exact": 253.34017479122681,
   "hubble_per_mpch": 126.64469984961866,
   "u_js": 253.28939969923732,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.0002004225821322497,
   "rel_vs_exact_lin": 0.0006228043318949198
  },
  {
   "Om": 0.3153,
   "OL": 0.6847,
   "h": 0.6736,
   "z0": 4,
   "dx_mpch": 5,
   "u_map": 633.2234992480933,
   "u_lin_exact": 634.210884098142,
   "u_log_exact": 633.5409922042088,
   "hubble_per_mpch": 126.64469984961866,
   "u_js": 633.2234992480933,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.0005011403524354621,
   "rel_vs_exact_lin": 0.0015568714993794963
  },
  {
   "Om": 0.3153,
   "OL": 0.6847,
   "h": 0.6736,
   "z0": 4,
   "dx_mpch": 10,
   "u_map": 1266.4469984961866,
   "u_lin_exact": 1270.4021133936678,
   "u_log_exact": 1267.7179622634158,
   "hubble_per_mpch": 126.64469984961866,
   "u_js": 1266.4469984961866,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.0010025603525882002,
   "rel_vs_exact_lin": 0.0031132779580442045
  },
  {
   "Om": 0.3153,
   "OL": 0.6847,
   "h": 0.6736,
   "z0": 4,
   "dx_mpch": 20,
   "u_map": 2532.893996992373,
   "u_lin_exact": 2548.759236259249,
   "u_log_exact": 2537.9858037622785,
   "hubble_per_mpch": 126.64469984961866,
   "u_js": 2532.893996992373,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.0020062392635756,
   "rel_vs_exact_lin": 0.006224691230608734
  },
  {
   "Om": 0.3153,
   "OL": 0.6847,
   "h": 0.6736,
   "z0": 4,
   "dx_mpch": 40,
   "u_map": 5065.787993984746,
   "u_lin_exact": 5129.610024644959,
   "u_log_exact": 5086.219094930582,
   "hubble_per_mpch": 126.64469984961866,
   "u_js": 5065.787993984746,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.004016952585900142,
   "rel_vs_exact_lin": 0.012441887463877891
  },
  {
   "Om": 0.3153,
   "OL": 0.6847,
   "h": 0.6736,
   "z0": 4,
   "dx_mpch": 100,
   "u_map": 12664.469984961866,
   "u_lin_exact": 13070.27290670126,
   "u_log_exact": 12793.375238756384,
   "hubble_per_mpch": 126.64469984961866,
   "u_js": 12664.469984961866,
   "rel_vs_map": 0,
   "rel_vs_exact_log": 0.010075937849771675,
   "rel_vs_exact_lin": 0.031047777245059274
  }
 ],
 "linear_map_max_rel_dev_by_dx": {
  "2": 0.0002004225821322497,
  "5": 0.0005011403524354621,
  "10": 0.0010025603525882002,
  "20": 0.0020062392635756,
  "40": 0.004016952585900142,
  "100": 0.010075937849771675,
  "0.5": 0.00005010145281116967
 },
 "exp_vs_linear_20mpch_z3": 0.000029091601766451092,
 "linear_map_rel_dev_per_mpch": 0.00010031196317878,
 "abs_dev_kms_20mpch_z3": 3.9335793577402,
 "pass": true
}