Changeset 25303 for issm/trunk-jpl/src/m/solve/parseresultsfromdisk.py
- Timestamp:
- 07/27/20 12:11:11 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/src/m/solve/parseresultsfromdisk.py ¶
r25300 r25303 248 248 rr = md.materials.radius 249 249 rho = md.materials.density 250 rho_avg = (rho * np.diff(np.power(rr, 3), n=1, axis=0)) / np.diff(np.power(rr, 3).sum()).sum() 250 rho_avg_partial = np.diff(np.power(rr, 3), n=1, axis=0) 251 rho_avg = ((rho * rho_avg_partial) / rho_avg_partial.sum()).sum() 251 252 temp_field = np.empty((degmax + 1, nfreq, nlayer + 1, 6)) 252 253 temp_field.fill(0.0) … … 254 255 for jj in range(nfreq): 255 256 for kk in range(nlayer + 1): 256 if kk < nlayer + 1:257 if kk < nlayer: # NOTE: Upper bound of range is non-inclusive (compare to src/m/solve/parseresultsfromdisk.m) 257 258 ll = ii * (nlayer + 1) * 6 + (kk * 6 + 1) + 3 258 temp_field[ii, jj, kk, 0] = field[ll + (1 - 1), jj] * r0 # mm = 4 259 temp_field[ii, jj, kk, 1] = field[ll + (2 - 1), jj] * mu0 # mm = 5 260 temp_field[ii, jj, kk, 2] = field[ll + (3 - 1), jj] * r0 # mm = 6 261 temp_field[ii, jj, kk, 3] = field[ll + (4 - 1), jj] * mu0 # mm = 1 262 temp_field[ii, jj, kk, 4] = field[ll + (5 - 1), jj] * r0 * g0 # mm = 2 263 temp_field[ii, jj, kk, 5] = field[ll + (6 - 1), jj] * g0 # mm = 3 264 print(temp_field) 259 temp_field[ii, jj, kk, 0] = field[ll + (0 - 1), jj] * r0 # mm = 4 260 temp_field[ii, jj, kk, 1] = field[ll + (1 - 1), jj] * mu0 # mm = 5 261 temp_field[ii, jj, kk, 2] = field[ll + (2 - 1), jj] * r0 # mm = 6 262 temp_field[ii, jj, kk, 3] = field[ll + (3 - 1), jj] * mu0 # mm = 1 263 temp_field[ii, jj, kk, 4] = field[ll + (4 - 1), jj] * r0 * g0 # mm = 2 264 temp_field[ii, jj, kk, 5] = field[ll + (5 - 1), jj] * g0 # mm = 3 265 265 else: # surface 266 ll = ii* (nlayer + 1) * 6 - 2267 temp_field[ii, jj, kk, 0] = field[ll + ( 1- 1), jj] * r0268 temp_field[ii, jj, kk, 2] = field[ll + ( 2- 1), jj] * r0269 temp_field[ii, jj, kk, 4] = field[ll + ( 3- 1), jj] * r0 * g0266 ll = (ii + 1) * (nlayer + 1) * 6 - 2 267 temp_field[ii, jj, kk, 0] = field[ll + (0 - 1), jj] * r0 268 temp_field[ii, jj, kk, 2] = field[ll + (1 - 1), jj] * r0 269 temp_field[ii, jj, kk, 4] = field[ll + (2 - 1), jj] * r0 * g0 270 270 # surface BC 271 271 temp_field[ii, jj, kk, 3] = 0 272 272 if md.love.forcing_type == 9: 273 273 temp_field[ii, jj, kk, 1] = 0 274 temp_field[ii, jj, kk, 5] = (2 * ii - 1) / r0 - ii * field[ll + (3- 1), jj] * g0274 temp_field[ii, jj, kk, 5] = (2 * (ii + 1) - 1) / r0 - (ii + 1) * field[ll + (2 - 1), jj] * g0 275 275 elif md.love.forcing_type == 11: 276 temp_field[ii, jj, kk, 1] = -(2 * (ii - 1)+ 1) * rho_avg / 3277 temp_field[ii, jj, kk, 5] = (2 * ii - 1) / r0 - ii * field[ll + (3- 1), jj] * g0276 temp_field[ii, jj, kk, 1] = -(2 * ii + 1) * rho_avg / 3 277 temp_field[ii, jj, kk, 5] = (2 * (ii + 1) - 1) / r0 - (ii + 1) * field[ll + (2 - 1), jj] * g0 278 278 field = temp_field 279 279
Note:
See TracChangeset
for help on using the changeset viewer.