100 likes | 238 Views
Scientific Programming @ ESR. 27.1.2011. Matt Tilley. Scientific Programming @ ESR. OSCAR validation update AOML/NRT drifter data update OSCAR validation (drifter vs. altimetry) update Validation website Microsoft decoupling Miscellaneous MATLAB/shell script updates for OSCAR validation
E N D
Scientific Programming @ ESR 27.1.2011 Matt Tilley
Scientific Programming @ ESR • OSCAR validation update • AOML/NRT drifter data update • OSCAR validation (drifter vs. altimetry) update • Validation website Microsoft decoupling • Miscellaneous MATLAB/shell script updates for OSCAR validation • OSCAR engine update • Work on ESR's web presence • Miscellaneous project(s) 27.1.2011 Matt Tilley
OSCAR validation update • AOML/NRT drifter update • NOAA-AOML provides highly processed drifter data • Data lags 6-12 months due to high amount of processing, thus huge data set incoming • Drifter data is needed for all OSCAR validation; drifters set as possible 'truth' • Multiple, separate MATLAB scripts → single call to shell script; clear README for update process • Process more highly automated, 'fire and forget' update to drifter data. 27.1.2011 Matt Tilley
OSCAR validation update • AOML/NRT drifter update (cont'd) • Colleague at NOAA-AOML provides the NRT (Near Real-Time) drifter data – not as highly processed • Data more raw, obtain ~1 month lag • Updated to simple process of dropping new .dat file, run a script and the validation website is updated • Validation process update • Joined several MATLAB scripts to form automated run that performs calculations, generates figures and updates website automatically 27.1.2011 Matt Tilley
OSCAR validation update • Validation website update • Originally coupled to Microsoft Publisher • Entire site a single, bulky file (HTML, images, all) in proprietary format, difficult to modify, knowledge of publisher necessary • Long story short: Publisher is essentially a nightmare. • Took the entirety of the validation website, wrote HTML/CSS by hand to create more accessible base for OSCAR validation • http://www.esr.org/~bonjean/oscar/global_validation • Easier updating – straight HTML/CSS • Automation possibility • Could be integrated directly with the scripts for OSCAR validation updates for AOML/NRT drifter data • Decoupled from Microsoft/high software cost 27.1.2011 Matt Tilley
OSCAR engine update • Complete overhaul of current OSCAR MATLAB scripts to C++ application • ~10k lines of MATLAB scripting to Makefile/C++ and shell scriptingcode • C++ pros: lose MATLAB overhead; increase in performance, robustness, reliability, portability, finer control over memory, custom optimization • C++ cons: longer development and debugging time, lose some pre-wired MATLAB/OS functionality, compilation needed for changes** • Overall a net plus for the needs of ESR 27.1.2011 Matt Tilley
OSCAR engine update • Four basic operations: • SSH/SST/Wind data acquisition • AVISO (SSH), Reynolds/GHRSST (SST), NCEP/ECMWF (WIND) • Process data for file structures/calculations • File structures, non-values, gridding, 5d spacing and 10d smoothing • Calculate ocean current velocity • Geostrophic, Ekman, thermal/buoyancy • Publish OSCAR data to website 27.1.2011 Matt Tilley
OSCAR Engine Update • Compiled using gnu-make, g++ • Shell script calls main executable, args include XML configuration** • oscar_exec (main C++ executable) • 4(5) separate dynamic libraries • data_acq.so • process_data.so (CURRENT WORK) • calc_vel.so • publish.so • oscar_tools.so • These libraries are self contained WRT functionality, so any code updates can be compiled in a single module 27.1.2011 Matt Tilley
OSCAR Engine Update • Timeline • Started preparation and coding work late November; rough time costing out to beginning of March • Currently near completion on first iteration of process_data.so (foreseen as the most difficult of the modules) • Next module to be velocity calculation 27.1.2011 Matt Tilley
ESR's web presence • Took over role as ESR's webmaster in September, 2010 • Work with all staff members to keep current, important information easily accessible • Staff page updates • Outreach activites • Overall design suggestions • More!? • Miscellaneous project(s): • ESR publication database • Browser-based, PHP/JavaScript/MySQL • Approximately 50% complete 27.1.2011 Matt Tilley