arc_processing
Atmospheric data of the ARC ship campaign (MSM 114/2)
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
○Academic publication links
-
✓Committers with academic emails
1 of 1 committers (100.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.2%) to scientific vocabulary
Keywords
Repository
Atmospheric data of the ARC ship campaign (MSM 114/2)
Basic Info
Statistics
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
MSM114/2 (ARC): Processing of atmospheric and oceanographic measurements
This repository contains references to the atmospheric measurements and their post processing steps of the cruise Atlantic references and tropical Convection or short ARC. This cruise undertaken on RV Maria S. Merian has the identifier MSM114-2.
The cruise started January 23, 2023 in Mindelo, Cape Verde and ended February 22, 2023 in Punta Arenas, Chile.
Further general information about the cruise can be found in the cruise report. The data is described in detail in Köhler et al. (2025).
Data sets
The data from the different instruments have been standardised with the shipspy package to simplify the comparison between different instruments as much as possible. For reprocessing the data, use the python environment from environment.yaml and run reprocess.sh.
Cruise track

The continuous measurements (ship integrated sensors, Ceilometer, DustTrack) except the HATPRO contain data of the time period from 2023-01-25 07:00 until 2023-02-20 15:00 shown by the black trajectory. The insets are zooms in the marked rectangular regions. The start point is at 11.29˚N and 24.39˚W, the end point is at 47.48˚S and 60.62˚W. Quality controlled HATPRO data is available until 2023-02-15 00:00. The positions of the point measurements (Radiosondes, HATPRO, CTD, Calitoo, Microtops) are shown below. The equator was crossed three times during the cruise to get three complete profiles of the ITCZ which are marked by the coordinate "section" in the data sets. Section 0 corresponds to the times before the first crossing, section 1, 2, 3 corresponds to crossing 1, 2, 3, respectively, and section 4 is everything after the third crossing.
Positions of radiosonde launches and descents

In total, 93 radiosondes were launched. Light green triangles show the positions of the radiosonde launches, dark green triangles show the position where the descents started.
Positions of CTD and UAV

Most of the time, CTDs were done twice a day (yellow triangles). When the (wind) conditions allowed for it, the UAVs were flown during the CTD times when the ship was not moving (orange triangles).
Positions of Microtops and Calitoo

Calitoo (red dots) and Microtops (blue points) measurements where done during the whole campaign when the weather allowed. Aerosol optical thicknesses can only be derived under cloud-free conditions. Microtops data were post processed by NASA Aeronet Maritim Aerosol Network (MAN).
Minimal plotting examples
Continuous measurements
Plot data from various continuously measuring instruments.
```python import xarray as xr import matplotlib.pyplot as plt
dship = xr.opendataset('arcdship.nc') hatpro = xr.opendataset('archatpro.nc') dusttrak = xr.opendataset('arcdusttrak.nc')
fig, axs = plt.subplots(3,1,figsize=(12,8),sharex=True)
vardict = {'dship': (dship, 'tair', axs[0], 'tab:blue'), 'hatpro': (hatpro, 'cwv', axs[1], 'skyblue'), 'dusttrak': (dusttrak, 'pm_all', axs[2], 'tab:green')}
for i in vardict.keys(): ds = vardict[i][0] var = vardict[i][1] a = vardict[i][2] color = vardict[i][3] ds[var].plot(ax = a, c = color) a.settitle(ds[var].attrs['instrument'])
for ax in axs: ax.setxlim(dship.time.min(), dship.time.max()) ax.setxlabel('') axs[2].set_xlabel('time')
plt.tightlayout()
plt.savefig("ARCContobs.png", bboxinches="tight")
```

Radiosondes (level 2) for crossing 1
Plot level 2 radio soundings with freezing level (light blue line) for the first crossing of the ITCZ.
```python import xarray as xr import fsspec import numpy as np import matplotlib.pyplot as plt
crossing_number = 1
radiolevel2 = xr.opendataset('arcradiosondeslevel2.nc') crossing = radio_level2.groupby('section')
freezingalts = radiolevel2.isel(alt = np.abs(radiolevel2.tair - 273.15).argmin(axis = 1)).alt
varstoplot = ['tair', 'dp', 'theta', 'pair', 'uair', 'vair', 'wspd', 'wdir', 'rh', 'q', 'mr', 'dz', 'Nptu', 'Ngps', 'mptu', 'mgps']
fig, axs = plt.subplots(4,4,figsize=(17,12),sharex=True, sharey=True)
for ax, var in zip(fig.getaxes(), varstoplot): ax.plot(radiolevel2.starttime, freezingalts, c = 'aliceblue') crossing[crossingnumber][var].plot(x = 'starttime', ax = ax)
plt.tightlayout()
plt.savefig("ARCRSLevel2Crossing1.png", bbox_inches="tight")
```

CTD
Plot CTD data up to 500 m depth. The two deeper CTDs up to 3793 m were done during section 2 and 4.
```python import xarray as xr import fsspec import numpy as np import matplotlib.pyplot as plt
crossing_number = 1
ctd = xr.opendataset('arcctd.nc')
varstoplot = ['psw', 'rhosw', 't_sw', 'conductivity', 'salinity', 'oxygen', 'fluorescence', 'turbidity', 'nitrogen']
fig, axs = plt.subplots(4,4,figsize=(17,9),sharex=True, sharey=True)
for ax, var in zip(fig.getaxes(), varstoplot): ctd[var].sel(depth = slice(None,501)).plot(x = 'starttime', ax = ax) ax.set_ylim(500,0)
plt.tightlayout()
plt.savefig(f"plots/ARCCTDprofiles.png", bboxinches="tight")
```

Profiles
Plot data from instruments measuring profiles for the three ITCZ crossings.
```python import xarray as xr import numpy as np import matplotlib.pyplot as plt
radio = xr.opendataset('arcradiosondeslevel2.nc') hatpro = xr.opendataset('archatpro.nc') uav = xr.opendataset('arcuav.nc') ctd = xr.opendataset('arc_ctd.nc')
fig, axs = plt.subplots(4, figsize=(12,8), sharex = True)
vardict = {'uav': (uav, 'q', axs[0], 'starttime'), 'hatpro': (hatpro, 'rh', axs[1], 'time'), 'radio': (radio, 'wspd', axs[2], 'starttime'), 'ctd': (ctd, 'fluorescence', axs[3], 'starttime')}
for i in vardict.keys(): ds = vardict[i][0] var = vardict[i][1] a = vardict[i][2] tname = vardict[i][3] ds[var].plot(ax = a, x = tname) a.settitle(ds[var].attrs['instrument']) axs[2].setylim(0,23000) axs[3].setylim(500,0)
for ax in axs: ax.setxlim(np.datetime64('2023-01-26'), np.datetime64('2023-02-05')) ax.setxlabel('') axs[3].set_xlabel('time')
plt.tightlayout()
plt.savefig("ARCProfiles.png", bbox_inches="tight")
```

Owner
- Name: Laura Köhler
- Login: LauraKoehler
- Kind: user
- Repositories: 1
- Profile: https://github.com/LauraKoehler
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Köhler" given-names: "Laura" title: "ARC: Processing of atmospheric and oceanographic measurements" repository-code: "https://github.com/LauraKoehler/arc_processing" abstract: "Scripts and shippy settings for processing the data collected during the ARC ship campaign." version: v1.0.0 date-released: '2023-11-16'
GitHub Events
Total
- Watch event: 1
- Push event: 2
Last Year
- Watch event: 1
- Push event: 2
Committers
Last synced: about 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| laura.koehler | l****r@m****e | 18 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0