|
4 | 4 | from numba.types import List |
5 | 5 |
|
6 | 6 | # the following imports added to handle special actions |
7 | | -from hsp2.hsp2.state import sedtrn_get_ix, sedtrn_init_ix, get_domain_state, set_domain_state |
| 7 | +from hsp2.hsp2.state import ( |
| 8 | + sedtrn_get_ix, |
| 9 | + sedtrn_init_ix, |
| 10 | + get_domain_state, |
| 11 | + set_domain_state, |
| 12 | +) |
8 | 13 | from hsp2.hsp2.om import pre_step_model, step_model, model_domain_dependencies |
9 | 14 | from numba.typed import Dict |
10 | 15 |
|
| 16 | + |
11 | 17 | @njit |
12 | | -def step_sedtrn(domain, state_paths, state_ix, dict_ix, ts_ix, op_tokens, model_exec_list, step, ep_list): |
| 18 | +def step_sedtrn( |
| 19 | + domain, |
| 20 | + state_paths, |
| 21 | + state_ix, |
| 22 | + dict_ix, |
| 23 | + ts_ix, |
| 24 | + op_tokens, |
| 25 | + model_exec_list, |
| 26 | + step, |
| 27 | + ep_list, |
| 28 | +): |
13 | 29 | # model_exec_list: a list of elements (specl etc.) that influence these SEDTRN end points |
14 | 30 | # ep_list = np.asarray(["RSED1", "RSED2", "RSED3", "RSED4", "RSED5", "RSED6"], dtype='U') |
15 | 31 | # NOTE: this could be cached in dict_ix |
16 | 32 | # call related specl/ops pre-steps, such as loading timeseries values |
17 | 33 | pre_step_model(model_exec_list, op_tokens, state_ix, dict_ix, ts_ix, step) |
18 | 34 | # call related specl/ops steps |
19 | | - step_model( model_exec_list, op_tokens, state_ix, dict_ix, ts_ix, step) |
| 35 | + step_model(model_exec_list, op_tokens, state_ix, dict_ix, ts_ix, step) |
20 | 36 | # get state value at beginning of timestep - python experts will no doubt have a more code efficient method than this |
21 | | - sand_rsed1, silt_rsed2, clay_rsed3, sand_wt_rsed4, silt_wt_rsed5, clay_wt_rsed6 = get_domain_state(state_paths, state_ix, domain, ep_list) |
22 | | - |
| 37 | + sand_rsed1, silt_rsed2, clay_rsed3, sand_wt_rsed4, silt_wt_rsed5, clay_wt_rsed6 = ( |
| 38 | + get_domain_state(state_paths, state_ix, domain, ep_list) |
| 39 | + ) |
| 40 | + |
23 | 41 | # now, do sedtrn (simplified for demo purposes) |
24 | 42 | tsed1 = sand_rsed1 + silt_rsed2 + clay_rsed3 |
25 | 43 | tsed2 = sand_wt_rsed4 + silt_wt_rsed5 + clay_wt_rsed6 |
26 | | - sand_t_rsed7 = sand_rsed1 + sand_wt_rsed4 |
| 44 | + sand_t_rsed7 = sand_rsed1 + sand_wt_rsed4 |
27 | 45 | silt_t_rsed8 = silt_rsed2 + silt_wt_rsed5 |
28 | 46 | clay_t_rsed9 = clay_rsed3 + clay_wt_rsed6 |
29 | 47 | tsed3 = sand_t_rsed7 + silt_t_rsed8 + clay_t_rsed9 |
30 | | - |
| 48 | + |
31 | 49 | # pass values back to state |
32 | | - state_vals = [sand_rsed1, silt_rsed2, clay_rsed3, sand_wt_rsed4, silt_wt_rsed5, clay_wt_rsed6] |
| 50 | + state_vals = [ |
| 51 | + sand_rsed1, |
| 52 | + silt_rsed2, |
| 53 | + clay_rsed3, |
| 54 | + sand_wt_rsed4, |
| 55 | + silt_wt_rsed5, |
| 56 | + clay_wt_rsed6, |
| 57 | + ] |
33 | 58 | set_domain_state(state_paths, state_ix, domain, ep_list, state_vals) |
34 | 59 | return |
0 commit comments