Coverage for tests/categorical/multicategorical_test_data.py: 100%

64 statements  

« prev     ^ index     » next       coverage.py v7.3.2, created at 2024-02-28 12:51 +1100

1""" 

2Test data for testing scores.categorical.multicategorical functions 

3""" 

4import numpy as np 

5import xarray as xr 

6 

7DA_FCST_SC = xr.DataArray( 

8 data=[[[np.nan, 7, 4], [-100, 0, 1]], [[0, 1, 5], [10, 16, 1]]], 

9 dims=["i", "j", "k"], 

10 coords={ 

11 "i": [1, 2], 

12 "j": [10000, 100001], 

13 "k": [10, 11, 12], 

14 }, 

15) 

16DA_FCST_SC2 = xr.DataArray( 

17 data=[3, 3, 1, 2, 2, 1], 

18 dims=["i"], 

19 coords={ 

20 "i": [1, 2, 3, 4, 5, 6], 

21 }, 

22) 

23 

24DA_OBS_SC = xr.DataArray( 

25 data=[[10, np.nan], [0, 1]], 

26 dims=["j", "k"], 

27 coords={ 

28 "j": [100001, 10000], # coords in different order to forecast 

29 "k": [10, 11], 

30 }, 

31) 

32 

33DA_OBS_SC2 = xr.DataArray( 

34 data=[1, 2, 3, 4, 1, 2], 

35 dims=["i"], 

36 coords={ 

37 "i": [1, 2, 3, 4, 5, 6], 

38 }, 

39) 

40 

41EXP_SC_TOTAL_CASE0 = xr.DataArray( 

42 data=[[[np.nan, 0.3], [0.7, np.nan]], [[0.0, 0], [0, np.nan]]], 

43 dims=["i", "j", "k"], 

44 coords={ 

45 "i": [1, 2], 

46 "j": [10000, 100001], 

47 "k": [10, 11], 

48 }, 

49) 

50EXP_SC_UNDER_CASE0 = xr.DataArray( 

51 data=[[[np.nan, 0], [0.7, np.nan]], [[0.0, 0], [0, np.nan]]], 

52 dims=["i", "j", "k"], 

53 coords={ 

54 "i": [1, 2], 

55 "j": [10000, 100001], 

56 "k": [10, 11], 

57 }, 

58) 

59EXP_SC_OVER_CASE0 = xr.DataArray( 

60 data=[[[np.nan, 0.3], [0, np.nan]], [[0.0, 0], [0, np.nan]]], 

61 dims=["i", "j", "k"], 

62 coords={ 

63 "i": [1, 2], 

64 "j": [10000, 100001], 

65 "k": [10, 11], 

66 }, 

67) 

68EXP_SC_CASE0 = xr.Dataset( 

69 { 

70 "firm_score": EXP_SC_TOTAL_CASE0, 

71 "underforecast_penalty": EXP_SC_UNDER_CASE0, 

72 "overforecast_penalty": EXP_SC_OVER_CASE0, 

73 } 

74) 

75 

76EXP_SC_TOTAL_CASE1 = xr.DataArray( 

77 data=[[[np.nan, 0], [0, np.nan]], [[0.0, 0], [0, np.nan]]], 

78 dims=["i", "j", "k"], 

79 coords={ 

80 "i": [1, 2], 

81 "j": [10000, 100001], 

82 "k": [10, 11], 

83 }, 

84) 

85 

86EXP_SC_CASE1 = xr.Dataset( 

87 { 

88 "firm_score": EXP_SC_TOTAL_CASE1, 

89 "underforecast_penalty": EXP_SC_TOTAL_CASE1, 

90 "overforecast_penalty": EXP_SC_TOTAL_CASE1, 

91 } 

92) 

93 

