arc_processing

Atmospheric data of the ARC ship campaign (MSM 114/2)

https://github.com/laurakoehler/arc_processing

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

atlantic atmosphere calitoo ceilometer ctd dusttrak hatpro itcz microtops-sun-photometer ocean radiosonde soundings uav
Last synced: 6 months ago · JSON representation ·

Repository

Atmospheric data of the ARC ship campaign (MSM 114/2)

Basic Info
  • Host: GitHub
  • Owner: LauraKoehler
  • License: other
  • Language: Shell
  • Default Branch: main
  • Homepage:
  • Size: 2.43 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
atlantic atmosphere calitoo ceilometer ctd dusttrak hatpro itcz microtops-sun-photometer ocean radiosonde soundings uav
Created over 2 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

MSM114/2 (ARC): Processing of atmospheric and oceanographic measurements

DOI

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

image

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

image

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

image

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

image

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") ``` image

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") ``` image

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") ``` image

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") ``` image

Owner

  • Name: Laura Köhler
  • Login: LauraKoehler
  • Kind: user

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

All Time
  • Total Commits: 18
  • Total Committers: 1
  • Avg Commits per committer: 18.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 18
  • Committers: 1
  • Avg Commits per committer: 18.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email 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
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels