Skip to content

Conversation

@tvonich
Copy link
Owner

@tvonich tvonich commented Jan 17, 2024

Provides optionality for a left-justified evaluation and training with kwarg justify = 'left' or 'right'. Changes are from lines 281 - 322, line 361, and line 381.

justify = 'left' is now the default and I believe that makes sense based on normal user expectation of left to right progression of time when doing a forecast and selecting data.

To explain what is different now, I'll use the following example.

We load dataset_source-era5_date-2022-01-01_res-1.0_levels-13_steps-12.nc in the Jupyter Notebook.

There are 14 time periods along the data dimension for this netcdf: 2 initial states + 12 steps

Let's visualize them as: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14

We set Eval Steps and Train Steps to 4 on the accompanying slider and extract the data with extract_input_target_forcings.

With the previous extract_input_target_forcings function, the inputs would've been 9, 10 and the targets would've been 11, 12, 13, 14 for the designated Eval and Train Steps. This is a bit misleading because if I want to do a 24-hour forecast starting at 0Z 01-01-2022, expect my forecast to be for 0Z 01-02-2022. In the right justified method, the forecast always ends on the last time item within the example_data.

With the new left-justified default, the inputs are always the 1 and 2, with the targets following immediately after. So in the above example, that would be 1, 2 for inputs and 3, 4, 5, 6 for targets.

Provides optionality for a left-justified evaluation and training with kwarg justify = 'left' or 'right'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants