Virtual Research Cruise – Preparation

Virtual Research Cruise – Preparation#

The observational data#

import pangaeapy
import pandas as pd

doi = "10.1594/PANGAEA.969014"
data_frame = pangaeapy.PanDataSet(doi).data
data_frame
Event Expedition Station Date/Time Longitude Latitude Depth water Press Temp Cond Sal Sigma-theta O2 sat DO Chl a pH Elevation
0 AL540_1-1 AL540 1-1 2020-07-21 07:04:52 11.8264 54.2086 1.23 1.23 18.60 16.77 11.39 7.16 100.59 8.77 1.38 8.92 -17.0
1 AL540_1-1 AL540 1-1 2020-07-21 07:04:52 11.8264 54.2086 1.21 1.21 18.60 16.77 11.39 7.16 100.59 8.77 1.37 8.92 -17.0
2 AL540_1-1 AL540 1-1 2020-07-21 07:04:52 11.8264 54.2086 1.24 1.24 18.60 16.77 11.39 7.16 100.58 8.77 1.36 8.92 -17.0
3 AL540_1-1 AL540 1-1 2020-07-21 07:04:52 11.8264 54.2086 1.26 1.26 18.60 16.78 11.39 7.16 100.58 8.77 1.34 8.92 -17.0
4 AL540_1-1 AL540 1-1 2020-07-21 07:04:52 11.8264 54.2086 1.27 1.27 18.60 16.78 11.39 7.16 100.58 8.77 1.32 8.92 -17.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
33553 AL540_43-1 AL540 43-1 2020-07-29 10:06:27 10.1560 54.6299 21.03 21.03 11.94 25.57 21.37 16.14 23.29 2.20 1.35 8.20 -22.0
33554 AL540_43-1 AL540 43-1 2020-07-29 10:06:27 10.1560 54.6299 21.03 21.03 11.94 25.57 21.37 16.14 23.22 2.19 1.36 8.20 -22.0
33555 AL540_43-1 AL540 43-1 2020-07-29 10:06:27 10.1560 54.6299 21.02 21.02 11.93 25.57 21.37 16.14 22.99 2.17 1.38 8.20 -22.0
33556 AL540_43-1 AL540 43-1 2020-07-29 10:06:27 10.1560 54.6299 21.02 21.02 11.93 25.58 21.37 16.14 22.76 2.15 1.39 8.20 -22.0
33557 AL540_43-1 AL540 43-1 2020-07-29 10:06:27 10.1560 54.6299 21.05 21.05 11.93 25.58 21.37 16.14 22.90 2.16 1.39 8.20 -22.0

33558 rows × 17 columns

Vertical aggregation#

The dataset contains high-resolution data in the vertical (every centimeter) and especially near the surface, the CTD was moved down and up again. We aggregate the data in bins of 0.5m vertical resolution in order for them to be a little more similar to ieal CTD profiles. Note that for a real scientific application using the data, we would more carefully consider each profile and possibly exclude the near-surface down-up-down movements, etc.

Vertical aggregation is done by rounding depth to full meters, then grouping all data per station and per rounded depth value and then take the .mean() over each group. We also remove all non-numeric columns from the data, because for these columns, the .mean() method is not defined.

data_frame
Event Expedition Station Date/Time Longitude Latitude Depth water Press Temp Cond Sal Sigma-theta O2 sat DO Chl a pH Elevation
0 AL540_1-1 AL540 1-1 2020-07-21 07:04:52 11.8264 54.2086 1.23 1.23 18.60 16.77 11.39 7.16 100.59 8.77 1.38 8.92 -17.0
1 AL540_1-1 AL540 1-1 2020-07-21 07:04:52 11.8264 54.2086 1.21 1.21 18.60 16.77 11.39 7.16 100.59 8.77 1.37 8.92 -17.0
2 AL540_1-1 AL540 1-1 2020-07-21 07:04:52 11.8264 54.2086 1.24 1.24 18.60 16.77 11.39 7.16 100.58 8.77 1.36 8.92 -17.0
3 AL540_1-1 AL540 1-1 2020-07-21 07:04:52 11.8264 54.2086 1.26 1.26 18.60 16.78 11.39 7.16 100.58 8.77 1.34 8.92 -17.0
4 AL540_1-1 AL540 1-1 2020-07-21 07:04:52 11.8264 54.2086 1.27 1.27 18.60 16.78 11.39 7.16 100.58 8.77 1.32 8.92 -17.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
33553 AL540_43-1 AL540 43-1 2020-07-29 10:06:27 10.1560 54.6299 21.03 21.03 11.94 25.57 21.37 16.14 23.29 2.20 1.35 8.20 -22.0
33554 AL540_43-1 AL540 43-1 2020-07-29 10:06:27 10.1560 54.6299 21.03 21.03 11.94 25.57 21.37 16.14 23.22 2.19 1.36 8.20 -22.0
33555 AL540_43-1 AL540 43-1 2020-07-29 10:06:27 10.1560 54.6299 21.02 21.02 11.93 25.57 21.37 16.14 22.99 2.17 1.38 8.20 -22.0
33556 AL540_43-1 AL540 43-1 2020-07-29 10:06:27 10.1560 54.6299 21.02 21.02 11.93 25.58 21.37 16.14 22.76 2.15 1.39 8.20 -22.0
33557 AL540_43-1 AL540 43-1 2020-07-29 10:06:27 10.1560 54.6299 21.05 21.05 11.93 25.58 21.37 16.14 22.90 2.16 1.39 8.20 -22.0

33558 rows × 17 columns

data_frame_cleaned = data_frame
data_frame_cleaned["Station"] = data_frame_cleaned.Station.apply(lambda s: f'{int(s.split("-")[0]):02d}-{s.split("-")[-1]}')
data_frame_cleaned["Event"] = data_frame_cleaned.apply(lambda r: r["Expedition"] + "_" + r["Station"], axis=1)
data_frame_cleaned = data_frame_cleaned.drop(columns=["Expedition", "Station"])
data_frame_cleaned = data_frame_cleaned.assign(**{"Depth water": data_frame_cleaned["Depth water"].round()})
data_frame_cleaned = data_frame_cleaned.groupby(["Event", "Depth water"]).mean()
data_frame_cleaned = data_frame_cleaned.reset_index()
data_frame_cleaned = data_frame_cleaned.where(data_frame_cleaned["Depth water"] < 300).dropna()
data_frame_cleaned = data_frame_cleaned.sort_values(by="Event")
data_frame_cleaned
Event Depth water Date/Time Longitude Latitude Press Temp Cond Sal Sigma-theta O2 sat DO Chl a pH Elevation
0 AL540_01-1 1.0 2020-07-21 07:04:52.000000000 11.826400 54.2086 1.350952 18.600952 16.771905 11.390000 7.160000 100.659524 8.774762 1.338571 8.939524 -17.0
19 AL540_01-1 20.0 2020-07-21 07:05:52.000000000 11.826400 54.2086 19.500000 13.590000 22.080000 17.420000 12.810000 50.230000 4.680000 5.020000 8.500000 -17.0
18 AL540_01-1 19.0 2020-07-21 07:05:48.730769152 11.826400 54.2086 18.968654 14.886154 22.098077 16.863846 12.146346 75.270000 6.844038 4.965192 8.654615 -17.0
17 AL540_01-1 18.0 2020-07-21 07:05:43.111111168 11.826400 54.2086 17.970889 15.259778 21.524444 16.230444 11.586889 68.726667 6.228444 3.704667 8.599556 -17.0
16 AL540_01-1 17.0 2020-07-21 07:05:37.900000000 11.826400 54.2086 16.974600 15.315400 21.332200 16.049000 11.433400 68.869000 6.241000 4.382800 8.608200 -17.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
1448 AL540_43-1 2.0 2020-07-29 10:05:47.000000000 10.155900 54.6300 1.924783 17.622174 20.308696 14.366957 9.626087 94.075652 8.214783 3.724348 9.083043 -22.0
1447 AL540_43-1 1.0 2020-07-29 10:05:39.528735488 10.155900 54.6300 1.205517 17.628046 20.286782 14.345632 9.604828 93.893678 8.199540 2.949770 9.080000 -22.0
1466 AL540_43-1 20.0 2020-07-29 10:06:19.954545408 10.155941 54.6299 20.055152 11.850000 25.490455 21.344545 16.126364 23.656818 2.233333 2.313485 8.201212 -22.0
1456 AL540_43-1 10.0 2020-07-29 10:06:02.000000000 10.156000 54.6299 9.984375 15.162500 22.103750 16.755625 11.971250 76.328125 6.903750 21.375625 8.797500 -22.0
1467 AL540_43-1 21.0 2020-07-29 10:06:26.444444416 10.155989 54.6299 20.798000 11.940667 25.568667 21.361556 16.129333 23.675111 2.231333 1.394889 8.191333 -22.0

