@@ -1892,10 +1892,19 @@ def run(self,
18921892 # Forward simulation, start time has been set when seeding
18931893 self .time = self .start_time
18941894
1895- # Add the output variables which are always required
1895+ # Find variables and element properties for which previous value shall be stored
1896+ environment_previous = [vn for vn , v in self .required_variables .items ()
1897+ if v .get ('store_previous' , False ) is True ]
1898+ elements_previous = [vn for vn , v in self .elements .variables .items ()
1899+ if v .get ('store_previous' , False ) is True ]
1900+
1901+ # Add the output variables which are always required,
1902+ # as well as variables for which previous value is stored
18961903 if export_variables is not None :
18971904 export_variables = list (
1898- set (export_variables + ['lon' , 'lat' , 'status' ]))
1905+ set (export_variables + ['lon' , 'lat' , 'status' ] +
1906+ environment_previous + elements_previous ))
1907+
18991908 self .export_variables = export_variables
19001909
19011910 # Create Xarray Dataset to hold result
@@ -1977,11 +1986,6 @@ def run(self,
19771986
19781987
19791988 # Make Xarray datasets to store environment variables and element properties from previous time step
1980- environment_previous = [vn for vn , v in self .required_variables .items ()
1981- if v .get ('store_previous' , False ) is True ]
1982- elements_previous = [vn for vn , v in self .elements .variables .items ()
1983- if v .get ('store_previous' , False ) is True ]
1984-
19851989 if len (environment_previous ) > 0 :
19861990 self ._environment_previous = self .result [[* environment_previous ]].isel (time = 0 , drop = True ).copy (deep = True )
19871991 if len (elements_previous ) > 0 :
0 commit comments