94EXP_SC_TOTAL_CASE2 = xr.DataArray( 

95 data=[[[np.nan, 1.2], [3.5, np.nan]], [[0.0, 0], [0, np.nan]]], 

96 dims=["i", "j", "k"], 

97 coords={ 

98 "i": [1, 2], 

99 "j": [10000, 100001], 

100 "k": [10, 11], 

101 }, 

102) 

103EXP_SC_UNDER_CASE2 = xr.DataArray( 

104 data=[[[np.nan, 0], [3.5, np.nan]], [[0.0, 0], [0, np.nan]]], 

105 dims=["i", "j", "k"], 

106 coords={ 

107 "i": [1, 2], 

108 "j": [10000, 100001], 

109 "k": [10, 11], 

110 }, 

111) 

112EXP_SC_OVER_CASE2 = xr.DataArray( 

113 data=[[[np.nan, 1.2], [0, np.nan]], [[0.0, 0], [0, np.nan]]], 

114 dims=["i", "j", "k"], 

115 coords={ 

116 "i": [1, 2], 

117 "j": [10000, 100001], 

118 "k": [10, 11], 

119 }, 

120) 

121EXP_SC_CASE2 = xr.Dataset( 

122 { 

123 "firm_score": EXP_SC_TOTAL_CASE2, 

124 "underforecast_penalty": EXP_SC_UNDER_CASE2, 

125 "overforecast_penalty": EXP_SC_OVER_CASE2, 

126 } 

127) 

128 

129EXP_SC_TOTAL_CASE3 = xr.DataArray( 

130 data=[[[np.nan, 0.15], [0.35, np.nan]], [[0.0, 0], [0, np.nan]]], 

131 dims=["i", "j", "k"], 

132 coords={ 

133 "i": [1, 2], 

134 "j": [10000, 100001], 

135 "k": [10, 11], 

136 }, 

137) 

138EXP_SC_UNDER_CASE3 = xr.DataArray( 

139 data=[[[np.nan, 0], [0.35, np.nan]], [[0.0, 0], [0, np.nan]]], 

140 dims=["i", "j", "k"], 

141 coords={ 

142 "i": [1, 2], 

143 "j": [10000, 100001], 

144 "k": [10, 11], 

145 }, 

146) 

147EXP_SC_OVER_CASE3 = xr.DataArray( 

148 data=[[[np.nan, 0.15], [0, np.nan]], [[0.0, 0], [0, np.nan]]], 

149 dims=["i", "j", "k"], 

150 coords={ 

151 "i": [1, 2], 

152 "j": [10000, 100001], 

153 "k": [10, 11], 

154 }, 

155) 

156EXP_SC_CASE3 = xr.Dataset( 

157 { 

158 "firm_score": EXP_SC_TOTAL_CASE3, 

159 "underforecast_penalty": EXP_SC_UNDER_CASE3, 

160 "overforecast_penalty": EXP_SC_OVER_CASE3, 

161 } 

162) 

163 

164 

165EXP_SC_TOTAL_CASE4 = xr.DataArray( 

166 data=[0.3, 0.3, 0.7, 0.7, 0, 0], 

167 dims=["i"], 

168 coords={ 

169 "i": [1, 2, 3, 4, 5, 6], 

170 }, 

171) 

172EXP_SC_UNDER_CASE4 = xr.DataArray( 

173 data=[0, 0, 0.7, 0.7, 0, 0], 

174 dims=["i"], 

175 coords={ 

176 "i": [1, 2, 3, 4, 5, 6], 

177 }, 

178) 

179EXP_SC_OVER_CASE4 = xr.DataArray( 

180 data=[0.3, 0.3, 0, 0, 0, 0], 

181 dims=["i"], 

182 coords={ 

183 "i": [1, 2, 3, 4, 5, 6], 

184 }, 

185) 

186 

187EXP_SC_CASE4 = xr.Dataset( 

188 { 

189 "firm_score": EXP_SC_TOTAL_CASE4, 

190 "underforecast_penalty": EXP_SC_UNDER_CASE4, 

191 "overforecast_penalty": EXP_SC_OVER_CASE4, 

192 } 

193) 

194 

195EXP_SC_TOTAL_CASE5 = xr.DataArray( 

196 data=[0.3, 0, 0.7, 0.0, 0.3, 0.7], 

197 dims=["i"], 

198 coords={ 

199 "i": [1, 2, 3, 4, 5, 6], 

200 }, 

201) 

202EXP_SC_UNDER_CASE5 = xr.DataArray( 

203 data=[0, 0, 0.7, 0, 0, 0.7], 

204 dims=["i"], 

205 coords={ 

206 "i": [1, 2, 3, 4, 5, 6], 

207 }, 

208) 

209EXP_SC_OVER_CASE5 = xr.DataArray( 

210 data=[0.3, 0.0, 0, 0, 0.3, 0], 

211 dims=["i"], 

212 coords={ 

213 "i": [1, 2, 3, 4, 5, 6], 

214 }, 

215) 

216 

217EXP_SC_CASE5 = xr.Dataset( 

218 { 

219 "firm_score": EXP_SC_TOTAL_CASE5, 

220 "underforecast_penalty": EXP_SC_UNDER_CASE5, 

221 "overforecast_penalty": EXP_SC_OVER_CASE5, 

222 } 

223) 

224 

225DA_FCST_FIRM = xr.DataArray( 

226 data=[ 

227 [[np.nan, 7, 4], [-100, 0, 1], [0, -100, 1]], 

228 [[0, 1, 5], [10, 16, 1], [-10, -16, 1]], 

229 ], 

230 dims=["i", "j", "k"], 

231 coords={ 

232 "i": [1, 2], 

233 "j": [10000, 100001, 900000], 

234 "k": [10, 11, 12], 

235 }, 

236) 

237DA_OBS_FIRM = xr.DataArray( 

238 data=[[0, 1], [10, np.nan], [0, 10]], 

239 dims=["j", "k"], 

240 coords={ 

241 "j": [10000, 100001, 900000], 

242 "k": [10, 11], 

243 }, 

244) 

245 

246LIST_WEIGHTS_FIRM0 = [ 

247 xr.DataArray( 

248 data=[2, 2, 2], 

249 dims=["j"], 

250 coords={ 

251 "j": [10000, 100001, 900000], 

252 }, 

253 ), 

254 xr.DataArray( 

255 data=[1, 1, 1], 

256 dims=["j"], 

257 coords={ 

258 "j": [10000, 100001, 900000], 

259 }, 

260 ), 

261] 

262LIST_WEIGHTS_FIRM1 = [ 

263 xr.DataArray( 

264 data=[200, 20, 0.2], 

265 dims=["j"], 

266 coords={ 

267 "j": [10000, 100001, 900000], 

268 }, 

269 ), 

270 xr.DataArray( 

271 data=[1000, 10, 0.1], 

272 dims=["j"], 

273 coords={ 

274 "j": [10000, 100001, 900000], 

275 }, 

276 ), 

277] 

278LIST_WEIGHTS_FIRM2 = [ 

279 xr.DataArray( 

280 data=[200, 20, 0.2], 

281 dims=["j"], 

282 coords={ 

283 "j": [10000, 100001, 900000], 

284 }, 

285 ), 

286 xr.DataArray( 

287 data=[1000, 10, np.nan], 

288 dims=["j"], 

289 coords={ 

290 "j": [10000, 100001, 900000], 

291 }, 

292 ), 

293] 

294 

295LIST_WEIGHTS_FIRM3 = [ 

296 xr.DataArray( 

297 data=[20, np.nan, -200], # negative weight 

298 dims=["j"], 

299 coords={ 

300 "j": [10000, 100001, 900000], 

301 }, 

302 ), 

303 xr.DataArray( 

304 data=[10, 1, 100], 

305 dims=["j"], 

306 coords={ 

307 "j": [10000, 100001, 900000], 

308 }, 

309 ), 

310] 

