150 likes | 161 Views
Learn about NIDAS, the primary data system for NCAR's research aircraft, supporting diverse topics and surface measurements. Developed since 2004, it features extensive network services and supports a wide range of sampling rates. The system is open-source, highly configurable, and supports remote login and power control.
E N D
NIDAS NCAR In-Situ Data Acquisition Software Gordon Maclean Software Engineer NCAR/EOL
Background • Developed at the NCAR Earth Observing Laboratory (EOL), starting in 2004. • Targeted as the primary data system for the NSF HIAPER, NCAR's Gulfstream V research aircraft. • Developers included software engineers with experience at EOL's Research Aviation Facility (RAF) and In-Situ Sensing Facility (ISF) • Design was expanded to include the acquisition of ground-based meteorological measurements. • Built on the past experience of EOL engineers: • Aircraft Data System: ( ADS, ADS-2), 1970s – 2009 • Surface systems: Portable Automated Mesonet (PAM I,II,III), 1973-2004 and the Atmosphere-Surface Turbulence Exchange Facility (ASTER), 1988-2002
Targeted Research Diverse topics, primarily NSF funded • Aircraft • Boundary layer to 50K ft • Cloud physics, convection, severe weather, chemistry and pollution, remote sensing, sensor validation • 20 to 200 flight hours per research project • Surface • PBL surface boundary conditions, energy balance, turbulence • Fluxes of momentum, heat, moisture and trace gases • Horizontal and vertical (0-50 meter) gradients • 24x7 operations, often unattended • Short term, typically 1 to 3 months per project
Initial Design Choices • Operating System: Linux • Open source, near real-time, wide choice of system vendor • Same OS on embedded systems and processing and display servers • Extensive network services • Multithreaded, dynamic (run-time) object loading • Data Sampling Modules: ARM Processors and PC104 expansion bus • Low power (~2 Watt) low heat generation • Extensive vendor support for PC104 interface cards • Languages: • C++: object oriented, compiled • C: low level interface driver modules • Configuration: • XML: flexible, tree structured, widely used, field editable (by NIDAS geek) • Software Tools: • Version control: subversion • Builds: scons • Packaging: RPM, Debian (embedded)
Server Systems Networks Data Sampling Modules, DSMs
Highlights • Supports diverse instrumentation • Wide range of sampling rates: ~0 to ~1000 samples/sec • Highly configurable, distributed processing • Runnable on low power (~2 Watt) embedded processors • Networked, supporting remote login, serial sensor interaction, power control • Open source, including all low level driver code • Acquired data is archived in raw sensor format • Archived time tags have microsecond precision • System clocks have ~20 microsecond accuracy • Many deployments • Revision controlled, automated tests • GUI configuration editor for aircraft deployments
Future Plans, More Info • Kernel upgrades on DSMs, using newer real-time capabilities of Linux. • Reduce serial sampling latency (line discipline kernel module) • Improve network service discovery mechanism • Enhancements to real-time displays, diagnostics • Framework for instrumentation control • Calibration database • Other server platforms: MacOSX • Other embedded hardware platforms: Eurotech Titan, gumstix, new ARM/Intel processors, pc104+ • Support and collaboration with outside users. http://www.eol.ucar.edu/data/software/nidas (under development) maclean@ucar..edu