Programmer/Research Associate IV

kevin.m.mcgrath@noaa.gov


Cooperative Institute for Research in the Atmosphere
Colorado State University
1375-C20 Campus Delivery
Fort Collins, CO 80523-1375-C20

256-886-8896

Madison, Alabama

Technical Summary:

  • Degreed Meteorologist and Electrical Engineer specializing in the processing and visualization of real-time remote sensing and forecast model data
  • Extensive software engineering experience supporting operational forecasters by maintaining the real-time acquisition of meteorological data and the generation, dissemination, archiving, and visualization of products
  • Programming Languages: Python, Bash, JavaScript, PHP, Perl, C, HTML/CSS, SQL
  • Technologies: AWS cloud architecture, React.js, Next.js, jQuery, Bootstrap, MapServer, GeoServer, GDAL, OpenLayers, Docker, Apache HTTP, Rocoto, ecFlow, ELK stack, LDM, NOAAPort, AWIPS II, McIDAS
  • Developer Tools: Visual Studio Code, Eclipse, Git/GitHub/GitLab, Redmine, Jenkins, Gerrit
  • Data Formats: GRIB, NetCDF, HDF, GeoTIFF, GeoJSON, JSON, XML, HDF, Shapefile, McIDAS Area, KML

Recent Professional Experience:

  • Stationed at the National Weather Service’s Meteorological Development Lab (MDL)
  • Supervise a team of geographically-dispersed CIRA research associates
  • Provide full-lifecycle software engineering expertise for projects at the MDL, including requirements analysis, design, development, configuration, documentation, review, and testing
  • Lead software developer of the AWS-based Whole Story Uncertainty & Probabilities (WSUP) web application.
    • This GIS tool provides forecasters with 1200+ elements from the National Blend of Models (NBM), Global Ensemble Forecast System (GEFS), National Digital Forecast Database (NDFD), Real-Time Mesoscale Analysis (RTMA), and Unrestricted Mesoscale Analysis (URMA), and various storm surge models in real-time utilizing technologies like MapServer, OpenLayers, Bootstrap, jQuery, Python, PHP, JavaScript, and AWS (EC2, S3, load balancers, Lambda, etc.). Features include displaying forecast evolution over time (dProg/dt), comparing forecast values with min/max station records, animation download tool, user-selectable color tables, cursor sampling, and an auto-updating mode to always display latest data.
    • Design and manage real-time processing of model data on a Linux-based NWS supercomputer (WCOSS) with output disseminated by the WSUP Viewer and NOAA Open Data Dissemination S3 buckets in various formats (GRIB, TIF, GeoJSON, etc.). The processing uses a combination of Python, Bash, and the PBS HPC job scheduler. A Rocoto-based workflow management solution defines, launches, and tracks over 900 hourly tasks and their associated dependencies.
    • All code for this project is under Git version control with Jenkins and Gerrit used for code review and merging with Redmine used for task tracking
  • Member of a team utilizing Artificial Intelligence (AI)/Machine Learning (ML) techniques to produce probabilistic fire weather guidance. Responsible for developing the Rocoto- and ecFlow-based real-time data flow pipeline running on an NWS HPC system (WCOSS).

Recent Publications: