Skip to content

Commit 261b4f8

Browse files
committed
process for new sea0 gliders
1 parent 6add2ec commit 261b4f8

File tree

7 files changed

+47
-34
lines changed

7 files changed

+47
-34
lines changed

all_nrt_plots.py

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
from glidertools_plots import public_plots
44
import matplotlib.pyplot as plt
55
import logging
6+
7+
from gridded_plots import create_plots, make_map
8+
69
_log = logging.getLogger(__name__)
710
bad_missions = ((57, 75), (70, 29), (66, 45))
811

@@ -17,19 +20,28 @@
1720
ts_files = list(pathlib.Path('/data/data_l0_pyglider/nrt/').rglob("mission_timeseries.nc"))
1821
for ts_file in ts_files:
1922
parts = ts_file.parts
20-
glider = int(parts[-4][3:])
23+
platform_serial = parts[-4]
2124
mission = int(parts[-3][1:])
22-
if (glider, mission) in bad_missions:
23-
_log.info(f"this missions is to be skipped SEA{glider} M{mission}")
25+
if (int(platform_serial[-3:]), mission) in bad_missions:
26+
_log.info(f"this missions is to be skipped {platform_serial} M{mission}")
2427
continue
25-
outdir = pathlib.Path(f"/data/plots/nrt/SEA{glider}/M{mission}/")
26-
_log.info(f"process for SEA{glider}, M{mission}")
28+
outdir = pathlib.Path(f"/data/plots/nrt/{platform_serial}/M{mission}/")
29+
_log.info(f"Check {platform_serial}, M{mission}")
2730
if not outdir.exists():
2831
outdir.mkdir(parents=True)
29-
filename = outdir / f'SEA{glider}_M{mission}_gt.png'
32+
files_parts = list(ts_file.parts)
33+
files_parts[-1] = "gridded.nc"
34+
files_parts[-2] = "gridfiles"
35+
nc_file = pathlib.Path("/".join(files_parts))
36+
filename = outdir / f'{platform_serial}_M{mission}_gt.png'
3037
if not filename.exists() or reprocess:
38+
_log.info(f"Process {platform_serial}, M{mission}")
3139
public_plots(ts_file, outdir)
32-
filename = outdir / f'SEA{glider}_M{mission}_cmd_log.png'
40+
_log.info(f'start plotting {nc_file} ')
41+
image_file = create_plots(nc_file, outdir, False)
42+
make_map(nc_file, image_file)
43+
filename = outdir / f'{platform_serial}_M{mission}_cmd_log.png'
3344
if not filename.exists() or reprocess:
34-
command_cosole_log_plots(glider, mission, outdir)
45+
_log.info(f"Process command console plots {platform_serial}, M{mission}")
46+
command_cosole_log_plots(platform_serial, mission, outdir)
3547
plt.close('all')

cmd_data_plots.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -227,14 +227,14 @@ def make_all_plots(path_to_cmdlog):
227227
return fig
228228

229229

230-
def command_cosole_log_plots(glider, mission, plots_dir):
231-
_log.info(f"Make command console plots for SEA{glider} M{mission}")
232-
cmd_log = Path(f"/data/data_raw/nrt/SEA{str(glider).zfill(3)}/{str(mission).zfill(6)}/G-Logs/sea{str(glider).zfill(3)}.{mission}.com.raw.log")
230+
def command_cosole_log_plots(platform_serial, mission, plots_dir):
231+
_log.info(f"Make command console plots for {platform_serial} M{mission}")
232+
cmd_log = Path(f"/data/data_raw/nrt/{platform_serial}/{str(mission).zfill(6)}/G-Logs/{platform_serial.lower()}.{mission}.com.raw.log")
233233
if not cmd_log.exists():
234234
_log.warning(f"No command log found at {cmd_log}")
235235
return
236236
make_all_plots(cmd_log)
237-
filename = plots_dir / f'SEA{glider}_M{mission}_cmd_log.png'
237+
filename = plots_dir / f'{platform_serial}_M{mission}_cmd_log.png'
238238
plt.savefig(filename, format='png', transparent=True)
239239
_log.debug(f"saved figure to {filename}")
240240

@@ -246,4 +246,4 @@ def command_cosole_log_plots(glider, mission, plots_dir):
246246
format='%(asctime)s %(levelname)-8s %(message)s',
247247
level=logging.WARNING,
248248
datefmt='%Y-%m-%d %H:%M:%S')
249-
command_cosole_log_plots(45, 87, Path("."))
249+
command_cosole_log_plots("SEA045", 87, Path("."))

complete_mission_plots.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@
1010
_log = logging.getLogger(__name__)
1111

1212

13-
def complete_plots(glider, mission):
13+
def complete_plots(platform_serial, mission):
1414
logging.basicConfig(filename='/data/log/complete_mission/plots.log',
1515
filemode='a',
1616
format='%(asctime)s %(levelname)-8s %(message)s',
1717
level=logging.INFO,
1818
datefmt='%Y-%m-%d %H:%M:%S')
19-
mission_dir = Path(f'/data/data_l0_pyglider/complete_mission/SEA{glider}/M{mission}/gridfiles/')
19+
mission_dir = Path(f'/data/data_l0_pyglider/complete_mission/{platform_serial}/M{mission}/gridfiles/')
2020
netcdf = None
2121
for fn in ['gridded_adcp_gliderad2cp.nc', 'gridded_gliderad2cp.nc']:
2222
if (mission_dir / fn).exists():
@@ -27,7 +27,7 @@ def complete_plots(glider, mission):
2727
except IndexError:
2828
_log.error(f"nc file in {mission_dir} not found")
2929
return
30-
outdir = Path(f'/data/plots/complete_mission/SEA{glider}/M{mission}/')
30+
outdir = Path(f'/data/plots/complete_mission/{platform_serial}/M{mission}/')
3131
if not outdir.exists():
3232
outdir.mkdir(parents=True)
3333
if 'scatter' in sys.argv:

glidertools_plots.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ def public_plots(nc, plots_dir):
7171
ax.set(xlabel='', ylabel='Depth (m)', ylim=(ymin, 0))
7272
plt.colorbar(mappable=im, ax=ax, label=label_replace(ds[variable].units), aspect=13, pad=0.02)
7373
plt.tight_layout()
74-
filename = plots_dir / f'SEA{ds.glider_serial}_M{ds.deployment_id}_gt.png'
74+
filename = plots_dir / f'{ds.glider_serial}_M{ds.deployment_id}_gt.png'
7575
plt.savefig(filename, format='png', transparent=True)
7676

7777

gridded_plots.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ def multiplotter(dataset, variables, plots_dir, glider='', mission='', grid=True
289289
ax.set(xlabel='', ylabel='Depth (m)', ylim=(ymin, 0))
290290
plt.colorbar(mappable=pcol, ax=ax, label=label_replace(ds.units), aspect=13, pad=0.02)
291291
plt.tight_layout()
292-
filename = plots_dir / f'SEA{glider}_M{mission}.png'
292+
filename = plots_dir / f'{glider}_M{mission}.png'
293293
_log.info(f'writing figure to {filename}')
294294
fig.savefig(filename, format='png', transparent=True)
295295
return filename
@@ -354,7 +354,7 @@ def make_map(nc, filename):
354354
fig = plt.figure(figsize=(12, 6))
355355
ax = fig.add_subplot(111, projection=coord)
356356
attrs = dataset.attrs
357-
fig.suptitle(f"SEA{attrs['glider_serial']} {attrs['glider_name']} mission {attrs['deployment_id']}")
357+
fig.suptitle(f"{attrs['platform_serial']} {attrs['glider_name']} mission {attrs['deployment_id']}")
358358
ax.scatter(lons, lats, transform=pc, s=10)
359359
lon_extend = 3
360360
lat_extend = 1

nrt_process.py

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,50 +23,51 @@
2323

2424
def main():
2525
_log.info("Start nrt processing")
26-
all_glider_paths = pathlib.Path(f"/data/data_raw/nrt").glob("SEA*")
26+
all_glider_paths = pathlib.Path(f"/data/data_raw/nrt").glob("S*")
2727
for glider_path in all_glider_paths:
2828
glider = str(glider_path)[-3:].lstrip("0")
2929
if int(glider) in glider_no_proc:
3030
_log.info(f"SEA{glider} is not to be processed. Skipping")
3131
continue
32-
_log.info(f"Checking SEA{glider}")
32+
platform_serial = glider_path.parts[-1]
33+
_log.info(f"Checking {platform_serial}")
3334
mission_paths = list(glider_path.glob("00*"))
3435
if not mission_paths:
35-
_log.warning(f"No missions found for SEA{glider}. Skipping")
36+
_log.warning(f"No missions found for {platform_serial}. Skipping")
3637
continue
3738
mission_paths.sort()
3839
mission = str(mission_paths[-1])[-3:].lstrip("0")
39-
_log.info(f"Checking SEA{glider} M{mission}")
40-
mission_dir = f'/data/data_l0_pyglider/nrt/SEA{glider}/M{mission}/gridfiles/'
40+
_log.info(f"Checking {platform_serial} M{mission}")
41+
mission_dir = f'/data/data_l0_pyglider/nrt/{platform_serial}/M{mission}/gridfiles/'
4142
try:
4243
nc_file = list(pathlib.Path(mission_dir).glob('*.nc'))[0]
4344
except IndexError:
4445
_log.error(f"nc file in {mission_dir} not found")
4546
continue
4647
nc_time = nc_file.lstat().st_mtime
4748
infile_time = 0
48-
in_files = list(pathlib.Path(f'/data/plots/nrt/SEA{glider}/M{mission}/').glob('*.png'))
49+
in_files = list(pathlib.Path(f'/data/plots/nrt/{platform_serial}/M{mission}/').glob('*.png'))
4950
for file in in_files:
5051
if file.lstat().st_mtime > infile_time:
5152
infile_time = file.lstat().st_mtime
5253
if nc_time < infile_time:
53-
_log.info(f"SEA{glider} M{mission} unchanged. No plotting")
54+
_log.info(f"{platform_serial} M{mission} unchanged. No plotting")
5455
continue
55-
_log.info(f"Processing SEA{glider} M{mission}")
56-
outdir = pathlib.Path(f'/data/plots/nrt/SEA{glider}/M{mission}/')
56+
_log.info(f"Processing {platform_serial} M{mission}")
57+
outdir = pathlib.Path(f'/data/plots/nrt/{platform_serial}/M{mission}/')
5758
if not outdir.exists():
5859
outdir.mkdir(parents=True)
5960
_log.info(f'start plotting {nc_file} ')
6061
image_file = create_plots(nc_file, outdir, False)
6162
make_map(nc_file, image_file)
6263
_log.info("start glidertools plots")
63-
ts_dir = f'/data/data_l0_pyglider/nrt/SEA{glider}/M{mission}/timeseries/'
64+
ts_dir = f'/data/data_l0_pyglider/nrt/{platform_serial}/M{mission}/timeseries/'
6465
ts_file = list(pathlib.Path(ts_dir).glob('*.nc'))[0]
6566
public_plots(ts_file, outdir)
6667
#plot_qc(ts_file, outdir)
6768
_log.info("start pilot plots")
68-
command_cosole_log_plots(glider, mission, outdir)
69-
combi_nav_files = list(pathlib.Path(f'/data/data_l0_pyglider/nrt/SEA{glider}/M{mission}/rawnc/').glob("*rawgli.parquet"))
69+
command_cosole_log_plots(platform_serial, mission, outdir)
70+
combi_nav_files = list(pathlib.Path(f'/data/data_l0_pyglider/nrt/{platform_serial}/M{mission}/rawnc/').glob("*rawgli.parquet"))
7071
if combi_nav_files:
7172
battery_plots(combi_nav_files[0], outdir)
7273
_log.info("Finished pilot plots")

pilot_plots.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010

1111
def battery_plots(combined_nav_file, out_dir):
1212
parts = combined_nav_file.parts
13-
glider = parts[-4][3:]
13+
platform_serial = parts[-4]
1414
mission = parts[-3][1:]
15-
title = f"SEA{glider.zfill(3)} M{mission}"
15+
title = f"{platform_serial} M{mission}"
1616
df_polar = pl.read_parquet(combined_nav_file)
1717
df = pd.read_parquet(combined_nav_file)
1818
df.index = df_polar.select("time").to_numpy()[:, 0]
@@ -87,7 +87,7 @@ def battery_plots(combined_nav_file, out_dir):
8787
ax.set(ylabel="Voltage (v)", title=title)
8888
plt.xticks(rotation=45)
8989
ax.legend(loc=1)
90-
dline = f"{datetime.datetime.now()},{glider},{mission},{v_per_days[1]},{recoveries[0]},{end}\n"
90+
dline = f"{datetime.datetime.now()},{platform_serial},{mission},{v_per_days[1]},{recoveries[0]},{end}\n"
9191
with open("/data/plots/nrt/battery_prediction.csv", "a") as file:
9292
file.write(dline)
9393
plt.tight_layout()

0 commit comments

Comments
 (0)