1467 rows × 15 columns

_data_set = data_frame_cleaned.set_index(["Event", "Depth water"]).to_xarray()
_data_set = _data_set.assign(**{
    "Latitude": _data_set.Latitude.isel({"Depth water": 0}),
    "Longitude": _data_set.Longitude.isel({"Depth water": 0}),
    "Date/Time": _data_set["Date/Time"].isel({"Depth water": 0}),
})
data_frame_cleaned = _data_set.to_dataframe().reset_index().dropna()
data_frame_cleaned
Event Depth water Date/Time Longitude Latitude Press Temp Cond Sal Sigma-theta O2 sat DO Chl a pH Elevation
0 AL540_01-1 1.0 2020-07-21 07:04:52.000000000 11.8264 54.2086 1.350952 18.600952 16.771905 11.390000 7.160000 100.659524 8.774762 1.338571 8.939524 -17.0
1 AL540_01-1 2.0 2020-07-21 07:04:52.000000000 11.8264 54.2086 1.829722 18.600000 16.768056 11.388333 7.160000 100.531667 8.763333 1.364444 8.956111 -17.0
2 AL540_01-1 3.0 2020-07-21 07:04:52.000000000 11.8264 54.2086 2.814583 18.600000 16.764167 11.387500 7.160000 100.370833 8.750000 1.485000 8.980833 -17.0
3 AL540_01-1 4.0 2020-07-21 07:04:52.000000000 11.8264 54.2086 4.075714 18.600000 16.760000 11.380000 7.160000 100.629286 8.772143 1.779286 8.982143 -17.0
4 AL540_01-1 5.0 2020-07-21 07:04:52.000000000 11.8264 54.2086 4.921905 18.600000 16.760000 11.380000 7.169524 100.776190 8.785714 2.117143 8.980000 -17.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
3336 AL540_43-1 17.0 2020-07-29 10:05:39.528735488 10.1559 54.6300 17.012143 11.817143 25.345000 21.230714 16.030000 27.436429 2.594286 3.099286 8.242857 -22.0
3337 AL540_43-1 18.0 2020-07-29 10:05:39.528735488 10.1559 54.6300 18.022857 11.823571 25.383571 21.260714 16.057143 25.037143 2.367857 2.743571 8.225714 -22.0
3338 AL540_43-1 19.0 2020-07-29 10:05:39.528735488 10.1559 54.6300 18.993333 11.768000 25.382000 21.292667 16.092667 24.406667 2.309333 2.981333 8.210000 -22.0
3339 AL540_43-1 20.0 2020-07-29 10:05:39.528735488 10.1559 54.6300 20.055152 11.850000 25.490455 21.344545 16.126364 23.656818 2.233333 2.313485 8.201212 -22.0
3340 AL540_43-1 21.0 2020-07-29 10:05:39.528735488 10.1559 54.6300 20.798000 11.940667 25.568667 21.361556 16.129333 23.675111 2.231333 1.394889 8.191333 -22.0

1029 rows × 15 columns

data_frame_cleaned = data_frame_cleaned.sort_values(by="Date/Time")
data_frame_cleaned
Event Depth water Date/Time Longitude Latitude Press Temp Cond Sal Sigma-theta O2 sat DO Chl a pH Elevation
0 AL540_01-1 1.0 2020-07-21 07:04:52.000000000 11.8264 54.2086 1.350952 18.600952 16.771905 11.390000 7.160000 100.659524 8.774762 1.338571 8.939524 -17.0
19 AL540_01-1 20.0 2020-07-21 07:04:52.000000000 11.8264 54.2086 19.500000 13.590000 22.080000 17.420000 12.810000 50.230000 4.680000 5.020000 8.500000 -17.0
18 AL540_01-1 19.0 2020-07-21 07:04:52.000000000 11.8264 54.2086 18.968654 14.886154 22.098077 16.863846 12.146346 75.270000 6.844038 4.965192 8.654615 -17.0
17 AL540_01-1 18.0 2020-07-21 07:04:52.000000000 11.8264 54.2086 17.970889 15.259778 21.524444 16.230444 11.586889 68.726667 6.228444 3.704667 8.599556 -17.0
16 AL540_01-1 17.0 2020-07-21 07:04:52.000000000 11.8264 54.2086 16.974600 15.315400 21.332200 16.049000 11.433400 68.869000 6.241000 4.382800 8.608200 -17.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
3321 AL540_43-1 2.0 2020-07-29 10:05:39.528735488 10.1559 54.6300 1.924783 17.622174 20.308696 14.366957 9.626087 94.075652 8.214783 3.724348 9.083043 -22.0
3320 AL540_43-1 1.0 2020-07-29 10:05:39.528735488 10.1559 54.6300 1.205517 17.628046 20.286782 14.345632 9.604828 93.893678 8.199540 2.949770 9.080000 -22.0
3339 AL540_43-1 20.0 2020-07-29 10:05:39.528735488 10.1559 54.6300 20.055152 11.850000 25.490455 21.344545 16.126364 23.656818 2.233333 2.313485 8.201212 -22.0
3329 AL540_43-1 10.0 2020-07-29 10:05:39.528735488 10.1559 54.6300 9.984375 15.162500 22.103750 16.755625 11.971250 76.328125 6.903750 21.375625 8.797500 -22.0
3340 AL540_43-1 21.0 2020-07-29 10:05:39.528735488 10.1559 54.6300 20.798000 11.940667 25.568667 21.361556 16.129333 23.675111 2.231333 1.394889 8.191333 -22.0

1029 rows × 15 columns

data_frame_cleaned.to_csv("/home/jovyan/shared_materials/projects_data/02_virtual_research_cruise_AL540_CTD_cleaned.csv", index=False)
data_frame = pd.read_csv("/home/jovyan/shared_materials/projects_data/02_virtual_research_cruise_AL540_CTD_cleaned.csv", parse_dates=True)
data_frame
Event Depth water Date/Time Longitude Latitude Press Temp Cond Sal Sigma-theta O2 sat DO Chl a pH Elevation
0 AL540_01-1 1.0 2020-07-21 07:04:52.000000000 11.8264 54.2086 1.350952 18.600952 16.771905 11.390000 7.160000 100.659524 8.774762 1.338571 8.939524 -17.0
1 AL540_01-1 20.0 2020-07-21 07:04:52.000000000 11.8264 54.2086 19.500000 13.590000 22.080000 17.420000 12.810000 50.230000 4.680000 5.020000 8.500000 -17.0
2 AL540_01-1 19.0 2020-07-21 07:04:52.000000000 11.8264 54.2086 18.968654 14.886154 22.098077 16.863846 12.146346 75.270000 6.844038 4.965192 8.654615 -17.0
3 AL540_01-1 18.0 2020-07-21 07:04:52.000000000 11.8264 54.2086 17.970889 15.259778 21.524444 16.230444 11.586889 68.726667 6.228444 3.704667 8.599556 -17.0
4 AL540_01-1 17.0 2020-07-21 07:04:52.000000000 11.8264 54.2086 16.974600 15.315400 21.332200 16.049000 11.433400 68.869000 6.241000 4.382800 8.608200 -17.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
1024 AL540_43-1 2.0 2020-07-29 10:05:39.528735488 10.1559 54.6300 1.924783 17.622174 20.308696 14.366957 9.626087 94.075652 8.214783 3.724348 9.083043 -22.0
1025 AL540_43-1 1.0 2020-07-29 10:05:39.528735488 10.1559 54.6300 1.205517 17.628046 20.286782 14.345632 9.604828 93.893678 8.199540 2.949770 9.080000 -22.0
1026 AL540_43-1 20.0 2020-07-29 10:05:39.528735488 10.1559 54.6300 20.055152 11.850000 25.490455 21.344545 16.126364 23.656818 2.233333 2.313485 8.201212 -22.0
1027 AL540_43-1 10.0 2020-07-29 10:05:39.528735488 10.1559 54.6300 9.984375 15.162500 22.103750 16.755625 11.971250 76.328125 6.903750 21.375625 8.797500 -22.0
1028 AL540_43-1 21.0 2020-07-29 10:05:39.528735488 10.1559 54.6300 20.798000 11.940667 25.568667 21.361556 16.129333 23.675111 2.231333 1.394889 8.191333 -22.0

1029 rows × 15 columns

The simulation data#

import copernicusmarine

# copernicusmarine.login()
/miniconda3/envs/jupyter/lib/python3.12/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html
  from .autonotebook import tqdm as notebook_tqdm
ds_sim = copernicusmarine.open_dataset(
    dataset_id="cmems_mod_bal_phy_my_P1D-m",
    service="arco-geo-series",
)

ds_sim
INFO - 2025-06-30T14:51:56Z - Selected dataset version: "202303"
INFO - 2025-06-30T14:51:56Z - Selected dataset part: "default"
<xarray.Dataset> Size: 6TB
Dimensions:    (depth: 56, latitude: 774, longitude: 763, time: 11322)
Coordinates:
  * depth      (depth) float32 224B 0.5016 1.516 2.548 ... 663.9 688.0 712.0
  * latitude   (latitude) float32 3kB 53.01 53.02 53.04 ... 65.86 65.87 65.89
  * longitude  (longitude) float32 3kB 9.042 9.069 9.097 ... 30.15 30.18 30.21
  * time       (time) datetime64[ns] 91kB 1993-01-01 1993-01-02 ... 2023-12-31
Data variables:
    bottomT    (time, latitude, longitude) float32 27GB dask.array<chunksize=(2, 774, 763), meta=np.ndarray>
    mlotst     (time, latitude, longitude) float32 27GB dask.array<chunksize=(2, 774, 763), meta=np.ndarray>
    siconc     (time, latitude, longitude) float32 27GB dask.array<chunksize=(2, 774, 763), meta=np.ndarray>
    sithick    (time, latitude, longitude) float32 27GB dask.array<chunksize=(2, 774, 763), meta=np.ndarray>
    sla        (time, latitude, longitude) float32 27GB dask.array<chunksize=(2, 774, 763), meta=np.ndarray>
    so         (time, depth, latitude, longitude) float32 1TB dask.array<chunksize=(2, 56, 774, 763), meta=np.ndarray>
    sob        (time, latitude, longitude) float32 27GB dask.array<chunksize=(2, 774, 763), meta=np.ndarray>
    thetao     (time, depth, latitude, longitude) float32 1TB dask.array<chunksize=(2, 56, 774, 763), meta=np.ndarray>
    uo         (time, depth, latitude, longitude) float32 1TB dask.array<chunksize=(2, 56, 774, 763), meta=np.ndarray>
    vo         (time, depth, latitude, longitude) float32 1TB dask.array<chunksize=(2, 56, 774, 763), meta=np.ndarray>
Attributes:
    comment:      Data on cropped native product grid. Horizontal velocities ...
    contact:      servicedesk.cmems@mercator-ocean.eu
    Conventions:  CF-1.0
    title:        CMEMS NEMO daily integrated model fields
    source:       CMEMS BAL MFC NEMO model output converted to NetCDF
    references:   https://marine.copernicus.eu/
    institution:  Baltic MFC, PU Danish Meteorological Institute
ds_sim_cropped = ds_sim.sel(
    longitude=slice(9, 17),
    latitude=slice(54, 56),
    time=slice("2020-07-21", "2020-07-30"),
)
ds_sim_cropped
<xarray.Dataset> Size: 317MB
Dimensions:    (depth: 56, latitude: 120, longitude: 287, time: 10)
Coordinates:
  * depth      (depth) float32 224B 0.5016 1.516 2.548 ... 663.9 688.0 712.0
  * latitude   (latitude) float32 480B 54.01 54.02 54.04 ... 55.96 55.97 55.99
  * longitude  (longitude) float32 1kB 9.042 9.069 9.097 ... 16.93 16.96 16.99
  * time       (time) datetime64[ns] 80B 2020-07-21 2020-07-22 ... 2020-07-30
