Generative AI Applications in Engineering
This page was written in December 2025.
In the past year or so, I have been exploring the use of generative AI tools (ChatGPT, Gemini, NotebookLM, etc.) to streamline workflows and reduce some tedious parts of various tasks. So far, my experience has been very positive; these AI tools have helped increase productivity and sometimes allowed me to try things I had not done previously or had little experience with. Below I list the technical and engineering tasks where AI increased efficiency and which I found particularly helpful.
0. Non-technical tasks (brainstorming, writing, and reporting)
Before getting into technical tasks, it is worth noting how AI improves some general tasks. I won't dwell on these aspects (which have been widely discussed and reported), but one example I will give is related to explaining technical work (which can sometimes be a bit difficult for me). Here is an AI-generated video in the other page, which was produced with NotebookLM that summarizes our paper on the Colorado River Basin. The video explains the work in non-technical language and did a good job overall; aside from adding emphasis on a few points (for example, the projected moderate reduction in precipitation), I don't know how I could improve the video myself (certainly not the graphics).
1. Data Procurement and Processing
I work on climate and water-resources projects that use various data (historical and future projection, meteorological and hydrological, etc.). Although much of this data is public, storage and access methods vary. AI has helped by generating or modifying scripts to automatically download and process these data (I usually use R, but certainly other languages can be generated).
Common datasets I use AI to download/process:
- NOAA-GHCN — historical station temperature and precipitation data
- PRISM — gridded historical climate data
- Downscaled GCM projections from LOCA — with NetCDF processing
- USGS gage station data — streamflow and water-quality (the dataRetrieval package is very helpful, which can be implemented with AI)
2. Statistical Data Analysis
I use AI to generate or modify code for data analyses, especially time-series work. This data is often compiled tables or spreadsheets, as opposed to geospatial data which I will discuss next. Typical tasks include summarizing daily data to monthly or annual scales and performing QA — routine but frequently require modifications (e.g., calculated as annual maxima, monthly totals, and making unit conversions).
Some notes:
- AI speeds up routine code edits.
- Creating exploratory plots (scatter, time-series, etc.) and computing statistics are less cumbersome.
- Need to verify that generated code does what is intended — however, whether AI-generated or self-written, this is required nonetheless.
- Because AI handles routine work, my role shifts more toward debugging (which is typically harder to do).
3. Geospatial Analysis
Geospatial tasks in my work include processing of rasters, shapefiles, and vector data (spreadsheets with coordinates). Traditionally GIS tools/software is used such as ArcGIS or QGIS. Licensing may limit some options (in the case of ArcGIS) and alternative approaches may be needed. To this end, AI has helped me:
- Learn faster how to use those GIS tools to perform particular tasks, and
- More notably, use R to batch-process and analyze geospatial data
Two examples:
- Terrain edits for HEC-RAS or other mechanistic models AI can be used to generate scripts to modify terrain with proposed engineering designs (which often change), making edits reproducible and easier to revise and batch-process compared with interactive edits inside HEC-RAS.
- Input and output data processing for HEC-HMS AI-generated code helped prepare some model inputs, in one particular study, used to calculate daily crop coefficients from land-cover rasters using the single crop coefficient method (this required calculating crop coefficients based on the crop type in each grid of the land cover rasters).
4. Data Visualization
AI helps generate or tweak visualization code. Many plots needed are often similar to the previous figures already made but require minor edits — a tedious process. AI makes updating plotting scripts much faster, in my case especially for:
- Plots based on ggplot2
- Maps based on the leaflet library
5. Standardization and Distribution
AI is useful for standardizing scripts by adding explanatory comments and formatting consistent code sections — things I often skip. This improves clarity for others and my future self. I haven't yet published packages, but AI could help format code for repositories and packaging (e.g., CRAN for R), increasing accessibility. Published code would also be used in future AI training, creating a positive feedback loop.
Final Thoughts
AI is evolving rapidly — model capabilities have improved substantially in the past year according to some reports. From my experience, productivity gains from AI are real and tangible. Discussions about AI's role in civil and environmental engineering are less common than in software engineering, but many of our tasks (especially code-based work) are well suited for AI assistance. A promising direction is tighter integration between AI and engineering models: if AI could access and learn model code, 'Vibe Coding' might be used to implement modeling tasks with descriptive input. Such AI agents are not fully realized yet, but I don't believe they are too far away.