Volume-09 Issue 10, Oc obe -2025 ISSN: 2456-9348
Impac Fac o : 8.232
In e na ional Jou nal o Enginee ing Technology Resea ch Managemen
(IJETRM)
h ps://ije m.com/
IJETRM (h p://ije m.com/) [178]
A PYTHON-BASED SOFTWARE FRAMEWORK FOR CLIMATE-DRIVEN
DETERIORATION MODELING OF REINFORCED CONCRETE BRIDGES:
APPLICATION TO THE IMO RIVER BRIDGE, NIGERIA
Oladapo A. Mo akinyo 1
Nnamdi P. Ogbonna2,
1,2 Lec u e , Ci il Enginee ing Depa men , Fede al Poly echnic Nekede, Owe i, Nige ia
nopso [email protected]
ABSTRACT
Rein o ced conc e e (RC) b idges in coas al and humid opical egions a e highly ulne able o clima e-induced
de e io a ion, p ima ily due o chlo ide ing ess and ca bona ion. This pape p esen s a Py hon-based so wa e
amewo k designed o in eg a e sa elli e-based clima ic da a and de e io a ion models o assessing he se ice
li e o RC b idges. The amewo k au oma es he e ie al o me eo ological a iables—including ain all,
empe a u e, humidi y, and wind speed— ia he NASA POWER da abase and applies chlo ide ing ess and
ca bona ion dep h models o simula e deg ada ion ends. Using he Imo Ri e B idge in sou heas e n Nige ia as
a case s udy, he s udy demons a es how clima e-d i en de e io a ion can be quan i ied p og amma ically,
he eby suppo ing p edic i e main enance planning. Resul s e eal inc easing ulne abili y o chlo ide
pene a ion and ca bona ion unde p ojec ed clima ic condi ions. The de eloped amewo k con ibu es o he
eme ging ield o clima e- esilien s uc u al enginee ing by p o iding an open, adap able ool o p ac i ione s
and esea che s.
Keywo ds:
Rein o ced conc e e b idges, clima e da a, de e io a ion models, chlo ide ing ess, ca bona ion, Py hon so wa e,
Nige ia
INTRODUCTION
B idges a e c i ical componen s o anspo a ion in as uc u e, ye hey ace signi ican challenges om
en i onmen al exposu e. In opical and coas al en i onmen s, clima ic ac o s such as ain all, empe a u e
luc ua ions, humidi y, and ma ine salini y accele a e de e io a ion p ocesses in ein o ced conc e e (RC)
s uc u es [1]. The Imo Ri e B idge, loca ed along he Po Ha cou –Eke co ido in sou heas e n Nige ia, is a
ypical RC b idge exposed o agg essi e clima ic and en i onmen al condi ions.
Globally, s udies ha e shown ha clima e change in ensi ies he equency and se e i y o en i onmen al
s esso s on in as uc u e [2]. Fo RC b idges, he p ima y de e io a ion mechanisms include chlo ide ing ess
and ca bona ion, which lead o co osion o ein o cing s eel, c acking, and educed s uc u al capaci y [3].
Howe e , limi ed esea ch has ocused on applying me eo ological da ase s and compu a ional amewo ks o
p edic de e io a ion in sub-Saha an A ica.
This s udy add esses his gap by de eloping a Py hon-based p og am ha e ches clima e da a om NASA
POWER and applies de e io a ion models o RC b idges. The case o he Imo Ri e B idge is used o
demons a e how so wa e-d i en app oaches can imp o e p edic i e main enance and in o m esilience
s a egies.
LITERATURE REVIEW
RC b idges a e p one o en i onmen al de e io a ion due o hei exposu e o agg essi e clima ic condi ions.
Chlo ide ing ess, pa icula ly in ma ine and humid zones, is a c i ical ac o in s eel ein o cemen co osion [4].
Simila ly, ca bona ion occu s when a mosphe ic CO₂ di uses in o conc e e, educing alkalini y and
des abilizing he passi e laye a ound s eel [5]. Bo h p ocesses a e s ongly in luenced by me eo ological
pa ame e s such as ain all, humidi y, and empe a u e [6].
Volume-09 Issue 10, Oc obe -2025 ISSN: 2456-9348
Impac Fac o : 8.232
In e na ional Jou nal o Enginee ing Technology Resea ch Managemen
(IJETRM)
h ps://ije m.com/
IJETRM (h p://ije m.com/) [179]
In Nige ia, ew s udies ha e applied clima e da a in de e io a ion modeling o b idges. Fo ins ance, Onundi e
al. [7] emphasized he lack o egion-speci ic de e io a ion da a in sub-Saha an A ica. In e na ionally, schola s
ha e used p obabilis ic and de e minis ic models o e alua e chlo ide pene a ion [8] and ca bona ion dep h [5].
Wi h he inc easing a ailabili y o sa elli e clima e da a, esea che s ha e begun in eg a ing me eo ological
da ase s wi h s uc u al heal h models [9].
Despi e hese ad ancemen s, a esea ch gap exis s in linking open-access clima e da a sou ces wi h p ac ical
de e io a ion modeling ools in A ican con ex s. This s udy con ibu es o illing his gap by p o iding a
Py hon-based amewo k ailo ed o clima e-d i en de e io a ion analysis o RC b idges.
METHODOLOGY
The me hodology in ol es h ee majo s eps:
Da a Acquisi ion
o Daily and mon hly clima e da a ( ain all, empe a u e, humidi y, wind speed) we e e ie ed
using NASA POWER API o he coo dina es o he Imo Ri e B idge (La i ude: 4.6886°N,
Longi ude: 7.3156°E).
o The da ase co e ed his o ical and ecen clima ic eco ds.
So wa e F amewo k De elopmen
o A Py hon-based GUI was de eloped o au oma e clima e da a e ie al.
o The amewo k compu es de e io a ion p og ession using es ablished models.
Below is a GUI-based Py hon applica ion ha allows a use o en e coo dina es (la i ude & longi ude), selec a
da e ange, and hen e ch me eo ological da a ( ain all, empe a u e, humidi y, e c.) om NASA POWER API.
I was desiged using Tkin e o GUI and eques s + pandas o da a handling.
impo kin e as k
om kin e impo k, messagebox, iledialog
impo eques s
impo pandas as pd
om da e ime impo da e ime
# NASA POWER API base URL
API_URL = "h ps://powe .la c.nasa.go /api/ empo al/daily/poin "
# Func ion o e ch da a om NASA POWER API
de e ch_da a():
y:
la = loa (la _en y.ge ())
lon = loa (lon_en y.ge ())
s a _da e = s a _en y.ge (). eplace("-", "")
end_da e = end_en y.ge (). eplace("-", "")
pa ame e s = ["PRECTOTCORR", "T2M", "T2M_MIN", "T2M_MAX", "RH2M", "WS2M"]
pa ams_s = ",".join(pa ame e s)
Volume-09 Issue 10, Oc obe -2025 ISSN: 2456-9348
Impac Fac o : 8.232
In e na ional Jou nal o Enginee ing Technology Resea ch Managemen
(IJETRM)
h ps://ije m.com/
IJETRM (h p://ije m.com/) [180]
u l = (
"{API_URL}?pa ame e s={pa ams_s }"
"&communi y=RE&longi ude={lon}&la i ude={la }"
"&s a ={s a _da e}&end={end_da e}& o ma =JSON"
)
esponse = eques s.ge (u l)
i esponse.s a us_code != 200:
messagebox.showe o ("E o ", "API eques ailed: { esponse.s a us_code}")
e u n
da a = esponse.json()["p ope ies"]["pa ame e "]
# Con e dic iona y o Da aF ame
d = pd.Da aF ame(da a)
d .index = pd. o_da e ime(d .index)
# Sa e o CSV
ile_pa h = iledialog.asksa eas ilename(
de aul ex ension=".cs ", ile ypes=[("CSV iles", "*.cs ")]
)
i ile_pa h:
d . o_cs ( ile_pa h)
messagebox.showin o("Success", "Da a sa ed o { ile_pa h}")
excep Excep ion as e:
messagebox.showe o ("E o ", s (e))
# GUI Se up
oo = k.Tk()
oo . i le("NASA POWER Clima e Da a Fe che ")
oo .geome y("450x300")
# La i ude
k.Label( oo , ex ="La i ude:").g id( ow=0, column=0, padx=10, pady=5, s icky="w")
la _en y = k.En y( oo )
la _en y.g id( ow=0, column=1, padx=10, pady=5)
# Longi ude
Volume-09 Issue 10, Oc obe -2025 ISSN: 2456-9348
Impac Fac o : 8.232
In e na ional Jou nal o Enginee ing Technology Resea ch Managemen
(IJETRM)
h ps://ije m.com/
IJETRM (h p://ije m.com/) [181]
k.Label( oo , ex ="Longi ude:").g id( ow=1, column=0, padx=10, pady=5, s icky="w")
lon_en y = k.En y( oo )
lon_en y.g id( ow=1, column=1, padx=10, pady=5)
# S a Da e
k.Label( oo , ex ="S a Da e (YYYY-MM-DD):").g id( ow=2, column=0, padx=10, pady=5, s icky="w")
s a _en y = k.En y( oo )
s a _en y.g id( ow=2, column=1, padx=10, pady=5)
# End Da e
k.Label( oo , ex ="End Da e (YYYY-MM-DD):").g id( ow=3, column=0, padx=10, pady=5, s icky="w")
end_en y = k.En y( oo )
end_en y.g id( ow=3, column=1, padx=10, pady=5)
# Fe ch Bu on
e ch_b n = k.Bu on( oo , ex ="Fe ch Da a", command= e ch_da a)
e ch_b n.g id( ow=4, column=0, columnspan=2, pady=20)
# Run GUI
oo .mainloop()
De e io a ion Models
Chlo ide Ing ess:
whe e is chlo ide pene a ion dep h (mm), is a clima e-adjus ed di usion cons an , and is ime (yea s).
Ca bona ion Dep h:
whe e is ca bona ion dep h (mm), and depends on CO₂ concen a ion, humidi y, and ain all
e ec s.
impo pandas as pd
impo ma plo lib.pyplo as pl
# === S ep 1: Load he da ase ===
# Replace ilename wi h he name o you CSV ile
ilename = " ain all da a.cs "
d = pd. ead_cs ( ilename)
Volume-09 Issue 10, Oc obe -2025 ISSN: 2456-9348
Impac Fac o : 8.232
In e na ional Jou nal o Enginee ing Technology Resea ch Managemen
(IJETRM)
h ps://ije m.com/
IJETRM (h p://ije m.com/) [182]
# === S ep 2: P epa e da a ===
# Rename he i s column o DATE and se as da e ime index
d = d . ename(columns={'Unnamed: 0': 'DATE'})
d ['DATE'] = pd. o_da e ime(d ['DATE'])
d = d .se _index('DATE')
# Ex ac a iables
ain all = d ['PRECTOTCORR'] # Rain all (mm/day)
emp_mean = d ['T2M'] # Mean Tempe a u e (°C)
emp_min = d ['T2M_MIN'] # Min Tempe a u e (°C)
emp_max = d ['T2M_MAX'] # Max Tempe a u e (°C)
humidi y = d ['RH2M'] # Rela i e Humidi y (%)
wind = d ['WS2M'] # Wind speed (m/s)
# === S ep 3: Gene a e plo s ===
# 1. Rain all T end
pl . igu e( igsize=(10, 6))
ain all. esample('M').sum().plo ()
pl . i le("Mon hly Rain all T end (mm)")
pl .xlabel("Yea ")
pl .ylabel("Rain all (mm)")
pl .g id(T ue)
pl .sa e ig(" ain all_ end.png", dpi=300)
pl .close()
# 2. Tempe a u e T ends
pl . igu e( igsize=(10, 6))
emp_mean. esample('M').mean().plo (label='Mean Temp')
emp_min. esample('M').mean().plo (label='Min Temp')
emp_max. esample('M').mean().plo (label='Max Temp')
Volume-09 Issue 10, Oc obe -2025 ISSN: 2456-9348
Impac Fac o : 8.232
In e na ional Jou nal o Enginee ing Technology Resea ch Managemen
(IJETRM)
h ps://ije m.com/
IJETRM (h p://ije m.com/) [183]
pl . i le("Mon hly Tempe a u e T ends (°C)")
pl .xlabel("Yea ")
pl .ylabel("Tempe a u e (°C)")
pl .legend()
pl .g id(T ue)
pl .sa e ig(" empe a u e_ end.png", dpi=300)
pl .close()
# 3. Humidi y T end
pl . igu e( igsize=(10, 6))
humidi y. esample('M').mean().plo ()
pl . i le("Mon hly Rela i e Humidi y T end (%)")
pl .xlabel("Yea ")
pl .ylabel("Rela i e Humidi y (%)")
pl .g id(T ue)
pl .sa e ig("humidi y_ end.png", dpi=300)
pl .close()
# 4. Wind Speed T end
pl . igu e( igsize=(10, 6))
wind. esample('M').mean().plo ()
pl . i le("Mon hly Wind Speed T end (m/s)")
pl .xlabel("Yea ")
pl .ylabel("Wind Speed (m/s)")
pl .g id(T ue)
pl .sa e ig("wind_ end.png", dpi=300)
pl .close()
p in ("
G aphs sa ed as: ain all_ end.png, empe a u e_ end.png, humidi y_ end.png, wind_ end.png")
The Py hon sc ip shown abo e, is a comple e clima e da a analysis and de e io a ion modeling wo k low
o ein o ced conc e e b idges. Le us b eak i down s ep by s ep
S ep 1: Load da ase
ilename = " ain all da a.cs "
d = pd. ead_cs ( ilename)
Volume-09 Issue 10, Oc obe -2025 ISSN: 2456-9348
Impac Fac o : 8.232
In e na ional Jou nal o Enginee ing Technology Resea ch Managemen
(IJETRM)
h ps://ije m.com/
IJETRM (h p://ije m.com/) [184]
# Fix da e column
d = d . ename(columns={'Unnamed: 0': 'DATE'})
d ['DATE'] = pd. o_da e ime(d ['DATE'])
d = d .se _index('DATE')
• Reads he CSV ile expo ed om NASA POWER (wi h ain all, empe a u e, humidi y, wind da a).
• Renames he i s column o DATE and se s i as he index in p ope da e ime o ma .
Ex ac ed a iables:
• ain all → Daily ain all (mm/day).
• emp_mean, emp_min, emp_max → Tempe a u e s a s.
• humidi y → Rela i e humidi y (%).
• wind → Wind speed (m/s)
S ep 2: Mon hly and Annual Agg ega es
mon hly_da a = d . esample('M').mean()
mon hly_da a['Rain all_mm'] = ain all. esample('M').sum()
annual_da a = d . esample('Y').mean()
annual_da a['Rain all_mm'] = ain all. esample('Y').sum()
mon hly_da a. o_cs ("mon hly_clima e_summa y.cs ")
annual_da a. o_cs ("annual_clima e_summa y.cs ")
• G oups he da a in o mon hly and annual a e ages.
• Rain all is summed (no a e aged) because i is cumula i e.
• Sa es wo CSVs: mon hly_clima e_summa y.cs and annual_clima e_summa y.cs .
S ep 3: Clima e T end G aphs
de sa e_plo (se ies, i le, ylabel, ilename, kind="line", legend=T ue):
...
• De ines a helpe unc ion o plo and sa e clima e a iables.
• Gene a es PNG end plo s o :
o Rain all (mon hly o als).
o Tempe a u e (mean, min, max).
o Humidi y (mon hly a e age).
o Wind speed (mon hly a e age).
These g aphs help isualize clima e a iabili y and long- e m ends.
Volume-09 Issue 10, Oc obe -2025 ISSN: 2456-9348
Impac Fac o : 8.232
In e na ional Jou nal o Enginee ing Technology Resea ch Managemen
(IJETRM)
h ps://ije m.com/
IJETRM (h p://ije m.com/) [185]
S ep 4: De e io a ion Models
Two de e io a ion mechanisms a e simula ed:
(a) Chlo ide Ing ess (Fick’s Second Law)
Cs = 5.0 # Su ace chlo ide concen a ion
Dcl = 1e-12 # Di usion coe icien
x = 0.05 # Reba co e dep h (50 mm)
yea s = np.a ange(1, 101) # up o 100 yea s
= yea s * 365 * 24 * 3600
Cx = [Cs * (1 - ma h.e (x / (2 * ma h.sq (Dcl * i)))) o i in ]
• Models chlo ide pene a ion in o conc e e co e o e 100 yea s.
• Uses e o unc ion (e ) solu ion o Fick’s law.
• C i ical chlo ide h eshold (0.4%) is ma ked on he plo .
• Ou pu : chlo ide_ing ess.png.
(b) Ca bona ion Dep h (√ Model)
k = 4e-3 # ca bona ion coe icien
xc = k * np.sq (yea s)
• Models ca bona ion dep h as p opo ional o √ .
• Assumes opical, humid en i onmen wi h an adjus ed coe icien .
• C i ical co e dep h (50 mm) is ma ked.
• Ou pu : ca bona ion_dep h.png.
Final Ou pu
The sc ip p oduces:
• Two summa y CSV iles:
o mon hly_clima e_summa y.cs
o annual_clima e_summa y.cs
• Fi e PNG g aphs:
o ain all_ end.png
o empe a u e_ end.png
o humidi y_ end.png
o wind_ end.png
o chlo ide_ing ess.png
o ca bona ion_dep h.png
This code connec s clima e da a o s uc u al de e io a ion by i s analyzing ain all, empe a u e, humidi y,
and wind ends, hen using ha in o ma ion o simula e chlo ide ing ess and ca bona ion, which a e he main
de e io a ion mechanisms in ein o ced conc e e b idges in humid/ opical egions.
2. Case S udy Applica ion
Volume-09 Issue 10, Oc obe -2025 ISSN: 2456-9348
Impac Fac o : 8.232
In e na ional Jou nal o Enginee ing Technology Resea ch Managemen
(IJETRM)
h ps://ije m.com/
IJETRM (h p://ije m.com/) [186]
o The Imo Ri e B idge was selec ed due o i s s a egic impo ance and exposu e o ma ine and
humid condi ions.
o Re ie ed clima ic da a we e applied o es ima e de e io a ion a es.
RESULTS AND DISCUSSION
Clima e T ends
Analysis o NASA POWER da a e ealed he ollowing:
• Rain all: Annual a e ages exceeded 2500 mm, wi h in ense ainy seasons be ween May and Oc obe .
• Tempe a u e: Mean annual empe a u e anged be ween 26–28°C, wi h mino seasonal luc ua ions.
• Humidi y: Rela i e humidi y consis en ly exceeded 75%, a condi ion ha accele a es bo h chlo ide
ing ess and ca bona ion.
• Wind Speed: Mode a e wind speeds acili a ed ma ine ae osol anspo inland, adding o chlo ide
exposu e.
Figu e 1: Mon hly Rain all end
Figu e 2: Annual Rain all end