BYU/NIC iceberg databaseΒΆ
The consolidated BYU/NIC iceberg database is described in the paper J.S. Budge and D.G. Long, "A Comprehensive Database for Antarctic Iceberg Tracking Using Scatterometer Data," IEEE Journal of Selected Topics in Applied Earth Observations, Vol. 11, No. 2, doi:10.1109/JSTARS.2017.2784186, 2017.
Original readmeΒΆ
---------------------------------------------------------
- BYU MERS Consolidated Antarctic Iceberg Database -
- Jeff Budge, BYU Nov 2016 -
- w/revisions by D.G. Long, BYU Nov 2017, Jun 2019, Aug 2019
---------------------------------------------------------
This readme is intended to explain the contents the database.
Details about how the database is created are contained in
J.S. Budge and D.G. Long, "A Comprehensive Database for Antarctic
Iceberg Tracking Using Scatterometer Data," IEEE Journal of
Selected Topics in Applied Earth Observations, accepted and
to appear, 2017. Related papers: K.M. Stuart and D.G. Long,
"Tracking large tabular icebergs using the SeaWinds Ku-band
microwave scatterometer", Deep-Sea Research Part II,
doi:10.1016/j.dsr2.2010.11.004, Vol. 58, pp. 1285-1300, 2011.
D.G. Long, Jarom Ballantyne, and C. Bertoia, "Is the Number of
Icebergs Really Increasing?" EOS, Transactions of the American
Geophysical Union, Vol. 83, No. 42, pp. 469 & 474, 15 Oct 2002.
FILES
Each file in the consolidated database contains information on one
named iceberg. The name of the iceberg is also the name of the file
with a .csv extension. The headers of each file show the date,
sensors, and sizes associated with that iceberg. A few notes:
-Each file shows only the sensors that have data available for that
iceberg. This means that the number of columns in each file is
variable.
-Each sensor has at least two columns associated with it, namely
'sensor_1' and 'sensor_2' where "sensor" is replaced with the actual
sensor name. 'sensor_1' is the latitude and 'sensor_2' is the
longitudinal measurement from each sensor on the given date.
The values of 0,0 are used for no data.
-Most sensors have a third column, 'sensor_3' that is a binary flag
that indicates if the measurement is an observation (1) or has
been interpolated (0) for that day or not. Where possible, daily
position reports are provided by interpolating sensor observations.
Interpolation is only used when (1) the time gap is less than 14
days and (2) the spatial displacement between observation is less
than 3 deg latitude or longitude. Interpolated positions that end
up over land are not included.
-Dates are shown in JD format, with the four digit year first followed
by the three digit day of the year.
-'size_1' and 'size_2' show the length of the major and minor axes of
the iceberg on the date, as given by the NIC, in nautical miles. To
convert to km, multiply the value by 1.852.
-Standard NIC icebergs names begin with a, b, c, or d which gives the
origin quadrant. Additional icebergs were identified in scatterometer
data. These unnamed icebergs are stored in files that begin with
sa (SASS 1978), e (ERS1/2 1992-2001), or uk (1999-present).
KNOWN ISSUES
NIC positions are derived from NIC reports. Some inconsistencies and
errors exist in these reports. NIC observation dates are irregular
and infrequent, especially in the early days. There are occasions
when the NIC reports for a single iceberg seem to have been actually
from two different icebergs. While some corrections have been made,
NIC reports are generally used as is. While icebergs due not grow
in size, some NIC reports show size increase. This may be due to
(1) quantization of the reported dimensions by NIC and/or (2) variations
in the subjectively choosen axes used to infer dimensions.
Scatterometer sensor position estimates have gaps due to loss of data
and backscatter constrast, especially during summer months, but
typically are available on a daily basis. The iceberg center in
scatterometer data reports is subjectively determined based on
scatterometer backscatter images may not coincide with the center
identified in NIC reports.
InΒ [1]:
import pandas as pd
import movingpandas as mpd
import zipfile
import warnings
warnings.filterwarnings("ignore")
InΒ [2]:
zf = zipfile.ZipFile("../data/icebergs_v5.zip")
df = pd.read_csv(zf.open("consol/uk319.csv"))
df["t"] = pd.to_datetime(df.date, format="%Y%j")
df
Out[2]:
ascat_1 | ascat_2 | ascat_3 | date | oscat_1 | oscat_2 | oscat_3 | t | |
---|---|---|---|---|---|---|---|---|
0 | -66.5449 | -35.8440 | 1 | 2011242 | -66.5449 | -35.8440 | 1 | 2011-08-30 |
1 | -66.4574 | -35.7165 | 1 | 2011243 | -66.4574 | -35.7165 | 1 | 2011-08-31 |
2 | -66.4596 | -35.6281 | 0 | 2011244 | -66.4596 | -35.6281 | 0 | 2011-09-01 |
3 | -66.4654 | -35.5435 | 0 | 2011245 | -66.4654 | -35.5435 | 0 | 2011-09-02 |
4 | -66.4732 | -35.4662 | 0 | 2011246 | -66.4732 | -35.4662 | 0 | 2011-09-03 |
... | ... | ... | ... | ... | ... | ... | ... | ... |
390 | -56.6569 | -13.0141 | 1 | 2012267 | -56.6569 | -13.0141 | 1 | 2012-09-23 |
391 | -56.6628 | -13.1049 | 1 | 2012268 | -56.6628 | -13.1049 | 1 | 2012-09-24 |
392 | -56.5945 | -13.1816 | 1 | 2012269 | -56.5945 | -13.1816 | 1 | 2012-09-25 |
393 | -56.5236 | -13.3450 | 1 | 2012270 | -56.5236 | -13.3450 | 1 | 2012-09-26 |
394 | -56.5863 | -13.2304 | 1 | 2012271 | -56.5863 | -13.2304 | 1 | 2012-09-27 |
395 rows Γ 8 columns
InΒ [3]:
traj = mpd.Trajectory(df, traj_id=1, t="t", x="ascat_2", y="ascat_1")
traj.hvplot(
title="Iceberg trajectory",
c="ascat_3",
line_width=5,
cmap=["yellow", "blue"],
colorbar=True,
)
Out[3]:
InΒ [4]:
traj.explore(color="#ff00ff", tiles="CartoDB dark_matter", style_kwds={"weight": 4})
Out[4]:
Make this Notebook Trusted to load map: File -> Trust Notebook
Non-default projectionsΒΆ
InΒ [5]:
import geoviews as gv
import geoviews.feature as gf
from cartopy import crs
InΒ [6]:
(
gf.coastline
* traj.hvplot(title="Iceberg trajectory in SouthPolarStereo", tiles=None)
).opts(projection=crs.SouthPolarStereo())
Out[6]: