@@ -999,16 +999,6 @@ def extrapolate_arrays(param_in, dims=None, item="Parameter Name"):
999
999
param_in .reshape (1 , dims [1 ], dims [2 ]),
1000
1000
(dims [0 ], 1 , 1 ),
1001
1001
)
1002
- # param_out = np.concatenate(
1003
- # (
1004
- # param_in,
1005
- # np.tile(
1006
- # param_in[-1, :, :].reshape(1, dims[1], dims[2]),
1007
- # (dims[1], 1, 1),
1008
- # ),
1009
- # ),
1010
- # axis=0,
1011
- # )
1012
1002
# case if T by S input
1013
1003
elif param_in .shape [0 ] == dims [0 ] - dims [1 ]:
1014
1004
param_in = (
@@ -1034,15 +1024,18 @@ def extrapolate_arrays(param_in, dims=None, item="Parameter Name"):
1034
1024
assert False
1035
1025
elif param_in .ndim == 3 :
1036
1026
# this is the case where input varies by T, S, J
1037
- param_out = np .concatenate (
1038
- (
1039
- param_in ,
1040
- np .tile (
1041
- param_in [- 1 , :, :].reshape (1 , dims [1 ], dims [2 ]),
1042
- (dims [1 ], 1 , 1 ),
1027
+ if param_in .shape [0 ] > dims [0 ]:
1028
+ param_out = param_in [: dims [0 ], :, :]
1029
+ else :
1030
+ param_out = np .concatenate (
1031
+ (
1032
+ param_in ,
1033
+ np .tile (
1034
+ param_in [- 1 , :, :].reshape (1 , dims [1 ], dims [2 ]),
1035
+ (dims [0 ] - param_in .shape [0 ], 1 , 1 ),
1036
+ ),
1043
1037
),
1044
- ),
1045
- axis = 0 ,
1046
- )
1038
+ axis = 0 ,
1039
+ )
1047
1040
1048
1041
return param_out
0 commit comments