311LIST_WEIGHTS_FIRM4 = [ 

312 xr.DataArray( 

313 data=[20, np.nan, 0.0], # zero weight 

314 dims=["j"], 

315 coords={ 

316 "j": [10000, 100001, 900000], 

317 }, 

318 ), 

319 xr.DataArray( 

320 data=[10, 1, 100], 

321 dims=["j"], 

322 coords={ 

323 "j": [10000, 100001, 900000], 

324 }, 

325 ), 

326] 

327LIST_WEIGHTS_FIRM5 = [ 

328 xr.DataArray( 

329 data=[[0, 1], [10, np.nan], [0, 10]], 

330 dims=["j", "z"], 

331 coords={ 

332 "j": [10000, 100001, 900000], 

333 "z": [10, 11], 

334 }, 

335 ), 

336 xr.DataArray( 

337 data=[[0, 1], [10, np.nan], [0, 10]], 

338 dims=["j", "k"], 

339 coords={ 

340 "j": [10000, 100001, 900000], 

341 "k": [10, 11], 

342 }, 

343 ), 

344] 

345EXP_FIRM_TOTAL_CASE0 = xr.DataArray( 

346 data=[ 

347 [[np.nan, 0.3], [0.7, np.nan], [0.0, 0.7]], 

348 [[0.0, 0], [0, np.nan], [0.0, 0.7]], 

349 ], 

350 dims=["i", "j", "k"], 

351 coords={ 

352 "i": [1, 2], 

353 "j": [10000, 100001, 900000], 

354 "k": [10, 11], 

355 }, 

356) 

357EXP_FIRM_UNDER_CASE0 = xr.DataArray( 

358 data=[ 

359 [[np.nan, 0.0], [0.7, np.nan], [0.0, 0.7]], 

360 [[0.0, 0], [0, np.nan], [0.0, 0.7]], 

361 ], 

362 dims=["i", "j", "k"], 

363 coords={ 

364 "i": [1, 2], 

365 "j": [10000, 100001, 900000], 

366 "k": [10, 11], 

367 }, 

368) 

369EXP_FIRM_OVER_CASE0 = xr.DataArray( 

370 data=[ 

371 [[np.nan, 0.3], [0.0, np.nan], [0.0, 0.0]], 

372 [[0.0, 0], [0, np.nan], [0.0, 0.0]], 

373 ], 

374 dims=["i", "j", "k"], 

375 coords={ 

376 "i": [1, 2], 

377 "j": [10000, 100001, 900000], 

378 "k": [10, 11], 

379 }, 

380) 

381EXP_FIRM_CASE0 = xr.Dataset( 

382 { 

383 "firm_score": EXP_FIRM_TOTAL_CASE0, 

384 "underforecast_penalty": EXP_FIRM_UNDER_CASE0, 

385 "overforecast_penalty": EXP_FIRM_OVER_CASE0, 

386 } 

387) 

388 

389EXP_FIRM_TOTAL_CASE1 = xr.DataArray( 

390 data=[0.425, 0.14], 

391 dims=["i"], 

392 coords={"i": [1, 2]}, 

393) 

394EXP_FIRM_UNDER_CASE1 = xr.DataArray( 

395 data=[0.35, 0.14], 

396 dims=["i"], 

397 coords={"i": [1, 2]}, 

398) 

399EXP_FIRM_OVER_CASE1 = xr.DataArray( 

400 data=[0.075, 0.0], 

401 dims=["i"], 

402 coords={"i": [1, 2]}, 

403) 

404EXP_FIRM_CASE1 = xr.Dataset( 

405 { 

406 "firm_score": EXP_FIRM_TOTAL_CASE1, 

407 "underforecast_penalty": EXP_FIRM_UNDER_CASE1, 

408 "overforecast_penalty": EXP_FIRM_OVER_CASE1, 

409 } 

410) 

411 

