Skip to content

csu-tropical/Daisho.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

130 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Daisho.jl

License

Stable: Stable Build Status Stable Docs

Development: Development Build Status Dev Docs

codecov

Daisho is a data analysis and assimilation package written in Julia for atmospheric science applications, with an emphasis on weather radar. It is being developed to provide functionality similar to the FRACTL and SAMURAI C++ software, with additional polarimetric radar processing and beam-aware gridding for moving platforms. The name comes from the Japanese term meaning "large and small" and is the name of a matched pair of traditionally made Japanese swords (nihontō) worn by the samurai in feudal Japan. Daisho provides the radar data-analysis and assimilation front end that pairs with the Springsteel.jl semi-spectral grid engine. The software is in active development and is still in pre-release.

What's in the box

  • CfRadial I/O — read and write CfRadial NetCDF radar volumes, auto-detecting CfRadial 1.4 vs 2.1, with robust handling of fill values, packed fields, and per-sweep metadata.
  • Quality control — threshold-based QC, despeckling, platform-motion removal, and SRTM terrain masking, configured per field through a documented tag vocabulary.
  • Beam-aware gridding — interpolate radar observations onto 3-D Cartesian, lat/lon, RHI, PPI, composite, and column grids, with edge-referenced radius-of-influence that accounts for beam geometry on moving (airborne / ship-based) platforms.
  • Spectral gridding — grid directly onto Springsteel.jl semi-spectral grids for downstream variational analysis.
  • Echo products — post-gridding hydrometeor identification (FHC) and rain-rate retrievals under a configurable [echo] namespace.
  • Multi-Doppler wind synthesis — stage-1 (u, v) variational synthesis (in development).
  • TOML-driven configuration — the entire read → QC → grid pipeline is driven by a single, strictly-validated DaishoParameters TOML file.

Installation

Daisho is a registered Julia package. To install, open the Julia REPL, enter Package mode by pressing ], and run:

pkg> add Daisho

Or equivalently from Julia code:

using Pkg
Pkg.add("Daisho")

For development work, clone the repo and pkg> dev /path/to/Daisho.jl to track local changes.

Quick start

Daisho is driven by a single TOML parameter file loaded into a DaishoParameters struct, which bundles the field list, QC thresholds, gridding knobs, grid geometry, CF output metadata, and I/O fill values. Write the bundled template, edit it for your deployment, then run the read → QC → grid pipeline:

using Daisho

print_config("mygrid.toml")              # write the template, then edit it
p = DaishoParameters("mygrid.toml")      # strict load

volume = read_cfradial("radar_file.nc")  # auto-detects CfRadial 1.4 vs 2.1

for sweep in volume.sweeps               # per-sweep threshold QC → FOO_QC fields
    threshold_qc!(sweep, p)
end

grid_radar_volume(volume, "output.nc", volume.time_coverage_start, p)

The [fields] block maps each field to a flat array of tags from a documented vocabulary (interpolation style, detection/scanned roles, …). For the lat/lon, RHI, PPI, composite, column, and spectral variants, plus the multi-sweep accumulator workflow, see the Gridding guide.

Documentation

Full documentation lives at csu-tropical.github.io/Daisho.jl/dev/. Start here:

Page What you'll find
Reading & Writing Radar Data CfRadial 1.4 / 2.1 I/O, the Volume / sweep / field types, fill-value handling
Quality Control Threshold QC, despeckling, platform-motion removal, terrain masking
Gridding Cartesian / lat-lon / RHI / PPI / composite / column grids and the accumulator workflow
Spectral Gridding Gridding onto Springsteel semi-spectral grids
Multi-Doppler Wind Synthesis Stage-1 (u, v) variational synthesis
SRTM Terrain Integration Digital elevation models for terrain-aware QC
Theory Beam geometry, the gridding algorithm, and wind-synthesis derivations
API Reference Full docstring reference for parameters, types, I/O, QC, gridding, and echo products

Contributing

Issues and pull requests are welcome. Daisho is in active pre-release development; multi-Doppler and variational analysis are the current focus, alongside deeper integration with the Springsteel.jl framework. Please open an issue to discuss substantial changes before submitting a PR.

About

Daisho.jl Data Analysis and Assimilation Software

Resources

License

Stars

2 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages