Open
Conversation
…e modules, used poetry - Updated parameter formatting in expParams and dataParams classes for better alignment and clarity. - Enhanced comments and documentation for various parameters in expParams, dataParams, and other classes. - Cleaned up unnecessary whitespace and improved code formatting in savar_dataset.py, plot_model_output.py, generate_savar_datasets.py, and graph_evaluation.py. - Modified load_and_permute_all_matrices function to accept explicit parameters instead of a list of CSV files, improving clarity on input requirements. - Adjusted the main execution block in varimax_pcmci_savar_evaluation.py to streamline loading and processing of inferred modes and adjacency matrices. - Ensured consistent use of spacing and line breaks throughout the codebase for better readability.
feat: add seasonality parameters to savarParams and SavarDataset, update data generation to support seasonal effects
…otting - Added plot_savar_forcing_map, refactored plot_adjcanecy_matrix for savar, added plot_compare_predicitions for savar - Removed unused imports and commented-out code in generate_savar_datasets.py. - Simplified data generation logic by ensuring forcing_dict is always passed. - Enhanced SAVAR class in savar.py to include seasonal forcing interactions. - Added methods to create CO2 and aerosol forcing fields with diagnostics. - Implemented a new script analyze_savar_run.py for diagnosing latent transition behavior in SAVAR runs. - Improved logging and error handling throughout the codebase.
- Implemented causal forcing application in SAVAR (CO2/aerosol to climate modes) - Added distinct temporal dynamics per aerosol latent with staggered timing - Created SavarPlotter class for comprehensive forcing/latent visualization - Added plot_forcing_diagnostic and plot_aerosol_latent_trajectories methods - Implemented plot_decoder_connectivity_heatmap for latent usage analysis - Added plot_adjacency_with_forcing_labels for labeled graph visualization - Added evaluate_adjacency_by_link_type to assess climate/forcing link recovery - Created diagnostic script to analyze forcing encoder health - Stored separate CO2/aerosol forcing fields for dual exogenous conditioning - Added forcing latent trajectory ground truth outputs to SAVAR generation - Updated SAVAR dataset saving to use subfolder structure with separate files - Extended config parameters for aerosol temporal control (ramp_up/peak/decline times)
… for SAVAR Introduce a new forcing architecture where CO2 and aerosol forcings get dedicated latent dimensions with their own encoder/decoder weights (w_co2, w_aerosol), separate from the main observation autoencoder. This enables the use_forced_latents=True, use_exogenous=False configuration path. Key changes: - Separate MLP conditioning dims (d_y_co2) from forcing encoder/decoder spatial dims (d_y_co2_spatial) in LinearAutoEncoder and NonLinearAutoEncoderUniqueMLP_noloop, fixing the bug where forcing encoders got size-0 inputs when use_exogenous=False - Add forcing reconstruction + supervision losses in training loop (ALM) - Extend SAVAR data generation with causal forcing structure (CO2/aerosol latent trajectories, spatial templates, graph evaluation) - Add use_separate_forcings flag to SAVAR dataset for loading CO2/aerosol as distinct forcing fields - Extend plotting with spatial aggregation, forcing trajectory, and decoder weight visualizations - Add PCMCI + Varimax baseline evaluation for SAVAR - Remove dead code: _add_external_forcing, _apply_causal_forcing, _consume_radiative_forcing, _plot_mean_forcing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merge merge-conflict fixes and forced latent updates from ilijadev