22import os
33import os .path
44import sys
5+ from typing import Any
56
67import docopt
78import lue .framework as lfr
89import numpy as np
910from osgeo import gdal
1011
12+ from source .derivatives_discretization import second_derivatives_in_y
13+ from source .heat_transfer import compute_temperature_1D_in_y
1114from source .io_data_process import (
1215 convert_numpy_to_lue ,
1316 create_zero_numpy_array ,
1417 default_boundary_type ,
1518 read_run_setup ,
1619)
1720from source .layer import Layer
21+ from source .momentum import momentum_ux
1822from source .vof import h_mesh_assign
1923
20- from source .derivatives_discretization import second_derivatives_in_y
21- from source .heat_transfer import compute_temperature_1D_in_y
2224# from source.boundary_condition import boundary_set
2325
24- from source .momentum import momentum_ux
25-
2626
2727# from input_output import write
2828
2929
30- @lfr .runtime_scope
30+ @lfr .runtime_scope # type: ignore[misc]
3131def solifluction_simulate (
32- dx ,
33- dz ,
34- num_cols ,
35- num_rows ,
36- num_layers ,
37- initial_layer_variables ,
38- h_total_initial ,
39- dt_momentum ,
40- dt_heat_transfer ,
41- time_end_simulation ,
42- heat_transfer_warmup ,
43- heat_transfer_warmup_iteration ,
44- T_bed ,
45- T_surface ,
46- d2u_x_dy2_initial ,
47- dt ,
48- h_mesh_step_value ,
49- nu_x ,
50- nu_z ,
51- partition_shape ,
52- results_pathname ,
53- ):
54-
55- array_shape = (num_rows , num_cols )
56- zero_lue = lfr .create_array (
32+ dx : float ,
33+ dz : float ,
34+ num_cols : int ,
35+ num_rows : int ,
36+ num_layers : int ,
37+ initial_layer_variables : Layer ,
38+ h_total_initial : Any ,
39+ dt_momentum : float ,
40+ dt_heat_transfer : float ,
41+ time_end_simulation : float ,
42+ heat_transfer_warmup : bool ,
43+ heat_transfer_warmup_iteration : int ,
44+ T_bed : Any ,
45+ T_surface : Any ,
46+ d2u_x_dy2_initial : Any ,
47+ h_mesh_step_value : float ,
48+ nu_x : float ,
49+ nu_z : float ,
50+ partition_shape : tuple [int , int ],
51+ results_pathname : str ,
52+ ) -> None :
53+
54+ array_shape : tuple [int , int ] = (num_rows , num_cols )
55+ zero_lue : Any = lfr .create_array (
5756 array_shape ,
5857 dtype = np .float64 ,
5958 fill_value = 0.0 ,
6059 partition_shape = partition_shape ,
6160 )
6261
63- layer_list = []
62+ layer_list : list [ Layer ] = []
6463
6564 # Assign bed layer properties
6665 layer_list .append (initial_layer_variables )
@@ -133,7 +132,7 @@ def solifluction_simulate(
133132 layer_list [layer_id ].T ,
134133 layer_list [layer_id + 1 ].T ,
135134 layer_list [layer_id - 1 ].T ,
136- dt ,
135+ dt_heat_transfer ,
137136 layer_list [layer_id ].h_mesh ,
138137 layer_list [layer_id - 1 ].h_mesh ,
139138 compute_flag ,
@@ -147,7 +146,6 @@ def solifluction_simulate(
147146
148147 d2u_x_dy2 = d2u_x_dy2_initial
149148
150-
151149 dt_mass_conservation : float = dt_momentum
152150
153151 dt_min = min (dt_momentum , dt_heat_transfer )
@@ -160,9 +158,10 @@ def solifluction_simulate(
160158
161159 for layer_id in range (1 , num_layers ):
162160
163- rhs = g_sin + ((layer_list [layer_id ].mu_soil /
164- layer_list [layer_id ].density_soil )
165- * d2u_x_dy2 [layer_id ])
161+ rhs = g_sin + (
162+ (layer_list [layer_id ].mu_soil / layer_list [layer_id ].density_soil )
163+ * d2u_x_dy2 [layer_id ]
164+ )
166165
167166 layer_list [layer_id ].u_x = momentum_ux (
168167 layer_list [layer_id ].u_x ,
@@ -290,7 +289,7 @@ def main():
290289 dt_momentum : float = input_variables ["time_step_momentum" ]
291290 dt_heat_transfer : float = input_variables ["time_step_heat_transfer" ]
292291 dt_mass_conservation : float = input_variables ["time_step_mass_conservation" ]
293- partition_shape : int = input_variables ["partition_shape " ]
292+ partition_shape_size : int = input_variables ["partition_shape_size " ]
294293 h_mesh_step_value : float = input_variables ["initial_layer_size" ]
295294 mu_value : float = input_variables ["uniform_mu" ]
296295 density_value : float = input_variables ["uniform_density" ]
@@ -301,7 +300,7 @@ def main():
301300 dt_heat_transfer : float = input_variables ["dt_heat_transfer" ]
302301 time_end_simulation : float = input_variables ["time_end_simulation" ]
303302
304- heat_transfer_warmup : bool = input_variables .get ("heat_transfer_warmup" , True )
303+ heat_transfer_warmup : bool = input_variables .get ("heat_transfer_warmup" , False )
305304 heat_transfer_warmup_iteration : int = input_variables .get (
306305 "heat_transfer_warmup_iteration" , 200
307306 )
@@ -334,7 +333,7 @@ def main():
334333 num_rows ,
335334 num_cols ,
336335 )
337- partition_shape = 2 * (partition_shape ,)
336+ partition_shape : tuple [ int , int ] = 2 * (partition_shape_size ,)
338337
339338 bed_depth_elevation = 0 # it can be any value
340339
@@ -382,7 +381,7 @@ def main():
382381 )
383382
384383 T_bed = zero_array_lue
385- T_surface =
384+ # T_surface =
386385
387386 initial_u_x = zero_array_lue
388387 initial_u_z = zero_array_lue
0 commit comments