@@ -76,24 +76,25 @@ def XLinear(
7676 xi_1 = np .clip (xi + 1 , 0 , data .shape [3 ] - 1 )
7777 xi = np .repeat (np .column_stack ([xi , xi_1 ]), 2 * (lenT ) * (lenZ ))
7878
79- F = data .values [ti , zi , yi , xi ].reshape (- 1 , lenT , lenZ , 4 )
79+ corner_data = data .values [ti , zi , yi , xi ].reshape (- 1 , lenT , lenZ , 4 )
8080
8181 if lenT == 2 :
82- F_t0 , F_t1 = F [:, 0 , :, :], F [:, 1 , :, :]
83- tau_expanded = tau [:, np .newaxis , np .newaxis ]
84- F = F_t0 * (1 - tau_expanded ) + F_t1 * tau_expanded
82+ tau = tau [:, np .newaxis , np .newaxis ]
83+ corner_data = corner_data [:, 0 , :, :] * (1 - tau ) + corner_data [:, 1 , :, :] * tau
8584 else :
86- F = F [:, 0 , :, :]
85+ corner_data = corner_data [:, 0 , :, :]
8786
8887 if lenZ == 2 :
89- F_z0 , F_z1 = F [:, 0 , :], F [:, 1 , :]
90- zeta_expanded = zeta [:, np .newaxis ]
91- F = F_z0 * (1 - zeta_expanded ) + F_z1 * zeta_expanded
88+ zeta = zeta [:, np .newaxis ]
89+ corner_data = corner_data [:, 0 , :] * (1 - zeta ) + corner_data [:, 1 , :] * zeta
9290 else :
93- F = F [:, 0 , :]
91+ corner_data = corner_data [:, 0 , :]
9492
9593 value = (
96- (1 - xsi ) * (1 - eta ) * F [:, 0 ] + xsi * (1 - eta ) * F [:, 1 ] + (1 - xsi ) * eta * F [:, 2 ] + xsi * eta * F [:, 3 ]
94+ (1 - xsi ) * (1 - eta ) * corner_data [:, 0 ]
95+ + xsi * (1 - eta ) * corner_data [:, 1 ]
96+ + (1 - xsi ) * eta * corner_data [:, 2 ]
97+ + xsi * eta * corner_data [:, 3 ]
9798 )
9899 return value .compute () if isinstance (value , dask .Array ) else value
99100
0 commit comments