diff --git a/bin/xmet-igra-ingest b/bin/xmet-igra-ingest
index 77b5459..7686581 100755
--- a/bin/xmet-igra-ingest
+++ b/bin/xmet-igra-ingest
@@ -1,15 +1,33 @@
 #! /usr/bin/env python3
 
-import sys
+import argparse
 
 from xmet.db   import Database
 from xmet.igra import IGRAReader
 
-db = Database.connect(sys.argv[1])
+parser = argparse.ArgumentParser(
+    description = 'Ingest IGRA soundings'
+)
+
+parser.add_argument('--quiet',   action='store_true', help='Suppress output')
+parser.add_argument('--dry-run', action='store_true', help='Do not actually ingest data')
+
+parser.add_argument('db',                            help='XMET SQLite3 database')
+parser.add_argument('igra-sounding-file', nargs='+', help='IGRA sounding file')
+
+args = parser.parse_args()
+
+db = Database.connect(args.db)
 db.execute('begin transaction')
 
-for path in sys.argv[2:]:
+for path in getattr(args, 'igra-sounding-file'):
     for sounding in IGRAReader.each_sounding_from_file(path):
+        if not args.quiet:
+            print(f"Ingesting sounding file {path}")
+
+        if args.dry_run:
+            continue
+
         db.add(sounding)
 
         for sample in sounding.samples: