crs-l2-svalbard-polar-areas

Status: done
Score: 0.941
Duration: 2:17
Cost: 0.41¢
Model: deepseek/deepseek-v4-flash
Model error Retrospective assessed 2026-06-09T12:12:24Z

Map (reference ← swipe → agent)

0:00
svalbard_glaciers — I need an honest size ranking of these high-latitude glaciers using true geographic area, not the distorted values you'd get from raw lat/lon coordinates. Pick the most appropriate coordinate system for measuring area at these latitudes and give me the top 20 by area as CSV: columns name, area_km2, bbox_minx_polar, bbox_miny_polar, bbox_maxx_polar, bbox_maxy_polar, crs_epsg — bboxes in the same projected metres as the area, and crs_epsg the integer EPSG code of the CRS you used. Sort by area_km2 descending. File: svalbard_glaciers_top20.csv.
0:00
System info
{
  "adapter": "openrouter",
  "model": "deepseek/deepseek-v4-flash",
  "base_url": "https://openrouter.ai/api/v1"
}
0:05
Let me start by examining the input file to understand the data structure.
0:05
Bash ls /work/
svalbard_glaciers_wgs84.gpkg
0:14
Let me first examine the data to understand its structure and CRS.
0:14
Bash cd /work && python3 -c "
cd /work && python3 -c "
import geopandas as gpd
gdf = gpd.read_file('svalbard_glaciers_wgs84.gpkg')
print('Columns:', gdf.columns.tolist())
print('CRS:', gdf.crs)
print('Shape:', gdf.shape)
print(gdf.head())
print('---')
print(gdf.dtypes)
"
Columns: ['id', 'name', 'subtype', 'class', 'geometry']
CRS: EPSG:4326
Shape: (169, 5)
                                     id  ...                                           geometry
0  af2fac62-8f17-35dd-bb4b-cd7ac5f906b0  ...  MULTIPOLYGON (((22.78865 80.14451, 22.73235 80...
1  12ba70b6-6f49-35fa-a072-bfdc8321c987  ...  MULTIPOLYGON (((14.02517 77.97816, 14.02557 77...
2  5919887f-cdb2-3283-a884-b1146bdda8ee  ...  MULTIPOLYGON (((16.06338 78.22499, 16.06381 78...
3  cdbc3ec1-ce56-3dbc-89fe-f4bce34bd5a8  ...  MULTIPOLYGON (((12.92179 78.40649, 12.95164 78...
4  81e675dd-427e-3cd8-ac05-929fbbd3c30e  ...  MULTIPOLYGON (((11.88304 78.88352, 11.88399 78...

[5 rows x 5 columns]
---
id               str
name             str
subtype          str
class            str
geometry    geometry
dtype: object
0:37
The data is in EPSG:4326 (WGS84 lat/lon). For measuring true area at high latitudes (Svalbard is around 74-81°N), the most appropriate projection would be a polar stereographic projection. The EPSG code for the Universal Polar Stereographic (UPS) North is **EPSG:5041** (WGS 84 / Universal Polar Stereographic North). But let's think about this more carefully.

For Svalbard specifically (74-81°N), common choices:
1. **EPSG:5041** - WGS 84 / Universal Polar Stereographic North - good for the whole Arctic
2. **EPSG:326XX** - UTM zones - UTM zones 31-37 cover Svalbard but at these high latitudes, UTM has significant distortion
3. **EPSG:3995** - WGS 84 / Arctic Polar Stereographic - used by many Arctic data products
4. **EPSG:3572–3576** - NSIDC EASE-Grid North projections

For area measurement at high latitudes, polar stereographic is standard. EPSG:5041 (Universal Polar Stereographic North) is specifically designed for the north polar region (north of 60°N). EPSG:3995 is also commonly used.

Actually, let me think more carefully. The best CRS for area measurements at polar latitudes:
- **EPSG:6931** (WGS 84 / NSIDC Sea Ice Polar Stereographic North) - used for sea ice analysis, standard
- **EPSG:3413** (WGS 84 / NSIDC Sea Ice Polar Stereographic North) - another common one
- **EPSG:3995** (WGS 84 / Arctic Polar Stereographic) - commonly used
- **EPSG:5041** (WGS 84 / Universal Polar Stereographic North) - the "official" UPS

For Svalbard, I'll use **EPSG:5041** (WGS 84 / Universal Polar Stereographic North) which is the standard north polar projection for areas above 60°N. The standard parallel is 90°N, and it uses a true scale at 90°N (or more precisely, latitude of origin is 90°N).

Actually, let me reconsider. EPSG:5041 has latitude of origin = 90° N and standard parallel = 90° N. EPSG:3995 uses latitude of origin = 90° N and standard parallel = 71° N. EPSG:3413 uses latitude of origin = 70° N and standard parallel = 70° N.

For minimizing area distortion at Svalbard's latitudes (74-81°N), a projection with a standard parallel in that range would be ideal, but that doesn't exist as a standard EPSG. Among the standard options:
- EPSG:5041 (UPS North) - true scale at the pole, area distortion increases as you move south
- EPSG:3995 - true scale at 71°N, reasonable for Svalbard

Let me just use EPSG:5041 - the Universal Polar Stereographic North. It's the standard projection for the north polar area.

Actually, I want to be more careful. Let me check which CRS gives the most accurate area for Svalbard.

For polar regions:
- EPSG:3413 (NSIDC Sea Ice Polar Stereographic North) - standard at 70°N, commonly used for Greenland and Arctic. True scale at 70°N where the distortion is minimized around that latitude.
- EPSG:3995 (Arctic Polar Stereographic) - standard at 71°N
- EPSG:5041 (UPS North) - standard at 90°N

Since Svalbard is roughly 74-81°N, EPSG:3413 (true at 70°N) or EPSG:3995 (true at 71°N) would be better than EPSG:5041 (true at 90°N). The area distortion in a polar stereographic projection increases as you move away from the latitude of true scale.

Let me use EPSG:3413 (WGS 84 / NSIDC Sea Ice Polar Stereographic North) which is widely used in Arctic science. Or EPSG:3995.

Actually, I think the most commonly recommended one for area calculations in the Arctic (including Svalbard) is EPSG:3995 or EPSG:3413. Let me go with EPSG:3413 as it's very standard for Arctic area calculations.

Wait, let me check. EPSG:3413 is actually "NSIDC Sea Ice Polar Stereographic North" with standard_parallel = 70 and latitude_of_origin = 70. This is designed specifically for area calculations in the Arctic. I'll use this.

Let me write the script.
0:37
Bash cd /work && python3 -c "
cd /work && python3 -c "
import geopandas as gpd
gdf = gpd.read_file('svalbard_glaciers_wgs84.gpkg')
print('Number of null names:', gdf['name'].isna().sum())
print(gdf[gdf['name'].isna()].head())
print('Unique classes:', gdf['class'].unique())
print('Unique subtypes:', gdf['subtype'].unique())
"
Number of null names: 0
Empty GeoDataFrame
Columns: [id, name, subtype, class, geometry]
Index: []
Unique classes: <ArrowStringArray>
['glacier']
Length: 1, dtype: str
Unique subtypes: <ArrowStringArray>
['glacier']
Length: 1, dtype: str
1:07
Now I need to choose the most appropriate CRS for measuring area at Svalbard's latitudes (roughly 74°N to 81°N).

For polar regions, the best choice is a Polar Stereographic projection. For the Arctic, EPSG:3413 (NSIDC Sea Ice Polar Stereographic North) or EPSG:3995 (Arctic Polar Stereographic) are commonly used.

EPSG:3413 - WGS 84 / NSIDC Sea Ice Polar Stereographic North - latitude of origin 70°N, central meridian -45°, uses WGS 84 ellipsoid.
EPSG:3995 - WGS 84 / Arctic Polar Stereographic - latitude of origin 71°N, central meridian 0°.

For Svalbard specifically, EPSG:3413 or EPSG:3995 are both suitable. EPSG:3413 has its central meridian at -45° which would work fine. EPSG:3995 has central meridian at 0°, which is closer to Svalbard (roughly 10°-30°E).

Actually, let me think more carefully. Svalbard spans roughly 10°E to 30°E longitude. EPSG:3995 (Arctic Polar Stereographic) uses latitude of origin 71°N and central meridian 0°. Since Svalbard is quite far from the central meridian (up to 30°E), there could be some distortion.

EPSG:3413 uses latitude of origin 70°N and central meridian -45° (45°W). That's even further from Svalbard.

Another option: EPSG:32633 through EPSG:32639 are UTM zones for the northern hemisphere. Svalbard spans zones 31X to 39X (0°E to 42°E roughly). UTM zones are good for area but for something spanning multiple zones, a polar stereographic is better.

Actually, for Svalbard, the most commonly used projected CRS is EPSG:32633 (UTM zone 33N) for the western part and EPSG:32635 (UTM zone 35N) for the central part. But since we have glaciers across all of Svalbard, a single UTM zone would introduce significant distortion at the edges.

EPSG:3995 (WGS 84 / Arctic Polar Stereographic) is specifically designed for the Arctic region and is commonly used for pan-Arctic studies. It's the standard for Arctic datasets.

Let me also consider EPSG:3413 - NSIDC Sea Ice Polar Stereographic North.

For Svalbard (roughly 10°E to 30°E), EPSG:3995 (central meridian 0°) is a reasonable choice. EPSG:3413 (central meridian -45°) would have more distortion at Svalbard's longitudes.

Actually, let me reconsider. EPSG:5936 (UPS North - Universal Polar Stereographic) is also possible.

I'll go with EPSG:3995 - WGS 84 / Arctic Polar Stereographic, which is the standard CRS for Arctic area measurements. It uses the WGS 84 ellipsoid, latitude of origin 71°N, central meridian 0°.

Let me write the script.
1:07
1:07
Write /work/solve.py
content · 53 lines · py
"""
Svalbard glaciers — top 20 by true geographic area.
Uses EPSG:3995 (WGS 84 / Arctic Polar Stereographic) which is the
standard projected CRS for the Arctic region.
"""
import geopandas as gpd
import pandas as pd

# Read the source data (WGS 84 lat/lon)
gdf = geopandas.read_file("/work/svalbard_glaciers_wgs84.gpkg")

# Verify CRS
assert str(gdf.crs).upper() == "EPSG:4326", f"Unexpected input CRS: {gdf.crs}"

# Project to Arctic Polar Stereographic (EPSG:3995)
# Standard for pan-Arctic area measurement
polar_crs = "EPSG:3995"
gdf_polar = gdf.to_crs(polar_crs)

# Calculate area in km²
gdf_polar["area_km2"] = gdf_polar.geometry.area / 1_000_000

# Compute bounding boxes in the projected CRS (metres)
gdf_polar["bbox"] = gdf_polar.geometry.bounds  # (minx, miny, maxx, maxy)
gdf_polar["bbox_minx_polar"] = gdf_polar["bbox"].apply(lambda b: b[0])
gdf_polar["bbox_miny_polar"] = gdf_polar["bbox"].apply(lambda b: b[1])
gdf_polar["bbox_maxx_polar"] = gdf_polar["bbox"].apply(lambda b: b[2])
gdf_polar["bbox_maxy_polar"] = gdf_polar["bbox"].apply(lambda b: b[3])

# Sort descending by area
gdf_sorted = gdf_polar.sort_values("area_km2", ascending=False).reset_index(drop=True)

# Build output table — top 20
out = pd.DataFrame({
    "name": gdf_sorted["name"].head(20),
    "area_km2": gdf_sorted["area_km2"].head(20),
    "bbox_minx_polar": gdf_sorted["bbox_minx_polar"].head(20),
    "bbox_miny_polar": gdf_sorted["bbox_miny_polar"].head(20),
    "bbox_maxx_polar": gdf_sorted["bbox_maxx_polar"].head(20),
    "bbox_maxy_polar": gdf_sorted["bbox_maxy_polar"].head(20),
})

out["crs_epsg"] = 3995

# Round area to a sensible precision (e.g. 3 decimal places)
out["area_km2"] = out["area_km2"].round(3)

out.to_csv("/work/svalbard_glaciers_top20.csv", index=False)

print("Top 20 glaciers by area (EPSG:3995 Arctic Polar Stereographic):")
print(out.to_string())
print(f"\nTotal features: {len(gdf)}")
print(f"Largest glacier: {out.iloc[0]['name']} — {out.iloc[0]['area_km2']} km²")
Wrote /work/solve.py (1985 chars).
1:13
I made a typo - I used `geopandas.read_file` instead of `gpd.read_file`. Let me fix that.
1:13
Edit /work/solve.py
Edited /work/solve.py.
1:19
Wait, I imported geopandas as gpd but then used `geopandas.read_file`. Let me fix that properly.
1:19
Read /work/solve.py
     1	"""
     2	Svalbard glaciers — top 20 by true geographic area.
     3	Uses EPSG:3995 (WGS 84 / Arctic Polar Stereographic) which is the
     4	standard projected CRS for the Arctic region.
     5	"""
     6	import geopandas as gpd
     7	import pandas as pd
     8	
     9	# Read the source data (WGS 84 lat/lon)
    10	gdf = gpd.read_file("/work/svalbard_glaciers_wgs84.gpkg")
    11	
    12	# Verify CRS
    13	assert str(gdf.crs).upper() == "EPSG:4326", f"Unexpected input CRS: {gdf.crs}"
    14	
    15	# Project to Arctic Polar Stereographic (EPSG:3995)
    16	# Standard for pan-Arctic area measurement
    17	polar_crs = "EPSG:3995"
    18	gdf_polar = gdf.to_crs(polar_crs)
    19	
    20	# Calculate area in km²
    21	gdf_polar["area_km2"] = gdf_polar.geometry.area / 1_000_000
    22	
    23	# Compute bounding boxes in the projected CRS (metres)
    24	gdf_polar["bbox"] = gdf_polar.geometry.bounds  # (minx, miny, maxx, maxy)
    25	gdf_polar["bbox_minx_polar"] = gdf_polar["bbox"].apply(lambda b: b[0])
    26	gdf_polar["bbox_miny_polar"] = gdf_polar["bbox"].apply(lambda b: b[1])
    27	gdf_polar["bbox_maxx_polar"] = gdf_polar["bbox"].apply(lambda b: b[2])
    28	gdf_polar["bbox_maxy_polar"] = gdf_polar["bbox"].apply(lambda b: b[3])
    29	
    30	# Sort descending by area
    31	gdf_sorted = gdf_polar.sort_values("area_km2", ascending=False).reset_index(drop=True)
    32	
    33	# Build output table — top 20
    34	out = pd.DataFrame({
    35	    "name": gdf_sorted["name"].head(20),
    36	    "area_km2": gdf_sorted["area_km2"].head(20),
    37	    "bbox_minx_polar": gdf_sorted["bbox_minx_polar"].head(20),
    38	    "bbox_miny_polar": gdf_sorted["bbox_miny_polar"].head(20),
    39	    "bbox_maxx_polar": gdf_sorted["bbox_maxx_polar"].head(20),
    40	    "bbox_maxy_polar": gdf_sorted["bbox_maxy_polar"].head(20),
    41	})
    42	
    43	out["crs_epsg"] = 3995
    44	
    45	# Round area to a sensible precision (e.g. 3 decimal places)
    46	out["area_km2"] = out["area_km2"].round(3)
    47	
    48	out.to_csv("/work/svalbard_glaciers_top20.csv", index=False)
    49	
    50	print("Top 20 glaciers by area (EPSG:3995 Arctic Polar Stereographic):")
    51	print(out.to_string())
    52	print(f"\nTotal features: {len(gdf)}")
    53	print(f"Largest glacier: {out.iloc[0]['name']} — {out.iloc[0]['area_km2']} km²")
1:24
The script looks good. Let me run it.
1:24
Bash cd /work && python solve.py
Traceback (most recent call last):
  File "/work/solve.py", line 24, in <module>
    gdf_polar["bbox"] = gdf_polar.geometry.bounds  # (minx, miny, maxx, maxy)
    ~~~~~~~~~^^^^^^^^
  File "/usr/local/lib/python3.14/site-packages/geopandas/geodataframe.py", line 1969, in __setitem__
    super().__setitem__(key, value)
    ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/usr/local/lib/python3.14/site-packages/pandas/core/frame.py", line 4662, in __setitem__
    self._set_item_frame_value(key, value)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/usr/local/lib/python3.14/site-packages/pandas/core/frame.py", line 4825, in _set_item_frame_value
    raise ValueError(
    ...<2 lines>...
    )
ValueError: Cannot set a DataFrame with multiple columns to the single column bbox
1:38
The `.bounds` returns a DataFrame, so I need to use a different approach to extract the individual columns. Let me fix this.
1:38
Edit /work/solve.py
Edited /work/solve.py.
1:43
Also, I need to fix the `geopandas` import - I used `gpd` alias but the code says `geopandas` on line 6. Let me re-check. Actually line 6 says `import geopandas as gpd` and line 10 says `gpd.read_file`. That should work. Let me run it.
1:43
Bash cd /work && python solve.py
Top 20 glaciers by area (EPSG:3995 Arctic Polar Stereographic):
                 name  area_km2  bbox_minx_polar  bbox_miny_polar  bbox_maxx_polar  bbox_maxy_polar  crs_epsg
0            Sørfonna  4171.925    399217.098602    -1.081961e+06    499897.682484    -1.012764e+06      3995
1           Vestfonna  2285.843    349416.638152    -1.056744e+06    413275.357142    -9.926092e+05      3995
2         Åsgardfonna   877.493    306742.571726    -1.115419e+06    345134.880056    -1.062295e+06      3995
3       Kvitøyjøkulen   598.856    560772.354809    -9.230087e+05    590653.563224    -8.852585e+05      3995
4        Valhallfonna   407.453    324067.153710    -1.084216e+06    347163.657383    -1.052510e+06      3995
5      Nordmannsfonna   126.350    396292.847113    -1.221565e+06    414291.149833    -1.203727e+06      3995
6           Sveabreen   121.871    282942.108882    -1.211322e+06    308249.001873    -1.191688e+06      3995
7           Gruvfonna   109.923    367523.300239    -1.263975e+06    386355.052923    -1.247021e+06      3995
8           Veteranen    92.938    341067.579708    -1.129855e+06    353339.708896    -1.105068e+06      3995
9    Himingbjørgfonna    80.998    328728.812603    -1.126057e+06    343649.762690    -1.112033e+06      3995
10         Hellefonna    79.414    386043.129497    -1.241797e+06    396242.039987    -1.224477e+06      3995
11       Heuglinbreen    68.636    400180.759474    -1.202387e+06    411439.423233    -1.189858e+06      3995
12         Eidembreen    64.610    281993.856397    -1.234957e+06    296681.671287    -1.222392e+06      3995
13  Nordenskiöldbreen    64.577    359382.002356    -1.184533e+06    369591.454006    -1.171132e+06      3995
14             Isrosa    45.385    402523.085736    -1.226718e+06    414613.577178    -1.218817e+06      3995
15        Edvardbreen    44.740    393682.648663    -1.267172e+06    404322.685979    -1.252992e+06      3995
16        Esmarkbreen    41.408    296902.981937    -1.238750e+06    307008.393645    -1.228053e+06      3995
17        Venernbreen    41.081    287820.742111    -1.239154e+06    299866.311731    -1.229638e+06      3995
18         Dunérbreen    38.933    318150.766493    -1.071129e+06    326508.571258    -1.058085e+06      3995
19      Fridtjovbreen    37.824    324143.383843    -1.290378e+06    334548.457247    -1.279440e+06      3995

Total features: 169
Largest glacier: Sørfonna — 4171.925 km²
1:52
The output looks good. Let me verify the output CSV file and also double-check that the bounding box coordinate values make sense for EPSG:3995 (Arctic Polar Stereographic) — they should be in meters, which they are (on the order of 10^5 to 10^6). Let me check the CSV.
1:52
Read /work/svalbard_glaciers_top20.csv
     1	name,area_km2,bbox_minx_polar,bbox_miny_polar,bbox_maxx_polar,bbox_maxy_polar,crs_epsg
     2	Sørfonna,4171.925,399217.0986017573,-1081960.5213280732,499897.68248360377,-1012763.8380906679,3995
     3	Vestfonna,2285.843,349416.6381521701,-1056743.8193146244,413275.3571415752,-992609.1824837216,3995
     4	Åsgardfonna,877.493,306742.57172558113,-1115419.2587616902,345134.88005550375,-1062294.9232618182,3995
     5	Kvitøyjøkulen,598.856,560772.3548087482,-923008.6941717041,590653.5632242498,-885258.5174058892,3995
     6	Valhallfonna,407.453,324067.15370991576,-1084215.8164169453,347163.6573827006,-1052509.9915248293,3995
     7	Nordmannsfonna,126.35,396292.84711335396,-1221565.1608128734,414291.1498327778,-1203726.5608871572,3995
     8	Sveabreen,121.871,282942.1088816827,-1211321.6597666948,308249.0018734067,-1191688.0420408929,3995
     9	Gruvfonna,109.923,367523.3002391829,-1263975.3756983678,386355.0529229504,-1247021.00555669,3995
    10	Veteranen,92.938,341067.57970830554,-1129854.7290067165,353339.708896236,-1105067.6513671898,3995
    11	Himingbjørgfonna,80.998,328728.81260251236,-1126057.1299777164,343649.76268995355,-1112033.142188952,3995
    12	Hellefonna,79.414,386043.12949651125,-1241797.4754424656,396242.03998735565,-1224476.9240237044,3995
    13	Heuglinbreen,68.636,400180.759474202,-1202386.8222034625,411439.42323344597,-1189857.7104253978,3995
    14	Eidembreen,64.61,281993.85639702814,-1234957.4656339425,296681.6712870326,-1222392.4204236164,3995
    15	Nordenskiöldbreen,64.577,359382.00235605316,-1184533.305274961,369591.45400606975,-1171131.6728087333,3995
    16	Isrosa,45.385,402523.08573646395,-1226718.189466915,414613.5771780223,-1218816.700024765,3995
    17	Edvardbreen,44.74,393682.64866315393,-1267171.5800583852,404322.6859787558,-1252991.6976533637,3995
    18	Esmarkbreen,41.408,296902.9819366546,-1238750.0144815235,307008.39364472893,-1228053.2410942665,3995
    19	Venernbreen,41.081,287820.74211087066,-1239153.7266829228,299866.31173134205,-1229638.0009715417,3995
    20	Dunérbreen,38.933,318150.7664927129,-1071128.8374370968,326508.57125756575,-1058085.137063972,3995
    21	Fridtjovbreen,37.824,324143.3838432444,-1290377.64790809,334548.4572466313,-1279440.2014166547,3995
2:07
The CSV looks correct. Let me verify the key requirements:

1. ✅ Top 20 by area (20 rows + header = 21 lines)
2. ✅ Columns: name, area_km2, bbox_minx_polar, bbox_miny_polar, bbox_maxx_polar, bbox_maxy_polar, crs_epsg
3. ✅ Sort by area_km2 descending
4. ✅ Bboxes in projected metres (EPSG:3995 - Arctic Polar Stereographic)
5. ✅ crs_epsg = 3995 integer
6. ✅ File is svalbard_glaciers_top20.csv

Let me also double-check the bbox values make sense - Svalbard is around 78-81°N, 10-35°E. In EPSG:3995, the x values should be positive and similar magnitude (hundreds of thousands to millions), and the y values should be negative (since Svalbard is in the northern hemisphere, the stereographic projection puts it... actually wait, EPSG:3995 is Arctic Polar Stereographic centered on the North Pole. At the pole, coordinates are (0,0) and moving south from the pole gives negative y values. Svalbard is at ~78-81°N, so negative y values in the range of about -1,000,000 to -1,500,000 makes sense. The x values around 300,000 to 600,000 for Svalbard's longitude range also seem reasonable.

Everything checks out.
2:07
2:07
Bash cd /work && python3 -c "
cd /work && python3 -c "
import pandas as pd
df = pd.read_csv('svalbard_glaciers_top20.csv')
print('Shape:', df.shape)
print('Columns:', list(df.columns))
print('CRS EPSG:', df['crs_epsg'].unique())
print('Area range:', df['area_km2'].min(), '-', df['area_km2'].max())
print('All bbox values are in metres (10^5-10^6 range):')
print('  minx:', df['bbox_minx_polar'].min(), '-', df['bbox_minx_polar'].max())
print('  miny:', df['bbox_miny_polar'].min(), '-', df['bbox_miny_polar'].max())
print('  maxx:', df['bbox_maxx_polar'].min(), '-', df['bbox_maxx_polar'].max())
print('  maxy:', df['bbox_maxy_polar'].min(), '-', df['bbox_maxy_polar'].max())
print('Sorted desc:', df['area_km2'].is_monotonic_decreasing)
"
Shape: (20, 7)
Columns: ['name', 'area_km2', 'bbox_minx_polar', 'bbox_miny_polar', 'bbox_maxx_polar', 'bbox_maxy_polar', 'crs_epsg']
CRS EPSG: [3995]
Area range: 37.824 - 4171.925
All bbox values are in metres (10^5-10^6 range):
  minx: 281993.85639702814 - 560772.3548087482
  miny: -1290377.64790809 - -923008.694171704
  maxx: 296681.6712870326 - 590653.5632242498
  maxy: -1279440.2014166547 - -885258.5174058892
Sorted desc: True
2:16
Everything checks out:

1. **CSV file** `svalbard_glaciers_top20.csv` exists with 20 rows
2. **Columns** match exactly: `name, area_km2, bbox_minx_polar, bbox_miny_polar, bbox_maxx_polar, bbox_maxy_polar, crs_epsg`
3. **CRS** is EPSG:3995 (Arctic Polar Stereographic) — the ideal choice for measuring areas at Arctic latitudes (Svalbard ~74-81°N)
4. **Sorted descending** by area_km2 ✓
5. **Coordinate magnitudes** are in metres (~10^5 to 10^6), appropriate for a projected CRS in the Arctic
6. **Area values** look reasonable — Sørfonna ~4,172 km² is the largest ice cap on Svalbard

The task is complete.
2:16