412EXP_FIRM_TOTAL_CASE2 = xr.DataArray(data=0.2666666666666) 

413EXP_FIRM_OVER_CASE2 = xr.DataArray(data=0.3 / 9) 

414EXP_FIRM_UNDER_CASE2 = xr.DataArray(data=2.1 / 9) 

415EXP_FIRM_CASE2 = xr.Dataset( 

416 { 

417 "firm_score": EXP_FIRM_TOTAL_CASE2, 

418 "underforecast_penalty": EXP_FIRM_UNDER_CASE2, 

419 "overforecast_penalty": EXP_FIRM_OVER_CASE2, 

420 } 

421) 

422 

423EXP_FIRM_TOTAL_CASE3 = xr.DataArray( 

424 data=[ 

425 [[np.nan, 0.3], [1.4, np.nan], [0.0, 1.4]], 

426 [[0.0, 0], [0, np.nan], [0.0, 1.4]], 

427 ], 

428 dims=["i", "j", "k"], 

429 coords={ 

430 "i": [1, 2], 

431 "j": [10000, 100001, 900000], 

432 "k": [10, 11], 

433 }, 

434) 

435EXP_FIRM_UNDER_CASE3 = xr.DataArray( 

436 data=[ 

437 [[np.nan, 0.0], [1.4, np.nan], [0.0, 1.4]], 

438 [[0.0, 0], [0, np.nan], [0.0, 1.4]], 

439 ], 

440 dims=["i", "j", "k"], 

441 coords={ 

442 "i": [1, 2], 

443 "j": [10000, 100001, 900000], 

444 "k": [10, 11], 

445 }, 

446) 

447EXP_FIRM_OVER_CASE3 = xr.DataArray( 

448 data=[ 

449 [[np.nan, 0.3], [0.0, np.nan], [0.0, 0.0]], 

450 [[0.0, 0], [0, np.nan], [0.0, 0.0]], 

451 ], 

452 dims=["i", "j", "k"], 

453 coords={ 

454 "i": [1, 2], 

455 "j": [10000, 100001, 900000], 

456 "k": [10, 11], 

457 }, 

458) 

459EXP_FIRM_CASE3 = xr.Dataset( 

460 { 

461 "firm_score": EXP_FIRM_TOTAL_CASE3, 

462 "underforecast_penalty": EXP_FIRM_UNDER_CASE3, 

463 "overforecast_penalty": EXP_FIRM_OVER_CASE3, 

464 } 

465) 

466 

467EXP_FIRM_TOTAL_CASE4 = xr.DataArray( 

468 data=[ 

469 [[np.nan, 0.3], [2.1, np.nan], [0.0, 2.1]], 

470 [[0.0, 0], [0, np.nan], [0.0, 2.1]], 

471 ], 

472 dims=["i", "j", "k"], 

473 coords={ 

474 "i": [1, 2], 

475 "j": [10000, 100001, 900000], 

476 "k": [10, 11], 

477 }, 

478) 

479EXP_FIRM_UNDER_CASE4 = xr.DataArray( 

480 data=[ 

481 [[np.nan, 0.0], [2.1, np.nan], [0.0, 2.1]], 

482 [[0.0, 0], [0, np.nan], [0.0, 2.1]], 

483 ], 

484 dims=["i", "j", "k"], 

485 coords={ 

486 "i": [1, 2], 

487 "j": [10000, 100001, 900000], 

488 "k": [10, 11], 

489 }, 

490) 

491EXP_FIRM_OVER_CASE4 = xr.DataArray( 

492 data=[ 

493 [[np.nan, 0.3], [0.0, np.nan], [0.0, 0.0]], 

494 [[0.0, 0], [0, np.nan], [0.0, 0.0]], 

495 ], 

496 dims=["i", "j", "k"], 

497 coords={ 

498 "i": [1, 2], 

499 "j": [10000, 100001, 900000], 

500 "k": [10, 11], 

501 }, 

502) 

