-
Notifications
You must be signed in to change notification settings - Fork 5
Description
When using PYGAHM to generate a moving grid based on ATCF historical tracks, the model consistently returns zero or near-zero values for pressure, u-wind, and v-wind at the final timestep, regardless of the storm's intensity (e.g., Vmax or Min Pressure). This issue appears to be systematic and reproducible across multiple storms. For example, when running the following script for Hurricane Florence (2018), using the final timestamp 2018-09-18 12:00:00, the resulting pressure and wind fields are essentially near-zeros:
#Florence
filename = "bal062018.dat"
time = pygahm.Date(2018, 9, 18, 12, 0, 0)
tstr="Hurricane Florence (2018) test"
atcf = pygahm.AtcfFile(filename)
atcf.read()
llcrnrlon = -100.0
llcrnrlat = 10.0
urcrnrlon = -50.0
urcrnrlat = 50.0
wind_grid = pygahm.WindGrid.fromCorners(llcrnrlon, llcrnrlat, urcrnrlon, urcrnrlat, 0.1, 0.1)
x=np.array(wind_grid.x_grid())
y=np.array(wind_grid.y_grid())
prep = pygahm.Preprocessor(atcf)
prep.prepareAtcfData()
prep.solve()
vortex = pygahm.Vortex(atcf, wind_grid.points())
solution = vortex.solve(time)
p = np.array(solution.p())
u = np.array(solution.u())
v = np.array(solution.v())
print(p.min(),p.max())
print(u.min(),u.max())
print(v.min(),v.max())
The output is:
4.671844060245e-312 4.67184406026e-312
-0.00027837863914012903 0.0011822349188674716
-0.003930916909051621 -0.0006208036084659465
The values at the final timestep are zero, suggesting that something’s going wrong with how that step is filled in. This usually isn’t a big deal when the storm ends over land, since ADCIRC doesn’t use the atmospheric data there. But when the last point is still over the ocean, it starts to cause weird water level results. For now, I have adopted a quick fix by just stopping the simulation one timestep early (at N-1), which avoids the issue. Still, this seems like it could point to a deeper problem in how the final timestep is being handled inside PYGAHM, so it’d be great to get some clarification or a fix.