Data variables:
    bottomT    (time, latitude, longitude) float32 1MB dask.array<chunksize=(1, 120, 287), meta=np.ndarray>
    mlotst     (time, latitude, longitude) float32 1MB dask.array<chunksize=(1, 120, 287), meta=np.ndarray>
    siconc     (time, latitude, longitude) float32 1MB dask.array<chunksize=(1, 120, 287), meta=np.ndarray>
    sithick    (time, latitude, longitude) float32 1MB dask.array<chunksize=(1, 120, 287), meta=np.ndarray>
    sla        (time, latitude, longitude) float32 1MB dask.array<chunksize=(1, 120, 287), meta=np.ndarray>
    so         (time, depth, latitude, longitude) float32 77MB dask.array<chunksize=(1, 56, 120, 287), meta=np.ndarray>
    sob        (time, latitude, longitude) float32 1MB dask.array<chunksize=(1, 120, 287), meta=np.ndarray>
    thetao     (time, depth, latitude, longitude) float32 77MB dask.array<chunksize=(1, 56, 120, 287), meta=np.ndarray>
    uo         (time, depth, latitude, longitude) float32 77MB dask.array<chunksize=(1, 56, 120, 287), meta=np.ndarray>
    vo         (time, depth, latitude, longitude) float32 77MB dask.array<chunksize=(1, 56, 120, 287), meta=np.ndarray>
Attributes:
    comment:      Data on cropped native product grid. Horizontal velocities ...
    contact:      servicedesk.cmems@mercator-ocean.eu
    Conventions:  CF-1.0
    title:        CMEMS NEMO daily integrated model fields
    source:       CMEMS BAL MFC NEMO model output converted to NetCDF
    references:   https://marine.copernicus.eu/
    institution:  Baltic MFC, PU Danish Meteorological Institute
ds_sim_cropped = ds_sim_cropped.load()
ds_sim_cropped
<xarray.Dataset> Size: 317MB
Dimensions:    (depth: 56, latitude: 120, longitude: 287, time: 10)
Coordinates:
  * depth      (depth) float32 224B 0.5016 1.516 2.548 ... 663.9 688.0 712.0
  * latitude   (latitude) float32 480B 54.01 54.02 54.04 ... 55.96 55.97 55.99
  * longitude  (longitude) float32 1kB 9.042 9.069 9.097 ... 16.93 16.96 16.99
  * time       (time) datetime64[ns] 80B 2020-07-21 2020-07-22 ... 2020-07-30
Data variables:
    bottomT    (time, latitude, longitude) float32 1MB nan nan ... 7.584 8.227
    mlotst     (time, latitude, longitude) float32 1MB nan nan ... 16.5 16.62
    siconc     (time, latitude, longitude) float32 1MB nan nan nan ... 0.0 0.0
    sithick    (time, latitude, longitude) float32 1MB nan nan nan ... 0.0 0.0
    sla        (time, latitude, longitude) float32 1MB nan nan ... 0.1514 0.1531
    so         (time, depth, latitude, longitude) float32 77MB nan nan ... nan
    sob        (time, latitude, longitude) float32 1MB nan nan ... 8.04 8.009
    thetao     (time, depth, latitude, longitude) float32 77MB nan nan ... nan
    uo         (time, depth, latitude, longitude) float32 77MB nan nan ... nan
    vo         (time, depth, latitude, longitude) float32 77MB nan nan ... nan
Attributes:
    comment:      Data on cropped native product grid. Horizontal velocities ...
    contact:      servicedesk.cmems@mercator-ocean.eu
    Conventions:  CF-1.0
    title:        CMEMS NEMO daily integrated model fields
    source:       CMEMS BAL MFC NEMO model output converted to NetCDF
    references:   https://marine.copernicus.eu/
    institution:  Baltic MFC, PU Danish Meteorological Institute
ds_sim_cropped.drop_encoding().to_netcdf(
    "/home/jovyan/shared_materials/projects_data/02_virtual_research_cruise_cmems_mod_bal_phy_my_P1D-m_cropped.nc"
)