503EXP_FIRM_CASE4 = xr.Dataset( 

504 { 

505 "firm_score": EXP_FIRM_TOTAL_CASE4, 

506 "underforecast_penalty": EXP_FIRM_UNDER_CASE4, 

507 "overforecast_penalty": EXP_FIRM_OVER_CASE4, 

508 } 

509) 

510 

511EXP_FIRM_TOTAL_CASE5 = xr.DataArray( 

512 data=[ 

513 [[np.nan, 300], [21, np.nan], [0.0, 0.21]], 

514 [[0.0, 0], [0, np.nan], [0.0, 0.21]], 

515 ], 

516 dims=["i", "j", "k"], 

517 coords={ 

518 "i": [1, 2], 

519 "j": [10000, 100001, 900000], 

520 "k": [10, 11], 

521 }, 

522) 

523EXP_FIRM_UNDER_CASE5 = xr.DataArray( 

524 data=[ 

525 [[np.nan, 0.0], [21, np.nan], [0.0, 0.21]], 

526 [[0.0, 0], [0, np.nan], [0.0, 0.21]], 

527 ], 

528 dims=["i", "j", "k"], 

529 coords={ 

530 "i": [1, 2], 

531 "j": [10000, 100001, 900000], 

532 "k": [10, 11], 

533 }, 

534) 

535EXP_FIRM_OVER_CASE5 = xr.DataArray( 

536 data=[ 

537 [[np.nan, 300], [0.0, np.nan], [0.0, 0.0]], 

538 [[0.0, 0], [0, np.nan], [0.0, 0.0]], 

539 ], 

540 dims=["i", "j", "k"], 

541 coords={ 

542 "i": [1, 2], 

543 "j": [10000, 100001, 900000], 

544 "k": [10, 11], 

545 }, 

546) 

547EXP_FIRM_CASE5 = xr.Dataset( 

548 { 

549 "firm_score": EXP_FIRM_TOTAL_CASE5, 

550 "underforecast_penalty": EXP_FIRM_UNDER_CASE5, 

551 "overforecast_penalty": EXP_FIRM_OVER_CASE5, 

552 } 

553) 

554 

555EXP_FIRM_TOTAL_CASE6 = xr.DataArray( 

556 data=[ 

557 [[np.nan, 300], [21, np.nan], [np.nan, np.nan]], 

558 [[0.0, 0], [0, np.nan], [np.nan, np.nan]], 

559 ], 

560 dims=["i", "j", "k"], 

561 coords={ 

562 "i": [1, 2], 

563 "j": [10000, 100001, 900000], 

564 "k": [10, 11], 

565 }, 

566) 

567EXP_FIRM_UNDER_CASE6 = xr.DataArray( 

568 data=[ 

569 [[np.nan, 0.0], [21, np.nan], [np.nan, np.nan]], 

570 [[0.0, 0], [0, np.nan], [np.nan, np.nan]], 

571 ], 

572 dims=["i", "j", "k"], 

573 coords={ 

574 "i": [1, 2], 

575 "j": [10000, 100001, 900000], 

576 "k": [10, 11], 

577 }, 

578) 

579EXP_FIRM_OVER_CASE6 = xr.DataArray( 

580 data=[ 

581 [[np.nan, 300], [0.0, np.nan], [np.nan, np.nan]], 

582 [[0.0, 0], [0, np.nan], [np.nan, np.nan]], 

583 ], 

584 dims=["i", "j", "k"], 

585 coords={ 

586 "i": [1, 2], 

587 "j": [10000, 100001, 900000], 

588 "k": [10, 11], 

589 }, 

590) 

591EXP_FIRM_CASE6 = xr.Dataset( 

592 { 

593 "firm_score": EXP_FIRM_TOTAL_CASE6, 

594 "underforecast_penalty": EXP_FIRM_UNDER_CASE6, 

595 "overforecast_penalty": EXP_FIRM_OVER_CASE6, 

596 } 

597)