Hello,
I saw that there are no summits registered in SOTA for Oman (A4), even there is no association for this country.
How to add an association and summits?
73 Haiko, DF9HC
Hello,
I saw that there are no summits registered in SOTA for Oman (A4), even there is no association for this country.
How to add an association and summits?
73 Haiko, DF9HC
Hi,
I guess the same answer like here:
Or short:
And with Oman not being a CEPT country maybe lower motivation to establish something there.
73 Joe
Thank you for your feedback. I think lack of maps should not be a problem here - I assume it’s not worse than in UAE and they are in the program.
I’m quite new to SOTA so I don’t know what means “good enough” but I I have a look at https://opentopomap.org/ for the region this looks pretty good.
Missing association manager might be a problem but this is solvable if there is interest in the country.
73 Haiko
Opentopomap is definitly not good enough.
You can find the discussion for TĂĽrkiye TA with the same conclusion here on the Reflector.
One needs to find summits with 150m prominence. Define coordinates for all the cols (german Sattel) positions and so on.
Barely impossible without detailed elevation maps in 1:10000 or better I guess.
Or laser scanning corrected DEM data if that is available. SOTA set the rules pretty high for adding new associations.
So maybe you have more luck with pota or Castles on the air
in Oman…
73 Joe
Yes POTA exists - this is quite easy. I don’t know why SOTA makes live so complicated, for questionable summits it’s clear to need accurate maps but others are rather obvious.
Ok anyway - the request came from friends in Oman. I will ask them for maps (they exist for sure but might be subject of national security so not for public use).
The entire raison d’être of SOTA is that it is based on objective requirements and not subjective requirements.
As I recall A6 was quite difficult, finding it hard to reconcile different sources, even trying to nail down where are the borders. National Survey Authority Oman doesn’t even resolve, which does not bode well. I think it’s a sure thing that there will be very detailed lidar terrain models there, but of course they will be commercial.
Haiko:
I have activated many summits in neighbouring UAE and I have thought about Oman many times. The mountains in Oman are fantastic and I suspect there are good maps as well. One potential problem may be the local interest. The UAE was lucky to have a local HAM who was motivated enough to push the SOTA MT and jump through the hoops to make it happen. Perhaps your friends who are living in Oman could fill that role? Another hindrance might be the lack of local interest in SOTA. The SOTA association in UAE has been active for six years and during that time, there have been very few activations other than mine as an occasional visiting activator. I would love to see the mountains of Oman show up as possible SOTA destinations.
Paul, VA6MPM
Let’s see - it seems that there is something moving on soon.
Actually the General Rules are quite detailed about what should happen to create a new Association, read rule 3.2.3. and the following rules. However, nothing will happen until the Management team is contacted using the contact page accessed by clicking SOTA Home on the SOTA Links drop down menu. The MT tend to be too busy running SOTA to pay much attention to the chat on this Reflector, specially towards the end of the month which is when updates and new Associations are announced! ![]()
Reading back through this thread plus the General Rules (section 3.2.3 and 3.5, https://storage.sota.org.uk/docs/SOTA-General-Rules-June-2022.pdf), it
might help to separate what’s actually a rules requirement from what’s just been assumed. Here’s a checklist of what genuinely needs to happen for Oman
(A4) to become an Association, so it’s clear where this is actually stuck rather than guessing:
One thing worth separating out: Oman not being a CEPT country came up earlier as a reason for lower motivation among the usual contributor base, but it
isn’t a requirement in the General Rules itself, so it shouldn’t be read as a rules blocker, just a social one.
So as things stand, steps 2-6 are all things a willing volunteer could realistically start on. Step 1 (finding that volunteer) looks like the actual
bottleneck.
Cheers,
Chris
Following up on the checklist above: I ran the DEM feasibility check to test the “no accurate data” objection directly, rather than leave it as an
assumption.
Method: Andrew Kirmse’s 2023 global prominence dataset (30m Copernicus GLO-30 elevation data, the same methodology published in Kirmse & de Ferranti’s
2017 Cartographic Journal paper on world prominence), filtered against Oman’s actual administrative boundary (an OSM polygon, not just a bounding box, so
results near the Saudi/UAE/Yemen borders aren’t wrongly included or excluded).
Cross-check first: the top 4 results matched peaklist.org’s independently-compiled Ultra-Prominence list (over 1500m prominence) within about 50m on
both position and elevation for all four, despite coming from a completely different DEM source and computation:
| Peak | This analysis (elev / prom) | peaklist.org (elev / prom) |
|---|---|---|
| Jebel Shams | 2989m / 2866m | 3019m / 2899m |
| Jebel al Harim | 2064m / 1777m | 2087m / 1727m |
| Jebel Kawr | 2738m / 1734m | 2730m / 1718m |
| Jebel Khadar | 2010m / 1607m | 2200m / 1600m |
That level of agreement between two independent sources gives me confidence the underlying elevation data is sound enough to work with.
Headline result: filtering the full dataset to Oman and applying SOTA’s 150m prominence threshold gives 1,158 candidate summits, spread across four
distinct areas rather than clustered in one place:
To be clear about what this is and isn’t: it’s a candidate list from open elevation data, not a vetted Summit List. Turning it into one would still need an
Association Manager to work through candidates individually (access, exact positioning, any local corrections) in consultation with the Management Team,
same as any Association. But on the specific “we don’t have accurate enough data to apply the 150m rule” objection, this suggests that’s not actually true.
There’s a lot to work with.
Script used (needs Kirmse’s dataset unzipped alongside it, from Andrew Kirmse's Page - Prominence Update 2023 , plus pip install shapely requests):
#!/usr/bin/env python3
"""
Filter Andrew Kirmse's global topographic prominence dataset (2023 update,
Copernicus GLO-30, https://www.andrewkirmse.com/prominence-update-2023) down
to a single country, using its real administrative boundary rather than a
bounding box.
Written to test whether "we don't have accurate enough elevation data" is a
genuine blocker to Oman joining the SOTA (Summits on the Air) programme,
which requires a minimum topographic prominence of 150m (see SOTA General
Rules 3.5, https://storage.sota.org.uk/docs/SOTA-General-Rules-June-2022.pdf).
Requires:
- all-peaks-sorted-p100.txt, the unzipped CSV from
https://www.andrewkirmse.com/prominence-update-2023
(columns: lat, lon, elevation_m, key_saddle_lat, key_saddle_lon, prominence_m)
- pip install shapely requests
Usage:
python3 oman_prominence_scan.py
"""
import csv
import json
from collections import Counter
import requests
from shapely.geometry import Point, shape
COUNTRY_NAME = "Oman"
PROMINENCE_DATA_FILE = "all-peaks-sorted-p100.txt"
PROMINENCE_THRESHOLD_M = 150.0 # SOTA's minimum, General Rules 3.5
def fetch_country_boundary(name: str):
"""Fetch a country's real administrative boundary polygon from OSM via Nominatim."""
headers = {"User-Agent": "sota-oman-prominence-research/1.0 (contact: cjhandrew@gmail.com)"}
params = {"q": name, "format": "json", "polygon_geojson": 1, "limit": 1}
r = requests.get(
"https://nominatim.openstreetmap.org/search", params=params, headers=headers, timeout=60
)
r.raise_for_status()
data = r.json()
if not data:
raise RuntimeError(f"No boundary found for {name!r}")
return shape(data[0]["geojson"])
def filter_peaks_in_boundary(path: str, boundary):
"""Stream the (large) global prominence file and keep only points inside boundary."""
minx, miny, maxx, maxy = boundary.bounds
# small buffer purely as a cheap pre-filter before the exact point-in-polygon test
minx -= 0.1
miny -= 0.1
maxx += 0.1
maxy += 0.1
results = []
with open(path) as f:
for line in f:
parts = line.rstrip("\n").split(",")
if len(parts) != 6:
continue
lat, lon = float(parts[0]), float(parts[1])
if not (miny <= lat <= maxy and minx <= lon <= maxx):
continue
if boundary.contains(Point(lon, lat)):
elev, prom = float(parts[2]), float(parts[5])
results.append((lat, lon, elev, prom))
results.sort(key=lambda r: -r[3])
return results
def region_bucket(lat: float, lon: float) -> str:
"""Rough, manually-eyeballed regional split for Oman, purely descriptive."""
if lat > 25.3:
return "Musandam exclave (north)"
if lat < 18.5:
return "Dhofar (south)"
if lon > 58.3:
return "Eastern Hajar / Sharqiyah"
return "Al Hajar range (Jebel Akhdar/Shams area, interior)"
"https://nominatim.openstreetmap.org/search", params=params, headers=headers, timeout=60
)
r.raise_for_status()
data = r.json()
if not data:
raise RuntimeError(f"No boundary found for {name!r}")
return shape(data[0]["geojson"])
def filter_peaks_in_boundary(path: str, boundary):
"""Stream the (large) global prominence file and keep only points inside boundary."""
minx, miny, maxx, maxy = boundary.bounds
# small buffer purely as a cheap pre-filter before the exact point-in-polygon test
minx -= 0.1
miny -= 0.1
maxx += 0.1
maxy += 0.1
results = []
with open(path) as f:
for line in f:
parts = line.rstrip("\n").split(",")
if len(parts) != 6:
continue
lat, lon = float(parts[0]), float(parts[1])
if not (miny <= lat <= maxy and minx <= lon <= maxx):
continue
if boundary.contains(Point(lon, lat)):
elev, prom = float(parts[2]), float(parts[5])
results.append((lat, lon, elev, prom))
results.sort(key=lambda r: -r[3])
return results
def region_bucket(lat: float, lon: float) -> str:
"""Rough, manually-eyeballed regional split for Oman, purely descriptive."""
if lat > 25.3:
return "Musandam exclave (north)"
if lat < 18.5:
return "Dhofar (south)"
if lon > 58.3:
return "Eastern Hajar / Sharqiyah"
return "Al Hajar range (Jebel Akhdar/Shams area, interior)"
def main():
boundary = fetch_country_boundary(COUNTRY_NAME)
peaks = filter_peaks_in_boundary(PROMINENCE_DATA_FILE, boundary)
qualifying = [p for p in peaks if p[3] >= PROMINENCE_THRESHOLD_M]
print(f"Total peaks found inside {COUNTRY_NAME}: {len(peaks)}")
print(f"Peaks with prominence >= {PROMINENCE_THRESHOLD_M:.0f}m: {len(qualifying)}")
buckets = Counter(region_bucket(lat, lon) for lat, lon, _, _ in qualifying)
for region, count in buckets.most_common():
print(f" {region}: {count}")
out_path = f"{COUNTRY_NAME.lower()}_prominence_p150.csv"
with open(out_path, "w", newline="") as f:
writer = csv.writer(f)
writer.writerow(["lat", "lon", "elevation_m", "prominence_m"])
for lat, lon, elev, prom in qualifying:
writer.writerow([lat, lon, round(elev, 1), round(prom, 1)])
print(f"Wrote {out_path}")
if __name__ == "__main__":
main()
Full candidate CSV (1,158 rows, lat/lon/elevation/prominence) attached below, if I can see how.
Chris
In practice it’s very rare that the prospective AM provides this. Rather we generate the candidate list (global GLO30 data or local precision data) and check against mapping for confirmation / naming ourselves or with a local team. SAR data (GLO30) are known to throw up inconsistencies when compared with precision data, so we need something else to compare with. We don’t want to invest the time and effort making a list only to short-change activators and have to re-do it later. If an A4 team can come up with national mapping or precision DTM data (I believe these exist - don’t know what coverage there is though) I’ll be happy to investigate further.
I’d be reluctant to consider a P100 area for the flatter part. As I recall from looking at this in the past this would pick up a lot of small prominences in the desert areas which are not necessarily stable terrain features.
Yes Chris, we know about Andrew’s data. This is what we start with nowadays. Yes, there are a lot of A4 candidates.
How are you able to assert that?
Access is not a requirement for a summit to be a SOTA summit.
Thanks both, useful pushback, and fair on both counts.
@G4TGJ you’re right, that was my own conflation, not a rules requirement. Noted for next time.
@G4TJC, on “how are you able to assert that”: on reflection that was stronger than what the analysis actually showed. What I have is: a lot of candidate
summits (1,158 at P150m) spread across four separate areas rather than clustered in one, and the four highest-prominence peaks matching an independent,
separately-compiled source (peaklist.org’s Ultra list, different DEM vintage entirely) within about 50m on both position and elevation. That’s good
evidence the data exists and is roughly the right shape. It isn’t evidence it’s precise enough for individual candidate confirmation against local terrain,
which sounds like the actual bar, and I hadn’t separated those two things clearly enough in how I wrote it up. Also take the point on P100 for the flatter
areas, hadn’t considered that unstable desert terrain features would be exactly what a lower threshold picks up there, that sounds like a real problem,
not just a data-density one.
On precision data: had a quick look for what might exist nationally, since that’s the actual thing you said would move this forward. Oman’s National Survey
Authority maintains a 1:100,000 topographic series (K6611, originally started by the British Directorate of Military Survey, still jointly
English/Arabic). At least one commercial reseller (LAND INFO) lists DEMs derived from that series at 20-90m resolution with around 75% coverage of Oman. I
haven’t verified access, licensing, or current data quality, that’s as far as a search gets without actually contacting someone, but it looks like a
genuine, citable candidate for the kind of precision comparison data you’re after, rather than nothing existing at all.
The mention of P100 is probably irrelevant in view of rule 3.5.6.