├── .dockerignore
├── .gitattributes
├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.yml
│ ├── config.yml
│ ├── documentation_request.yml
│ └── feature_request.yml
├── PULL_REQUEST_TEMPLATE.md
└── workflows
│ └── blossom-ci.yml
├── .gitignore
├── .gitlab
├── issue_templates
│ ├── bug.md
│ ├── documentation.md
│ ├── feature_request.md
│ └── security.md
└── merge_request_templates
│ └── Default.md
├── .gitmodules
├── .markdownlint.yaml
├── .pre-commit-config.yaml
├── CHANGELOG.md
├── CITATION.cff
├── CONTRIBUTING.md
├── Dockerfile
├── FAQ.md
├── LICENSE.txt
├── Makefile
├── README.md
├── SECURITY.md
├── docs
├── Makefile
├── _static
│ ├── css
│ │ └── nvidia_styles.css
│ └── js
│ │ └── pk_scripts.js
├── _templates
│ └── layout.html
├── api
│ ├── physicsnemo.datapipes.rst
│ ├── physicsnemo.deploy.rst
│ ├── physicsnemo.distributed.rst
│ ├── physicsnemo.distributed.shardtensor.rst
│ ├── physicsnemo.launch.logging.rst
│ ├── physicsnemo.launch.utils.rst
│ ├── physicsnemo.metrics.rst
│ ├── physicsnemo.models.rst
│ └── physicsnemo.utils.rst
├── conf.py
├── img
│ ├── FourCastNet.gif
│ ├── MHD_0_0.png
│ ├── Modulus-850x720.svg
│ ├── SWE_0.png
│ ├── ahmed_body_results.png
│ ├── bloodflow_1d_mgn_geometries.png
│ ├── bloodflow_1d_mgn_results.gif
│ ├── brain_wave.png
│ ├── corrdiff_cold_front.png
│ ├── corrdiff_illustration.png
│ ├── corrdiff_training_loss.png
│ ├── datacenter_design_cfd.gif
│ ├── datacenter_hybrid_training.png
│ ├── deforming_plate.gif
│ ├── diffusion_doc
│ │ ├── Media14.gif
│ │ ├── Media7.gif
│ │ ├── Picture2.png
│ │ ├── backward.png
│ │ ├── data_distribution.png
│ │ ├── density_scaling.gif
│ │ ├── diffusion_intuition.png
│ │ ├── diffusion_training.png
│ │ ├── discretization_error.png
│ │ ├── distorted_trajectory.gif
│ │ ├── edm_table.png
│ │ ├── edm_table_heun.png
│ │ ├── final_table.png
│ │ ├── forward_diffusion.gif
│ │ ├── gradual_denoising.gif
│ │ ├── heun_step.png
│ │ ├── loss_weighting.png
│ │ ├── multiple_gradual_denoising.gif
│ │ ├── noise_distribution.png
│ │ ├── noise_schedule_table.png
│ │ ├── ode_backward.gif
│ │ ├── ode_time_step.gif
│ │ ├── refine_steps.gif
│ │ ├── schedule.png
│ │ ├── sde.png
│ │ ├── single_shot.png
│ │ ├── skip_weight.png
│ │ ├── table_training.png
│ │ ├── time_step.png
│ │ ├── time_steps_formula.png
│ │ ├── variable_schedule.gif
│ │ └── variable_step_size.gif
│ ├── domain_parallelism
│ │ ├── inference_latency_vs_sequence_length_8_heads_256_dim.png
│ │ └── training_latency_vs_sequence_length_8_heads_256_dim_backward.png
│ ├── domino_result_rtwt.jpg
│ ├── drivaernet_results.png
│ ├── graphcast_architecture.png
│ ├── gray_scott_predictions_blog_2.gif
│ ├── hydrographnet.gif
│ ├── init_vel.png
│ ├── inverted_vel.png
│ ├── lagrangian_meshgraphnet_compressed.gif
│ ├── lagrangian_meshgraphnet_multi.png
│ ├── lj_system_physicsnemo_results.png
│ ├── modulus-pipes.jpg
│ ├── profiling
│ │ ├── FA-fp16.png
│ │ ├── FA-fp32.png
│ │ ├── endOfSync.png
│ │ ├── nsys-application-zoom.png
│ │ ├── nsys-overview.png
│ │ ├── nsys-triton-kernel.png
│ │ ├── softmax_bwd.png
│ │ ├── softmax_fwd.png
│ │ └── whole-application.png
│ ├── stokes.png
│ ├── stormcast_rollout.gif
│ ├── surrogate_prediction.png
│ ├── transolver.png
│ ├── value_prop
│ │ ├── Knowledge_guided_models.gif
│ │ ├── Knowledge_guided_models.png
│ │ ├── benchmarking.svg
│ │ ├── performance.svg
│ │ └── recipe.svg
│ ├── vfgn_doc
│ │ ├── 4-parts-final.png
│ │ ├── HP-MetalJet-process.png
│ │ ├── busbar.gif
│ │ ├── pushing-grip.gif
│ │ ├── screw.gif
│ │ └── usb.gif
│ ├── vortex_shedding.gif
│ ├── xaeronet_s_results.png
│ └── xaeronet_v_results.png
├── index.rst
├── test_runner.py
├── test_scripts
│ ├── domain_parallelism
│ │ ├── new_layers
│ │ │ ├── knn_brute_force_baseline.py
│ │ │ ├── knn_brute_force_ring_sharded.py
│ │ │ ├── knn_brute_force_sharded.py
│ │ │ ├── reshape_subtract.py
│ │ │ ├── vector_add_baseline.py
│ │ │ ├── vector_add_sharded.py
│ │ │ ├── vector_dot_baseline.py
│ │ │ └── vector_dot_sharded.py
│ │ └── sharded_conv_example.py
│ ├── profiling
│ │ ├── annotated_code
│ │ │ ├── attn.py
│ │ │ ├── dataset.py
│ │ │ └── workload.py
│ │ ├── cfg.yaml
│ │ ├── fixed_data_loader
│ │ │ ├── attn.py
│ │ │ ├── dataset.py
│ │ │ └── workload.py
│ │ ├── optimized_code_1
│ │ │ ├── attn.py
│ │ │ ├── dataset.py
│ │ │ └── workload.py
│ │ ├── optimized_code_2
│ │ │ ├── attn.py
│ │ │ ├── dataset.py
│ │ │ └── workload.py
│ │ ├── optimized_code_3
│ │ │ ├── attn.py
│ │ │ ├── dataset.py
│ │ │ └── workload.py
│ │ └── original_code
│ │ │ ├── attn.py
│ │ │ ├── dataset.py
│ │ │ └── workload.py
│ ├── test_basic.py
│ ├── test_basic_checkpointing.py
│ ├── test_basic_inference.py
│ ├── test_console_logger.py
│ ├── test_custom_model_demo_1.py
│ ├── test_mlflow_logger.py
│ ├── test_simple_distributed.py
│ └── test_wandb_logger.py
└── tutorials
│ ├── domain_parallelism
│ ├── domain_parallelism.rst
│ ├── fsdp_and_shard_tensor.rst
│ └── implementing_new_layers_in_shard_tensor.rst
│ ├── domain_parallelism_entry_point.rst
│ ├── performance.rst
│ ├── performance_docs
│ └── torch_compile_support.rst
│ ├── physics_addition.rst
│ ├── profiling.rst
│ ├── simple_logging_and_checkpointing.rst
│ └── simple_training_example.rst
├── examples
├── .markdownlint.yaml
├── README.md
├── additive_manufacturing
│ └── sintering_physics
│ │ ├── README.md
│ │ ├── conf
│ │ └── config.yaml
│ │ ├── data_process
│ │ ├── acceleration_profile.py
│ │ ├── conf
│ │ │ └── config.yaml
│ │ ├── deform_analyze.py
│ │ ├── out2pvtu.py
│ │ ├── rawdata2tfrecord_large_ts.py
│ │ └── utils.py
│ │ ├── graph_dataset.py
│ │ ├── inference.py
│ │ ├── reading_utils.py
│ │ ├── render_rollout.py
│ │ ├── requirements.txt
│ │ ├── train.py
│ │ └── utils.py
├── cfd
│ ├── darcy_fno
│ │ ├── README.md
│ │ ├── config.yaml
│ │ ├── requirements.txt
│ │ ├── train_fno_darcy.py
│ │ └── validator.py
│ ├── darcy_nested_fnos
│ │ ├── README.md
│ │ ├── config.yaml
│ │ ├── evaluate_nested_darcy.py
│ │ ├── generate_nested_darcy.py
│ │ ├── requirements.txt
│ │ ├── train_nested_darcy.py
│ │ └── utils.py
│ ├── darcy_physics_informed
│ │ ├── README.md
│ │ ├── conf
│ │ │ ├── config_deeponet.yaml
│ │ │ └── config_pino.yaml
│ │ ├── darcy_physics_informed_deeponet.py
│ │ ├── darcy_physics_informed_fno.py
│ │ ├── download_data.py
│ │ ├── requirements.txt
│ │ └── utils.py
│ ├── darcy_transolver
│ │ ├── README.md
│ │ ├── config.yaml
│ │ ├── config_fix.yaml
│ │ ├── darcy_datapipe_fix.py
│ │ ├── requirements.txt
│ │ ├── train_transolver_darcy.py
│ │ ├── train_transolver_darcy_fix.py
│ │ ├── utils
│ │ │ ├── __init__.py
│ │ │ └── testloss.py
│ │ ├── validator.py
│ │ └── validator_fix.py
│ ├── datacenter
│ │ ├── README.md
│ │ ├── conf
│ │ │ ├── config.yaml
│ │ │ ├── config_inference.yaml
│ │ │ └── config_physics_informed.yaml
│ │ ├── inference.py
│ │ ├── requirements.txt
│ │ ├── train.py
│ │ └── train_physics_informed.py
│ ├── external_aerodynamics
│ │ ├── aero_graph_net
│ │ │ ├── README.md
│ │ │ ├── conf
│ │ │ │ ├── config.yaml
│ │ │ │ ├── data
│ │ │ │ │ ├── ahmed.yaml
│ │ │ │ │ ├── bsms_ahmed.yaml
│ │ │ │ │ └── drivaernet.yaml
│ │ │ │ ├── experiment
│ │ │ │ │ ├── ahmed
│ │ │ │ │ │ ├── bsms_mgn.yaml
│ │ │ │ │ │ └── mgn.yaml
│ │ │ │ │ └── drivaernet
│ │ │ │ │ │ ├── agn.yaml
│ │ │ │ │ │ └── mgn.yaml
│ │ │ │ ├── logging
│ │ │ │ │ └── python
│ │ │ │ │ │ └── default.yaml
│ │ │ │ ├── loss
│ │ │ │ │ ├── mseloss.yaml
│ │ │ │ │ └── rrmseloss.yaml
│ │ │ │ ├── lr_scheduler
│ │ │ │ │ ├── exponentiallr.yaml
│ │ │ │ │ └── steplr.yaml
│ │ │ │ ├── model
│ │ │ │ │ ├── bsms_mgn.yaml
│ │ │ │ │ └── mgn.yaml
│ │ │ │ ├── optimizer
│ │ │ │ │ ├── adam.yaml
│ │ │ │ │ └── fusedadam.yaml
│ │ │ │ └── visualizer
│ │ │ │ │ └── mesh.yaml
│ │ │ ├── inference.py
│ │ │ ├── inference_analysis
│ │ │ │ └── ahmed_body.ipynb
│ │ │ ├── loggers.py
│ │ │ ├── models.py
│ │ │ ├── requirements.txt
│ │ │ ├── train.py
│ │ │ ├── utils.py
│ │ │ └── visualizers.py
│ │ ├── domino
│ │ │ ├── README.md
│ │ │ ├── download_aws_dataset.sh
│ │ │ ├── requirements.txt
│ │ │ └── src
│ │ │ │ ├── cache_data.py
│ │ │ │ ├── conf
│ │ │ │ ├── cached.yaml
│ │ │ │ └── config.yaml
│ │ │ │ ├── inference_on_stl.py
│ │ │ │ ├── openfoam_datapipe.py
│ │ │ │ ├── process_data.py
│ │ │ │ ├── retraining.py
│ │ │ │ ├── test.py
│ │ │ │ ├── train.py
│ │ │ │ ├── train_sharded.py
│ │ │ │ └── validate_cache.py
│ │ ├── figconvnet
│ │ │ ├── README.md
│ │ │ ├── configs
│ │ │ │ ├── base.yaml
│ │ │ │ ├── data
│ │ │ │ │ ├── drivaerml.yaml
│ │ │ │ │ └── drivaernet.yaml
│ │ │ │ ├── experiment
│ │ │ │ │ ├── drivaerml
│ │ │ │ │ │ └── figconv_unet.yaml
│ │ │ │ │ └── drivaernet
│ │ │ │ │ │ └── figconv_unet.yaml
│ │ │ │ ├── logging
│ │ │ │ │ └── python
│ │ │ │ │ │ └── default.yaml
│ │ │ │ ├── loss
│ │ │ │ │ ├── celoss.yaml
│ │ │ │ │ ├── huberloss.yaml
│ │ │ │ │ ├── lploss.yaml
│ │ │ │ │ ├── mseloss.yaml
│ │ │ │ │ └── truncatedmseloss.yaml
│ │ │ │ ├── lr_scheduler
│ │ │ │ │ ├── cosineannealinglr.yaml
│ │ │ │ │ ├── onecyclelr.yaml
│ │ │ │ │ ├── reducelronplateau.yaml
│ │ │ │ │ └── steplr.yaml
│ │ │ │ ├── model
│ │ │ │ │ ├── figconv_unet_drivaer.yaml
│ │ │ │ │ └── figconv_unet_drivaerml.yaml
│ │ │ │ └── optimizer
│ │ │ │ │ ├── adam.yaml
│ │ │ │ │ ├── adamw.yaml
│ │ │ │ │ └── sgd.yaml
│ │ │ ├── notebooks
│ │ │ │ └── figconvnet_vis.ipynb
│ │ │ ├── requirements.txt
│ │ │ ├── src
│ │ │ │ ├── __init__.py
│ │ │ │ ├── data
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── base_datamodule.py
│ │ │ │ │ ├── components
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── drivaernet_webdataset_converter.py
│ │ │ │ │ │ ├── preprocessor_utils.py
│ │ │ │ │ │ └── webdataset_utils.py
│ │ │ │ │ ├── drivaerml_datamodule.py
│ │ │ │ │ ├── drivaernet_datamodule.py
│ │ │ │ │ └── mesh_utils.py
│ │ │ │ ├── losses.py
│ │ │ │ ├── networks
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ └── figconvunet_drivaer.py
│ │ │ │ └── utils
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── average_meter.py
│ │ │ │ │ ├── eval_funcs.py
│ │ │ │ │ ├── loggers.py
│ │ │ │ │ ├── seed.py
│ │ │ │ │ ├── signal_handlers.py
│ │ │ │ │ ├── timer.py
│ │ │ │ │ └── visualization.py
│ │ │ └── train.py
│ │ └── xaeronet
│ │ │ ├── README.md
│ │ │ ├── cleanup_corrupted_downloads.sh
│ │ │ ├── download_aws_dataset.sh
│ │ │ ├── requirements.txt
│ │ │ ├── surface
│ │ │ ├── combine_stl_solids.py
│ │ │ ├── compute_stats.py
│ │ │ ├── conf
│ │ │ │ └── config.yaml
│ │ │ ├── dataloader.py
│ │ │ ├── preprocessor.py
│ │ │ └── train.py
│ │ │ ├── utils.py
│ │ │ └── volume
│ │ │ ├── compute_stats.py
│ │ │ ├── conf
│ │ │ └── config.yaml
│ │ │ ├── dataloader.py
│ │ │ ├── partition.py
│ │ │ ├── preprocessor.py
│ │ │ ├── sdf.py
│ │ │ └── train.py
│ ├── flow_reconstruction_diffusion
│ │ ├── README.md
│ │ ├── conf
│ │ │ ├── config.yaml
│ │ │ ├── config_dfsr_cond_generate.yaml
│ │ │ ├── config_dfsr_cond_train.yaml
│ │ │ ├── config_dfsr_generate.yaml
│ │ │ ├── config_dfsr_train.yaml
│ │ │ └── config_fid.yaml
│ │ ├── dataset
│ │ │ ├── __init__.py
│ │ │ ├── dataset.py
│ │ │ └── dataset_tool.py
│ │ ├── fid.py
│ │ ├── generate.py
│ │ ├── generate_dfsr.py
│ │ ├── misc.py
│ │ ├── requirements.txt
│ │ ├── train.py
│ │ ├── training_loop.py
│ │ └── training_stats.py
│ ├── gray_scott_rnn
│ │ ├── README.md
│ │ ├── conf
│ │ │ └── config_3d.yaml
│ │ ├── gray_scott_rnn.py
│ │ └── requirements.txt
│ ├── lagrangian_mgn
│ │ ├── README.md
│ │ ├── conf
│ │ │ ├── config.yaml
│ │ │ ├── config_2d.yaml
│ │ │ ├── config_3d.yaml
│ │ │ ├── data
│ │ │ │ └── lagrangian_dataset.yaml
│ │ │ ├── experiment
│ │ │ │ ├── goop.yaml
│ │ │ │ ├── multi_material.yaml
│ │ │ │ ├── sand.yaml
│ │ │ │ ├── water.yaml
│ │ │ │ ├── water_3d.yaml
│ │ │ │ └── water_ramps.yaml
│ │ │ ├── logging
│ │ │ │ └── python
│ │ │ │ │ └── default.yaml
│ │ │ ├── loss
│ │ │ │ └── mseloss.yaml
│ │ │ ├── lr_scheduler
│ │ │ │ ├── cosine.yaml
│ │ │ │ ├── exponentiallr.yaml
│ │ │ │ └── onecyclelr.yaml
│ │ │ ├── model
│ │ │ │ ├── mgn.yaml
│ │ │ │ ├── mgn_2d.yaml
│ │ │ │ └── mgn_3d.yaml
│ │ │ └── optimizer
│ │ │ │ ├── adam.yaml
│ │ │ │ └── fused_adam.yaml
│ │ ├── inference.py
│ │ ├── loggers.py
│ │ ├── raw_datasets
│ │ │ └── download_dataset.sh
│ │ ├── requirements.txt
│ │ └── train.py
│ ├── ldc_pinns
│ │ ├── README.md
│ │ ├── config.yaml
│ │ └── train.py
│ ├── mhd_pino
│ │ ├── README.md
│ │ ├── config
│ │ │ ├── mhd_Re250.yaml
│ │ │ ├── mhd_vec_pot_Re250.yaml
│ │ │ └── mhd_vec_pot_tfno_Re250.yaml
│ │ ├── dataloaders
│ │ │ ├── __init__.py
│ │ │ ├── dataloaders.py
│ │ │ └── datasets.py
│ │ ├── generate_mhd_data
│ │ │ ├── dedalus_mhd.py
│ │ │ ├── dedalus_mhd_parallel.py
│ │ │ ├── example_field.yaml
│ │ │ ├── mhd_field.yaml
│ │ │ └── my_random_fields.py
│ │ ├── losses
│ │ │ ├── __init__.py
│ │ │ ├── loss_mhd.py
│ │ │ ├── loss_mhd_physicsnemo.py
│ │ │ ├── loss_mhd_vec_pot.py
│ │ │ ├── loss_mhd_vec_pot_physicsnemo.py
│ │ │ ├── losses.py
│ │ │ └── mhd_pde.py
│ │ ├── requirements.txt
│ │ ├── tfno
│ │ │ ├── __init__.py
│ │ │ ├── spectral_layers.py
│ │ │ └── tfno.py
│ │ ├── train_mhd.py
│ │ ├── train_mhd_vec_pot.py
│ │ ├── train_mhd_vec_pot_tfno.py
│ │ └── utils
│ │ │ └── plot_utils.py
│ ├── navier_stokes_rnn
│ │ ├── README.md
│ │ ├── conf
│ │ │ └── config_2d.yaml
│ │ ├── navier_stokes_rnn.py
│ │ └── requirements.txt
│ ├── stokes_mgn
│ │ ├── README.md
│ │ ├── conf
│ │ │ └── config.yaml
│ │ ├── inference.py
│ │ ├── pi_fine_tuning.py
│ │ ├── pi_fine_tuning_gnn.py
│ │ ├── preprocess.py
│ │ ├── raw_dataset
│ │ │ └── download_dataset.sh
│ │ ├── requirements.txt
│ │ ├── train.py
│ │ └── utils.py
│ ├── swe_distributed_gnn
│ │ ├── README.md
│ │ ├── config_graphcast_swe.yaml
│ │ ├── figures
│ │ │ ├── dist_message_passing.png
│ │ │ ├── dist_mlp.png
│ │ │ ├── global_vs_local_graph.png
│ │ │ ├── memory_scaling_dim128.png
│ │ │ └── val_loss_latlon.png
│ │ ├── requirements.txt
│ │ ├── shallow_water_pde_dataset.py
│ │ ├── shallow_water_solver.py
│ │ └── train.py
│ ├── swe_nonlinear_pino
│ │ ├── README.md
│ │ ├── config_pino.yaml
│ │ ├── download_data.py
│ │ ├── requirements.txt
│ │ ├── solver
│ │ │ ├── example_field.yaml
│ │ │ ├── my_random_fields.py
│ │ │ └── swe.py
│ │ ├── swe_nl_pde.py
│ │ ├── train_swe_nl_pino.py
│ │ └── train_utils
│ │ │ ├── datasets.py
│ │ │ ├── losses.py
│ │ │ ├── plot.py
│ │ │ └── utils.py
│ ├── vortex_shedding_mesh_reduced
│ │ ├── README.md
│ │ ├── constants.py
│ │ ├── test.py
│ │ ├── test_sequence.py
│ │ ├── train.py
│ │ └── train_sequence.py
│ └── vortex_shedding_mgn
│ │ ├── README.md
│ │ ├── conf
│ │ └── config.yaml
│ │ ├── inference.py
│ │ ├── inference_analysis
│ │ ├── conf
│ │ │ └── config.yaml
│ │ ├── custom_primitives.py
│ │ ├── inference_analysis.ipynb
│ │ └── utils.py
│ │ ├── raw_dataset
│ │ └── download_dataset.sh
│ │ ├── requirements.txt
│ │ └── train.py
├── generative
│ ├── README.md
│ ├── corrdiff
│ │ └── README.md
│ ├── diffusion
│ │ └── README.md
│ └── stormcast
│ │ └── README.md
├── healthcare
│ ├── bloodflow_1d_mgn
│ │ ├── README.md
│ │ ├── config.yaml
│ │ ├── generate_dataset.py
│ │ ├── generate_graphs.py
│ │ ├── graph_tools.py
│ │ ├── inference.py
│ │ ├── raw_dataset
│ │ │ └── download_dataset.sh
│ │ ├── requirements.txt
│ │ ├── train.py
│ │ └── vtk_tools.py
│ └── brain_anomaly_detection
│ │ ├── README.md
│ │ ├── conf
│ │ └── config_FNO_launch.yaml
│ │ ├── invert.py
│ │ ├── requirements.txt
│ │ └── train_FNO.py
├── minimal
│ └── neighbor_list
│ │ ├── utils.py
│ │ └── warp_neighbor_list.py
├── molecular_dynamics
│ └── lennard_jones
│ │ ├── README.md
│ │ ├── conf
│ │ └── config.yaml
│ │ ├── download_data.py
│ │ ├── lennard_jones_system.py
│ │ ├── requirements.txt
│ │ └── utils.py
├── multi_storage_client
│ ├── README.md
│ ├── msc_config.yaml
│ └── requirements.txt
├── structural_mechanics
│ └── deforming_plate
│ │ ├── README.md
│ │ ├── conf
│ │ └── config.yaml
│ │ ├── inference.py
│ │ ├── raw_dataset
│ │ └── download_dataset.sh
│ │ ├── requirements.txt
│ │ └── train.py
└── weather
│ ├── corrdiff
│ ├── README.md
│ ├── conf
│ │ ├── base
│ │ │ ├── __init__.py
│ │ │ ├── dataset
│ │ │ │ ├── custom.yaml
│ │ │ │ ├── cwb.yaml
│ │ │ │ ├── gefs_hrrr.yaml
│ │ │ │ └── hrrr_mini.yaml
│ │ │ ├── generation
│ │ │ │ ├── base_all.yaml
│ │ │ │ ├── non_patched.yaml
│ │ │ │ ├── patched.yaml
│ │ │ │ └── sampler
│ │ │ │ │ ├── deterministic.yaml
│ │ │ │ │ └── stochastic.yaml
│ │ │ ├── model
│ │ │ │ ├── diffusion.yaml
│ │ │ │ ├── lt_aware_ce_regression.yaml
│ │ │ │ ├── lt_aware_patched_diffusion.yaml
│ │ │ │ ├── lt_aware_regression.yaml
│ │ │ │ ├── patched_diffusion.yaml
│ │ │ │ └── regression.yaml
│ │ │ ├── model_size
│ │ │ │ ├── mini.yaml
│ │ │ │ └── normal.yaml
│ │ │ └── training
│ │ │ │ ├── base_all.yaml
│ │ │ │ ├── diffusion.yaml
│ │ │ │ ├── lt_aware_ce_regression.yaml
│ │ │ │ ├── lt_aware_patched_diffusion.yaml
│ │ │ │ ├── lt_aware_regression.yaml
│ │ │ │ ├── patched_diffusion.yaml
│ │ │ │ └── regression.yaml
│ │ ├── config_generate_custom.yaml
│ │ ├── config_generate_gefs_hrrr.yaml
│ │ ├── config_generate_hrrr_mini.yaml
│ │ ├── config_generate_taiwan.yaml
│ │ ├── config_training_custom.yaml
│ │ ├── config_training_gefs_hrrr_diffusion.yaml
│ │ ├── config_training_gefs_hrrr_regression.yaml
│ │ ├── config_training_hrrr_mini_diffusion.yaml
│ │ ├── config_training_hrrr_mini_regression.yaml
│ │ ├── config_training_hrrr_patched_diffusion_opt.yaml
│ │ ├── config_training_taiwan_diffusion.yaml
│ │ └── config_training_taiwan_regression.yaml
│ ├── datasets
│ │ ├── __init__.py
│ │ ├── base.py
│ │ ├── cwb.py
│ │ ├── dataset.py
│ │ ├── gefs_hrrr.py
│ │ ├── hrrrmini.py
│ │ ├── img_utils.py
│ │ └── norm.py
│ ├── generate.py
│ ├── helpers
│ │ ├── generate_helpers.py
│ │ └── train_helpers.py
│ ├── inference
│ │ ├── concat.py
│ │ ├── matplotlibrc
│ │ ├── plot_multiple_samples.py
│ │ ├── plot_single_sample.py
│ │ ├── power_spectra.py
│ │ └── read_netcdf.py
│ ├── requirements.txt
│ ├── score_samples.py
│ ├── tests
│ │ ├── test_autoresume.py
│ │ ├── test_cwb_era5.py
│ │ └── test_dataset.py
│ └── train.py
│ ├── dataset_download
│ ├── README.md
│ ├── conf
│ │ ├── config_34var.yaml
│ │ └── config_tas.yaml
│ ├── era5_mirror.py
│ ├── requirements.txt
│ └── start_mirror.py
│ ├── diagnostic
│ ├── README.md
│ ├── config
│ │ └── diagnostic_precip.yaml
│ ├── diagnostic
│ │ ├── data.py
│ │ ├── distribute.py
│ │ ├── export.py
│ │ ├── loss.py
│ │ ├── models.py
│ │ ├── precip.py
│ │ └── train.py
│ ├── eval_diagnostic_precip.py
│ ├── export_diagnostic_precip.py
│ ├── requirements.txt
│ └── train_diagnostic_precip.py
│ ├── dlwp
│ ├── README.md
│ ├── conf
│ │ └── config.yaml
│ ├── cube_sphere_plotter_no_subplots.py
│ ├── data_curation
│ │ ├── README.md
│ │ ├── data_download_simple.py
│ │ ├── post_processing.py
│ │ └── requirements.txt
│ ├── era5_hdf5.py
│ ├── requirements.txt
│ └── train_dlwp.py
│ ├── dlwp_healpix
│ ├── README.md
│ ├── config_hpx32_coupled_dlom.yaml
│ ├── config_hpx32_coupled_dlwp.yaml
│ ├── configs
│ │ ├── callbacks
│ │ │ ├── early_stopping.yaml
│ │ │ ├── learning_rate_monitor.yaml
│ │ │ ├── model_checkpoint.yaml
│ │ │ └── swa.yaml
│ │ ├── config.yaml
│ │ ├── config_hpx32_coupled_dlom.yaml
│ │ ├── config_hpx32_coupled_dlwp.yaml
│ │ ├── data
│ │ │ ├── era5_hpx32_7var_6h_24h.yaml
│ │ │ ├── era5_hpx32_8var-coupled_6h_24h.yaml
│ │ │ ├── era5_hpx32_dlom_sst-z1000-ws_48H-dt.yaml
│ │ │ ├── era5_hpx64_7var_6h_24h.yaml
│ │ │ ├── module
│ │ │ │ ├── atmos_ConstantCoupling.yaml
│ │ │ │ ├── sst-z1000-ws.yaml
│ │ │ │ └── time_series.yaml
│ │ │ ├── scaling
│ │ │ │ ├── classic.yaml
│ │ │ │ ├── hpx32.yaml
│ │ │ │ ├── hpx64.yaml
│ │ │ │ └── zeros.yaml
│ │ │ └── splits
│ │ │ │ ├── 1959-1998.yaml
│ │ │ │ ├── 1964-2003.yaml
│ │ │ │ ├── default.yaml
│ │ │ │ ├── large_test.yaml
│ │ │ │ └── large_test_1950-2022.yaml
│ │ ├── model
│ │ │ ├── coupled_hpx_rec_unet.yaml
│ │ │ ├── coupled_hpx_unet_dlom.yaml
│ │ │ ├── hpx_rec_unet.yaml
│ │ │ └── modules
│ │ │ │ ├── activations
│ │ │ │ ├── capped_gelu.yaml
│ │ │ │ └── capped_leaky_relu.yaml
│ │ │ │ ├── blocks
│ │ │ │ ├── avg_pool.yaml
│ │ │ │ ├── basic_conv_block.yaml
│ │ │ │ ├── conv_gru_block.yaml
│ │ │ │ ├── conv_next_block.yaml
│ │ │ │ ├── output_layer.yaml
│ │ │ │ ├── symmetric_conv_next_block.yaml
│ │ │ │ └── transposed_conv_upsample.yaml
│ │ │ │ ├── decoder
│ │ │ │ ├── decoder_symmetric-conv_90-90-180.yaml
│ │ │ │ ├── rec_unet_dec.yaml
│ │ │ │ └── unet_dec.yaml
│ │ │ │ ├── encoder
│ │ │ │ ├── encoder_symmetric-conv_180-90-90.yaml
│ │ │ │ ├── rec_unet_enc.yaml
│ │ │ │ └── unet_enc.yaml
│ │ │ │ └── loss
│ │ │ │ ├── mse.yaml
│ │ │ │ └── mse_ssim.yaml
│ │ └── trainer
│ │ │ ├── criterion
│ │ │ ├── hpx32_coupled-atmos.yaml
│ │ │ ├── hpx64_7var.yaml
│ │ │ ├── mse.yaml
│ │ │ ├── ocean_mse.yaml
│ │ │ └── weighted_mse.yaml
│ │ │ ├── default.yaml
│ │ │ ├── dlom.yaml
│ │ │ ├── dlwp.yaml
│ │ │ ├── lr_scheduler
│ │ │ ├── constant.yaml
│ │ │ ├── cosine.yaml
│ │ │ └── plateau.yaml
│ │ │ └── optimizer
│ │ │ └── adam.yaml
│ ├── train.py
│ ├── trainer.py
│ └── utils.py
│ ├── fcn_afno
│ ├── README.md
│ ├── conf
│ │ └── config.yaml
│ ├── requirements.txt
│ └── train_era5.py
│ ├── flood_modeling
│ └── hydrographnet
│ │ ├── README.md
│ │ ├── conf
│ │ └── config.yaml
│ │ ├── inference.py
│ │ ├── requirements.txt
│ │ ├── train.py
│ │ └── utils.py
│ ├── graphcast
│ ├── README.md
│ ├── compute_time_diff_std.py
│ ├── conf
│ │ └── config.yaml
│ ├── loss
│ │ ├── __init__.py
│ │ └── utils.py
│ ├── requirements.txt
│ ├── train_base.py
│ ├── train_graphcast.py
│ ├── train_utils.py
│ └── validation_base.py
│ ├── pangu_weather
│ ├── README.md
│ ├── conf
│ │ ├── config.yaml
│ │ └── config_lite.yaml
│ ├── requirements.txt
│ ├── train_pangu_era5.py
│ └── train_pangu_lite_era5.py
│ ├── regen
│ ├── README.md
│ ├── configs
│ │ └── base.py
│ ├── example_inference.py
│ ├── full_inference.py
│ ├── obs
│ │ ├── preprocess_isd.py
│ │ └── station_locations_on_grid.nc
│ ├── paper_figures
│ │ ├── .gitignore
│ │ ├── climate.py
│ │ ├── common_plotting_background.py
│ │ ├── evenmore_random_val_stations.npy
│ │ ├── figure-01
│ │ │ └── fig_method.py
│ │ ├── figure-02
│ │ │ ├── compute.py
│ │ │ └── plot.py
│ │ ├── figure-03
│ │ │ ├── compute.py
│ │ │ └── plot.py
│ │ ├── figure-04
│ │ │ ├── compute.py
│ │ │ └── plot.py
│ │ ├── figure-05
│ │ │ ├── compute.py
│ │ │ ├── eval.py
│ │ │ ├── evaluate_performance_obs_sweep_parallel.py
│ │ │ ├── evaluate_performance_pseudo_obs.py
│ │ │ ├── plot.py
│ │ │ └── submit_job.sh
│ │ ├── figure-06
│ │ │ ├── left_out_stations.py
│ │ │ └── stations.py
│ │ ├── figure-07
│ │ │ └── fig_metrics.py
│ │ ├── matplotlibrc
│ │ ├── runall.sh
│ │ ├── score_inference.py
│ │ ├── utils.py
│ │ └── val_stations.py
│ ├── plotting.py
│ ├── requirements.txt
│ ├── sda
│ │ └── score.py
│ └── training
│ │ ├── config
│ │ └── hrrr.yaml
│ │ ├── dnnlib
│ │ ├── __init__.py
│ │ └── util.py
│ │ ├── torch_utils
│ │ ├── __init__.py
│ │ ├── distributed.py
│ │ ├── misc.py
│ │ └── training_stats.py
│ │ ├── train_diffusions.py
│ │ └── utils
│ │ ├── YParams.py
│ │ ├── data_loader_hrrr_era5.py
│ │ ├── diffusions
│ │ ├── generate.py
│ │ ├── losses.py
│ │ ├── networks.py
│ │ └── training_loop.py
│ │ └── spectrum.py
│ ├── stormcast
│ ├── README.md
│ ├── config
│ │ ├── dataset
│ │ │ └── hrrr_era5.yaml
│ │ ├── diffusion.yaml
│ │ ├── diffusion_lite.yaml
│ │ ├── hydra
│ │ │ └── default.yaml
│ │ ├── inference
│ │ │ └── stormcast.yaml
│ │ ├── model
│ │ │ └── stormcast.yaml
│ │ ├── regression.yaml
│ │ ├── regression_lite.yaml
│ │ ├── sampler
│ │ │ └── edm_deterministic.yaml
│ │ ├── stormcast_inference.yaml
│ │ └── training
│ │ │ └── default.yaml
│ ├── datasets
│ │ ├── __init__.py
│ │ ├── data_loader_hrrr_era5.py
│ │ └── dataset.py
│ ├── inference.py
│ ├── requirements.txt
│ ├── train.py
│ └── utils
│ │ ├── io.py
│ │ ├── nn.py
│ │ ├── plots.py
│ │ ├── spectrum.py
│ │ └── trainer.py
│ └── unified_recipe
│ ├── README.md
│ ├── conf
│ ├── config.yaml
│ ├── curated_dataset
│ │ ├── 34_var.yaml
│ │ ├── 7_var.yaml
│ │ ├── healpix_19_var.yaml
│ │ └── tiny_2_var.yaml
│ ├── datapipe
│ │ └── default.yaml
│ ├── dataset
│ │ ├── 6hr_subsample.yaml
│ │ └── tiny_6hr_subsample.yaml
│ ├── filesystem
│ │ ├── local.yaml
│ │ └── object_storage.yaml
│ ├── model
│ │ ├── afno.yaml
│ │ ├── graphcastnet.yaml
│ │ ├── sfno.yaml
│ │ ├── tiny_afno.yaml
│ │ └── tiny_sfno.yaml
│ ├── training
│ │ ├── afno.yaml
│ │ ├── graphcastnet.yaml
│ │ └── sfno.yaml
│ ├── transform
│ │ ├── downsample.yaml
│ │ ├── healpix.yaml
│ │ └── trim_lat720.yaml
│ └── validation
│ │ └── afno.yaml
│ ├── curate_era5.py
│ ├── download_era5.py
│ ├── model_packages.py
│ ├── requirements.txt
│ ├── seq_zarr_datapipe.py
│ ├── train.py
│ ├── transform
│ └── transform.py
│ └── utils.py
├── physicsnemo
├── __init__.py
├── constants.py
├── datapipes
│ ├── __init__.py
│ ├── benchmarks
│ │ ├── __init__.py
│ │ ├── darcy.py
│ │ ├── kelvin_helmholtz.py
│ │ └── kernels
│ │ │ ├── __init__.py
│ │ │ ├── finite_difference.py
│ │ │ ├── finite_volume.py
│ │ │ ├── indexing.py
│ │ │ ├── initialization.py
│ │ │ └── utils.py
│ ├── cae
│ │ ├── __init__.py
│ │ ├── domino_datapipe.py
│ │ ├── domino_sharded_datapipe.py
│ │ ├── mesh_datapipe.py
│ │ └── readers.py
│ ├── climate
│ │ ├── __init__.py
│ │ ├── climate.py
│ │ ├── era5_hdf5.py
│ │ ├── era5_netcdf.py
│ │ ├── synthetic.py
│ │ └── utils
│ │ │ ├── __init__.py
│ │ │ ├── invariant.py
│ │ │ └── zenith_angle.py
│ ├── datapipe.py
│ ├── gnn
│ │ ├── __init__.py
│ │ ├── ahmed_body_dataset.py
│ │ ├── bsms.py
│ │ ├── deforming_plate_dataset.py
│ │ ├── drivaernet_dataset.py
│ │ ├── hydrographnet_dataset.py
│ │ ├── lagrangian_dataset.py
│ │ ├── lagrangian_reading_utils.py
│ │ ├── stokes_dataset.py
│ │ ├── utils.py
│ │ ├── vortex_shedding_dataset.py
│ │ └── vortex_shedding_re300_1000_dataset.py
│ ├── healpix
│ │ ├── __init__.py
│ │ ├── coupledtimeseries_dataset.py
│ │ ├── couplers.py
│ │ ├── data_modules.py
│ │ └── timeseries_dataset.py
│ └── meta.py
├── deploy
│ ├── __init__.py
│ ├── onnx
│ │ ├── __init__.py
│ │ └── utils.py
│ ├── triton
│ │ └── __init__.py
│ └── trt
│ │ └── __init__.py
├── distributed
│ ├── __init__.py
│ ├── _shard_redistribute.py
│ ├── _shard_tensor_spec.py
│ ├── autograd.py
│ ├── config.py
│ ├── custom_ops
│ │ ├── __init__.py
│ │ ├── _reductions.py
│ │ └── _tensor_ops.py
│ ├── fft.py
│ ├── manager.py
│ ├── mappings.py
│ ├── shard_tensor.py
│ ├── shard_utils
│ │ ├── __init__.py
│ │ ├── attention_patches.py
│ │ ├── conv_patches.py
│ │ ├── halo.py
│ │ ├── index_ops.py
│ │ ├── natten_patches.py
│ │ ├── normalization_patches.py
│ │ ├── patch_core.py
│ │ ├── point_cloud_ops.py
│ │ ├── pooling_patches.py
│ │ ├── ring.py
│ │ └── unpooling_patches.py
│ └── utils.py
├── experimental
│ └── __init__.py
├── launch
│ ├── __init__.py
│ ├── config
│ │ └── __init__.py
│ ├── logging
│ │ ├── __init__.py
│ │ ├── console.py
│ │ ├── launch.py
│ │ ├── mlflow.py
│ │ ├── utils.py
│ │ └── wandb.py
│ └── utils
│ │ ├── __init__.py
│ │ └── checkpoint.py
├── metrics
│ ├── __init__.py
│ ├── cae
│ │ ├── cfd.py
│ │ └── integral.py
│ ├── climate
│ │ ├── __init__.py
│ │ ├── acc.py
│ │ ├── efi.py
│ │ ├── healpix_loss.py
│ │ ├── loss.py
│ │ └── reduction.py
│ ├── diffusion
│ │ ├── __init__.py
│ │ ├── fid.py
│ │ └── loss.py
│ └── general
│ │ ├── __init__.py
│ │ ├── calibration.py
│ │ ├── crps.py
│ │ ├── ensemble_metrics.py
│ │ ├── entropy.py
│ │ ├── histogram.py
│ │ ├── mse.py
│ │ ├── power_spectrum.py
│ │ ├── reduction.py
│ │ └── wasserstein.py
├── models
│ ├── __init__.py
│ ├── afno
│ │ ├── __init__.py
│ │ ├── afno.py
│ │ ├── distributed
│ │ │ ├── __init__.py
│ │ │ ├── afno.py
│ │ │ └── layers.py
│ │ ├── modafno.py
│ │ └── modembed.py
│ ├── diffusion
│ │ ├── __init__.py
│ │ ├── dhariwal_unet.py
│ │ ├── layers.py
│ │ ├── preconditioning.py
│ │ ├── song_unet.py
│ │ ├── unet.py
│ │ └── utils.py
│ ├── dlwp
│ │ ├── __init__.py
│ │ └── dlwp.py
│ ├── dlwp_healpix
│ │ ├── HEALPixRecUNet.py
│ │ ├── HEALPixUNet.py
│ │ └── __init__.py
│ ├── dlwp_healpix_layers
│ │ ├── __init__.py
│ │ ├── healpix_blocks.py
│ │ ├── healpix_decoder.py
│ │ ├── healpix_encoder.py
│ │ └── healpix_layers.py
│ ├── domino
│ │ ├── __init__.py
│ │ └── model.py
│ ├── fcn_mip_plugin.py
│ ├── fengwu
│ │ ├── __init__.py
│ │ └── fengwu.py
│ ├── figconvnet
│ │ ├── base_model.py
│ │ ├── components
│ │ │ ├── __init__.py
│ │ │ ├── encodings.py
│ │ │ ├── mlp.py
│ │ │ └── reductions.py
│ │ ├── figconvunet.py
│ │ ├── geometries.py
│ │ ├── grid_feature_group.py
│ │ ├── neighbor_ops.py
│ │ ├── point_feature_conv.py
│ │ ├── point_feature_grid_conv.py
│ │ ├── point_feature_grid_ops.py
│ │ └── warp_neighbor_search.py
│ ├── fno
│ │ ├── __init__.py
│ │ └── fno.py
│ ├── gnn_layers
│ │ ├── __init__.py
│ │ ├── bsms.py
│ │ ├── distributed_graph.py
│ │ ├── embedder.py
│ │ ├── graph.py
│ │ ├── mesh_edge_block.py
│ │ ├── mesh_graph_decoder.py
│ │ ├── mesh_graph_encoder.py
│ │ ├── mesh_graph_mlp.py
│ │ ├── mesh_node_block.py
│ │ └── utils.py
│ ├── graphcast
│ │ ├── __init__.py
│ │ ├── graph_cast_net.py
│ │ └── graph_cast_processor.py
│ ├── layers
│ │ ├── __init__.py
│ │ ├── activations.py
│ │ ├── attention_layers.py
│ │ ├── ball_query.py
│ │ ├── conv_layers.py
│ │ ├── dgm_layers.py
│ │ ├── drop.py
│ │ ├── fft.py
│ │ ├── fourier_layers.py
│ │ ├── fully_connected_layers.py
│ │ ├── fused_silu.py
│ │ ├── interpolation.py
│ │ ├── kan_layers.py
│ │ ├── mlp_layers.py
│ │ ├── resample_layers.py
│ │ ├── siren_layers.py
│ │ ├── spectral_layers.py
│ │ ├── transformer_decoder.py
│ │ ├── transformer_layers.py
│ │ ├── weight_fact.py
│ │ └── weight_norm.py
│ ├── mesh_reduced
│ │ ├── mesh_reduced.py
│ │ └── temporal_model.py
│ ├── meshgraphnet
│ │ ├── __init__.py
│ │ ├── bsms_mgn.py
│ │ ├── meshgraphkan.py
│ │ └── meshgraphnet.py
│ ├── meta.py
│ ├── mlp
│ │ ├── __init__.py
│ │ └── fully_connected.py
│ ├── module.py
│ ├── pangu
│ │ ├── __init__.py
│ │ └── pangu.py
│ ├── pix2pix
│ │ ├── __init__.py
│ │ ├── pix2pix.py
│ │ └── pix2pixunet.py
│ ├── rnn
│ │ ├── __init__.py
│ │ ├── layers.py
│ │ ├── rnn_one2many.py
│ │ └── rnn_seq2seq.py
│ ├── srrn
│ │ ├── __init__.py
│ │ └── super_res_net.py
│ ├── swinvrnn
│ │ ├── __init__.py
│ │ └── swinvrnn.py
│ ├── transolver
│ │ ├── Embedding.py
│ │ ├── Physics_Attention.py
│ │ ├── __init__.py
│ │ └── transolver.py
│ ├── unet
│ │ ├── __init__.py
│ │ └── unet.py
│ ├── util_compatibility.py
│ ├── utils
│ │ ├── __init__.py
│ │ ├── patch_embed.py
│ │ ├── shift_window_mask.py
│ │ ├── utils.py
│ │ └── weight_init.py
│ └── vfgn
│ │ ├── __init__.py
│ │ └── graph_network_modules.py
├── registry
│ ├── __init__.py
│ └── model_registry.py
└── utils
│ ├── __init__.py
│ ├── capture.py
│ ├── corrdiff
│ ├── __init__.py
│ └── utils.py
│ ├── domino
│ └── utils.py
│ ├── filesystem.py
│ ├── generative
│ ├── __init__.py
│ ├── deterministic_sampler.py
│ ├── stochastic_sampler.py
│ └── utils.py
│ ├── graphcast
│ ├── __init__.py
│ ├── data_utils.py
│ ├── graph.py
│ ├── graph_utils.py
│ ├── icosahedral_mesh.py
│ └── loss.py
│ ├── insolation.py
│ ├── mesh
│ ├── __init__.py
│ ├── combine_vtp_files.py
│ ├── convert_file_formats.py
│ └── generate_stl.py
│ ├── neighbor_list.py
│ ├── patching.py
│ ├── profiling
│ ├── __init__.py
│ ├── core.py
│ ├── interface.py
│ ├── line_profile.py
│ └── torch.py
│ ├── sdf.py
│ ├── version_check.py
│ └── zenith_angle.py
├── pyproject.toml
└── test
├── ci_tests
├── config.json
├── copyright.txt
└── header_check.py
├── conftest.py
├── coverage.docstring.rc
├── coverage.pytest.rc
├── datapipes
├── __init__.py
├── common
│ ├── __init__.py
│ ├── cuda_graphs.py
│ ├── device.py
│ ├── iterator_check.py
│ ├── sequence.py
│ ├── shape_check.py
│ └── shuffle.py
├── test_ahmed_body.py
├── test_bsms.py
├── test_climate.py
├── test_darcy.py
├── test_domino_datapipe.py
├── test_drivaernet.py
├── test_healpix.py
├── test_healpix_couple.py
├── test_hydrographnet.py
├── test_kelvin_helmholtz.py
├── test_lagrangian.py
├── test_mesh_datapipe.py
├── test_stokes.py
└── test_synthetic.py
├── deploy
├── ort_utils.py
├── test_onnx_fft.py
└── test_onnx_utils.py
├── derivs_test.py
├── distributed
├── distributed_utils_for_testing.py
├── test_autograd.py
├── test_ball_query_shard_tensor.py
├── test_config.py
├── test_distributed_fft.py
├── test_manager.py
├── test_mesh.py
├── test_shard_tensor_function_registration.py
├── test_shard_tensor_grad_sharding.py
├── test_shard_tensor_initialization.py
├── test_shard_tensor_redistribute.py
├── test_shard_tensor_reductions.py
└── test_utils.py
├── get_coverage.sh
├── metrics
├── diffusion
│ ├── test_fid.py
│ └── test_losses.py
├── test_healpix_loss.py
├── test_loss_climate.py
├── test_metrics_cfd.py
├── test_metrics_climate.py
├── test_metrics_general.py
└── test_metrics_integral.py
├── models
├── __init__.py
├── common
│ ├── __init__.py
│ ├── checkpoints.py
│ ├── fwdaccuracy.py
│ ├── inference.py
│ ├── optimization.py
│ └── utils.py
├── data
│ ├── afno_output.pth
│ ├── bistridemeshgraphnet_output.pth
│ ├── conv_rnn_one2many_2d_output.pth
│ ├── conv_rnn_one2many_3d_output.pth
│ ├── conv_rnn_seq2seq_2d_output.pth
│ ├── conv_rnn_seq2seq_3d_output.pth
│ ├── ddmpp_unet_output.pth
│ ├── dhariwal_unet_output.pth
│ ├── diffusion_unet_0.1.0.mdlus
│ ├── dlwp_healpix.pth
│ ├── dlwp_healpix_const.pth
│ ├── dlwp_healpix_decoder.pth
│ ├── dlwp_healpix_unet.pth
│ ├── dlwp_healpix_unet_const.pth
│ ├── dlwp_healpix_unet_decoder.pth
│ ├── dlwp_healpix_unet_no_decoder_no_const.pth
│ ├── dlwp_output.pth
│ ├── domino_output.pth
│ ├── fengwu_output.pth
│ ├── figconvunet_output.pth
│ ├── fno1d_output.pth
│ ├── fno2d_output.pth
│ ├── fno3d_output.pth
│ ├── fno4d_output.pth
│ ├── fullyconnected_output.pth
│ ├── graphcastnet_output.pth
│ ├── meshgraphkan_output.pth
│ ├── meshgraphnet_output.pth
│ ├── modafno_output.pth
│ ├── ncsnpp_unet_output.pth
│ ├── pangu_output.pth
│ ├── pix2pix_output.pth
│ ├── sfno_cpu_output.pth
│ ├── sfno_cuda_output.pth
│ ├── superresolution_output.pth
│ ├── swinrnn_output.pth
│ ├── transolver_output.pth
│ ├── unet_output.pth
│ ├── vfgn_encoderprocess_decode_output.pth
│ ├── vfgn_ls_output.pth
│ ├── vfgn_mlp_output.pth
│ ├── vfgn_output.pth
│ └── vfgn_simulator_output.pth
├── diffusion
│ ├── test_dhariwal_unet.py
│ ├── test_preconditioning.py
│ ├── test_song_unet.py
│ ├── test_song_unet_agn_amp.py
│ ├── test_song_unet_pos_embd.py
│ ├── test_song_unet_pos_embd_agn_amp.py
│ ├── test_song_unet_pos_lt_embd.py
│ └── test_unet_wrappers.py
├── dlwp_healpix
│ ├── test_healpix_blocks.py
│ ├── test_healpix_encoder_decoder.py
│ ├── test_healpix_layers.py
│ ├── test_healpix_recunet_model.py
│ └── test_healpix_unet_model.py
├── graphcast
│ ├── test_concat_trick.py
│ ├── test_cugraphops.py
│ ├── test_grad_checkpointing.py
│ ├── test_graphcast.py
│ ├── test_graphcast_snmg.py
│ └── utils.py
├── meshgraphnet
│ ├── test_bsms_mgn.py
│ ├── test_meshgraphkan.py
│ ├── test_meshgraphnet.py
│ ├── test_meshgraphnet_snmg.py
│ └── utils.py
├── test_afno.py
├── test_distributed_graph.py
├── test_dlwp.py
├── test_domino.py
├── test_entrypoints.py
├── test_fcn_mip_plugin.py
├── test_fengwu.py
├── test_figconvunet.py
├── test_fno.py
├── test_from_checkpoint.py
├── test_from_torch.py
├── test_fully_connected.py
├── test_graph_partition.py
├── test_instantiate_backward_compatibility.py
├── test_interpolation.py
├── test_kan_layers.py
├── test_kwargs_model.py
├── test_layers_activations.py
├── test_layers_dgm.py
├── test_layers_fourier.py
├── test_layers_siren.py
├── test_layers_spectral.py
├── test_layers_weightfact.py
├── test_layers_weightnorm.py
├── test_modafno.py
├── test_model_factory.py
├── test_nd_conv_layers.py
├── test_pangu.py
├── test_pix2pix.py
├── test_rnn.py
├── test_rnn_layers.py
├── test_sfno.py
├── test_super_res_net.py
├── test_swinrnn.py
├── test_transolver.py
└── test_unet.py
├── pytest_utils.py
├── test_multi_gpu_sample.py
└── utils
├── corrdiff
├── test_generation_steps.py
├── test_netcdf_writer.py
└── test_time_range.py
├── generative
├── test_deterministic_sampler.py
├── test_format_time.py
├── test_parse_int_list.py
├── test_parse_time.py
├── test_stochastic_sampler.py
└── test_tuple_product.py
├── graphcast
├── test_coordinate_transform.py
└── test_loss.py
├── msc_config_checkpoint.yaml
├── msc_config_public_read.yaml
├── test_capture.py
├── test_checkpoint.py
├── test_filesystem.py
├── test_mesh_utils.py
├── test_msc_public_read.py
├── test_patching.py
├── test_profiler.py
├── test_sdf.py
├── test_version_check.py
└── test_zenith_angle.py
/.dockerignore:
--------------------------------------------------------------------------------
1 | .git
2 | .github
3 | .gitlab
4 | .coverage*
5 | .*cache
6 | examples
7 | docs
8 | test
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/.gitattributes
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: true
2 | contact_links:
3 | - name: Ask a Question
4 | url: https://forums.developer.nvidia.com/t/welcome-to-the-physicsnemo-ml-model-framework-forum/178556
5 | about: Thanks for taking the time to ask us a question!
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
2 | # PhysicsNeMo Pull Request
3 |
4 | ## Description
5 |
6 |
7 |
8 |
9 | ## Checklist
10 |
11 | - [ ] I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/physicsnemo/blob/main/CONTRIBUTING.md).
12 | - [ ] New or existing tests cover these changes.
13 | - [ ] The documentation is up to date with these changes.
14 | - [ ] The [CHANGELOG.md](https://github.com/NVIDIA/physicsnemo/blob/main/CHANGELOG.md) is up to date with these changes.
15 | - [ ] An [issue](https://github.com/NVIDIA/physicsnemo/issues) is linked to this pull request.
16 |
17 | ## Dependencies
18 |
19 |
--------------------------------------------------------------------------------
/.gitlab/issue_templates/documentation.md:
--------------------------------------------------------------------------------
1 | # Documentation
2 |
3 | For technical questions please refer to our [forum](https://forums.developer.nvidia.com/t/welcome-to-the-physicsnemo-ml-model-framework-forum/178556).
4 |
5 | Before submitting an issue, please review the existing issues to avoid duplicates.
6 |
7 | For documenation issues, please preface the title with [documentation].
8 |
9 | ## The documentation issue
10 |
11 | A clear and concise description of what content in PhysicsNeMo documentation is an issue.
12 |
13 | ## Suggest a potential alternative/fix
14 |
15 | Tell us how we could improve the documentation in this regard.
16 |
--------------------------------------------------------------------------------
/.gitlab/issue_templates/feature_request.md:
--------------------------------------------------------------------------------
1 | # Feature Request
2 |
3 | For technical questions please refer to our [forum](https://forums.developer.nvidia.com/t/welcome-to-the-physicsnemo-ml-model-framework-forum/178556).
4 |
5 | Before submitting an issue, please review the existing issues to avoid duplicates.
6 |
7 | For feature requests, please preface the title with [feature-request].
8 |
9 | ## The feature, motivation and pitch
10 |
11 | A clear and concise description of the feature proposal. Please outline the motivation
12 | for the proposal. Is your feature request related to a specific problem? e.g., "I'm
13 | working on X and would like Y to be possible". If this is related to another issue,
14 | please link here too.
15 |
16 | ## Alternatives
17 |
18 | A description of any alternative solutions or features you've considered, if any.
19 |
20 | ## Additional Context
21 |
22 | Add any other context or screenshots about the feature request.
23 |
--------------------------------------------------------------------------------
/.gitlab/issue_templates/security.md:
--------------------------------------------------------------------------------
1 | # Security
2 |
3 | For technical questions please refer to our [forum](https://forums.developer.nvidia.com/t/welcome-to-the-physicsnemo-ml-model-framework-forum/178556).
4 |
5 | Before submitting an issue, please review the existing issues to avoid duplicates.
6 |
7 | For security issues, please preface the title with [security].
8 |
9 | ## The Security Issue
10 |
11 | If you believe you have found a security vulnerability in PhysicsNeMo, we encourage you to
12 | let us know right away.
13 | We will investigate all legitimate reports and do our best to quickly fix the problem.
14 |
--------------------------------------------------------------------------------
/.gitlab/merge_request_templates/Default.md:
--------------------------------------------------------------------------------
1 | # PhysicsNeMo Pull Request
2 |
3 | ## Description
4 |
5 |
6 |
7 |
8 | ## Checklist
9 |
10 | - [ ] I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/physicsnemo/blob/main/CONTRIBUTING.md).
11 | - [ ] New or existing tests cover these changes.
12 | - [ ] The documentation is up to date with these changes.
13 | - [ ] The [CHANGELOG.md](https://github.com/NVIDIA/physicsnemo/blob/main/CHANGELOG.md) is
14 | up to date with these changes.
15 |
16 | ## Dependencies
17 |
18 |
19 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/.gitmodules
--------------------------------------------------------------------------------
/CITATION.cff:
--------------------------------------------------------------------------------
1 | cff-version: 1.2.0
2 | message: "If you use this software, please cite it as below."
3 | title: "NVIDIA PhysicsNeMo: An open-source framework for physics-based deep learning in science and engineering"
4 | date-released: "2023-02-24"
5 | authors:
6 | - name: "PhysicsNeMo Contributors"
7 | repository-code: "https://github.com/NVIDIA/physicsnemo"
8 |
--------------------------------------------------------------------------------
/docs/_static/js/pk_scripts.js:
--------------------------------------------------------------------------------
1 | document.addEventListener("DOMContentLoaded", function () {
2 | var params = window.location.search.substring(1).split("&").reduce(function (params, param) {
3 | if (!param) {
4 | return params;
5 | }
6 |
7 | var values = param.split("=");
8 | var name = values[0];
9 | var value = values[1];
10 | params[name] = value;
11 | return params;
12 | }, {});
13 |
14 | var form = document.getElementById("feedback-form");
15 | for (var name in params) {
16 | var input = form.querySelector("[name=" + name + "]");
17 | input.value = params[name];
18 | }
19 | });
--------------------------------------------------------------------------------
/docs/_templates/layout.html:
--------------------------------------------------------------------------------
1 | {% extends "!layout.html" %}
2 |
3 | {% block extrahead %}
4 |
5 |
6 |
7 | {% endblock %}
8 |
9 | {% block footer %}
10 |
11 |
12 |
13 | {% endblock %}
14 |
--------------------------------------------------------------------------------
/docs/api/physicsnemo.launch.utils.rst:
--------------------------------------------------------------------------------
1 | PhysicsNeMo Launch Utils
2 | =========================
3 |
4 | The PhysicsNeMo Launch Utils module utilities that support the saving and loading
5 | of model checkpoints. These utilities are used internally by the LaunchLogger, but
6 | can also be used by users to save and load model checkpoints.
7 |
8 | .. automodule:: physicsnemo.launch.utils
9 | .. currentmodule:: physicsnemo.launch.utils
10 |
11 | .. autosummary::
12 | :toctree: generated
13 |
14 | Checkpointing
15 | -------------
16 |
17 | .. automodule:: physicsnemo.launch.utils.checkpoint
18 | :members:
19 | :show-inheritance:
20 |
21 |
--------------------------------------------------------------------------------
/docs/img/FourCastNet.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/FourCastNet.gif
--------------------------------------------------------------------------------
/docs/img/MHD_0_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/MHD_0_0.png
--------------------------------------------------------------------------------
/docs/img/SWE_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/SWE_0.png
--------------------------------------------------------------------------------
/docs/img/ahmed_body_results.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/ahmed_body_results.png
--------------------------------------------------------------------------------
/docs/img/bloodflow_1d_mgn_geometries.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/bloodflow_1d_mgn_geometries.png
--------------------------------------------------------------------------------
/docs/img/bloodflow_1d_mgn_results.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/bloodflow_1d_mgn_results.gif
--------------------------------------------------------------------------------
/docs/img/brain_wave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/brain_wave.png
--------------------------------------------------------------------------------
/docs/img/corrdiff_cold_front.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/corrdiff_cold_front.png
--------------------------------------------------------------------------------
/docs/img/corrdiff_illustration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/corrdiff_illustration.png
--------------------------------------------------------------------------------
/docs/img/corrdiff_training_loss.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/corrdiff_training_loss.png
--------------------------------------------------------------------------------
/docs/img/datacenter_design_cfd.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/datacenter_design_cfd.gif
--------------------------------------------------------------------------------
/docs/img/datacenter_hybrid_training.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/datacenter_hybrid_training.png
--------------------------------------------------------------------------------
/docs/img/deforming_plate.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/deforming_plate.gif
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/Media14.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/Media14.gif
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/Media7.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/Media7.gif
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/Picture2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/Picture2.png
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/backward.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/backward.png
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/data_distribution.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/data_distribution.png
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/density_scaling.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/density_scaling.gif
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/diffusion_intuition.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/diffusion_intuition.png
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/diffusion_training.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/diffusion_training.png
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/discretization_error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/discretization_error.png
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/distorted_trajectory.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/distorted_trajectory.gif
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/edm_table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/edm_table.png
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/edm_table_heun.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/edm_table_heun.png
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/final_table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/final_table.png
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/forward_diffusion.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/forward_diffusion.gif
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/gradual_denoising.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/gradual_denoising.gif
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/heun_step.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/heun_step.png
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/loss_weighting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/loss_weighting.png
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/multiple_gradual_denoising.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/multiple_gradual_denoising.gif
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/noise_distribution.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/noise_distribution.png
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/noise_schedule_table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/noise_schedule_table.png
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/ode_backward.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/ode_backward.gif
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/ode_time_step.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/ode_time_step.gif
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/refine_steps.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/refine_steps.gif
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/schedule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/schedule.png
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/sde.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/sde.png
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/single_shot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/single_shot.png
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/skip_weight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/skip_weight.png
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/table_training.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/table_training.png
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/time_step.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/time_step.png
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/time_steps_formula.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/time_steps_formula.png
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/variable_schedule.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/variable_schedule.gif
--------------------------------------------------------------------------------
/docs/img/diffusion_doc/variable_step_size.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/diffusion_doc/variable_step_size.gif
--------------------------------------------------------------------------------
/docs/img/domain_parallelism/inference_latency_vs_sequence_length_8_heads_256_dim.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/domain_parallelism/inference_latency_vs_sequence_length_8_heads_256_dim.png
--------------------------------------------------------------------------------
/docs/img/domain_parallelism/training_latency_vs_sequence_length_8_heads_256_dim_backward.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/domain_parallelism/training_latency_vs_sequence_length_8_heads_256_dim_backward.png
--------------------------------------------------------------------------------
/docs/img/domino_result_rtwt.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/domino_result_rtwt.jpg
--------------------------------------------------------------------------------
/docs/img/drivaernet_results.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/drivaernet_results.png
--------------------------------------------------------------------------------
/docs/img/graphcast_architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/graphcast_architecture.png
--------------------------------------------------------------------------------
/docs/img/gray_scott_predictions_blog_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/gray_scott_predictions_blog_2.gif
--------------------------------------------------------------------------------
/docs/img/hydrographnet.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/hydrographnet.gif
--------------------------------------------------------------------------------
/docs/img/init_vel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/init_vel.png
--------------------------------------------------------------------------------
/docs/img/inverted_vel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/inverted_vel.png
--------------------------------------------------------------------------------
/docs/img/lagrangian_meshgraphnet_compressed.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/lagrangian_meshgraphnet_compressed.gif
--------------------------------------------------------------------------------
/docs/img/lagrangian_meshgraphnet_multi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/lagrangian_meshgraphnet_multi.png
--------------------------------------------------------------------------------
/docs/img/lj_system_physicsnemo_results.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/lj_system_physicsnemo_results.png
--------------------------------------------------------------------------------
/docs/img/modulus-pipes.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/modulus-pipes.jpg
--------------------------------------------------------------------------------
/docs/img/profiling/FA-fp16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/profiling/FA-fp16.png
--------------------------------------------------------------------------------
/docs/img/profiling/FA-fp32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/profiling/FA-fp32.png
--------------------------------------------------------------------------------
/docs/img/profiling/endOfSync.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/profiling/endOfSync.png
--------------------------------------------------------------------------------
/docs/img/profiling/nsys-application-zoom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/profiling/nsys-application-zoom.png
--------------------------------------------------------------------------------
/docs/img/profiling/nsys-overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/profiling/nsys-overview.png
--------------------------------------------------------------------------------
/docs/img/profiling/nsys-triton-kernel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/profiling/nsys-triton-kernel.png
--------------------------------------------------------------------------------
/docs/img/profiling/softmax_bwd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/profiling/softmax_bwd.png
--------------------------------------------------------------------------------
/docs/img/profiling/softmax_fwd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/profiling/softmax_fwd.png
--------------------------------------------------------------------------------
/docs/img/profiling/whole-application.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/profiling/whole-application.png
--------------------------------------------------------------------------------
/docs/img/stokes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/stokes.png
--------------------------------------------------------------------------------
/docs/img/stormcast_rollout.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/stormcast_rollout.gif
--------------------------------------------------------------------------------
/docs/img/surrogate_prediction.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/surrogate_prediction.png
--------------------------------------------------------------------------------
/docs/img/transolver.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/transolver.png
--------------------------------------------------------------------------------
/docs/img/value_prop/Knowledge_guided_models.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/value_prop/Knowledge_guided_models.gif
--------------------------------------------------------------------------------
/docs/img/value_prop/Knowledge_guided_models.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/value_prop/Knowledge_guided_models.png
--------------------------------------------------------------------------------
/docs/img/value_prop/benchmarking.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/img/vfgn_doc/4-parts-final.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/vfgn_doc/4-parts-final.png
--------------------------------------------------------------------------------
/docs/img/vfgn_doc/HP-MetalJet-process.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/vfgn_doc/HP-MetalJet-process.png
--------------------------------------------------------------------------------
/docs/img/vfgn_doc/busbar.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/vfgn_doc/busbar.gif
--------------------------------------------------------------------------------
/docs/img/vfgn_doc/pushing-grip.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/vfgn_doc/pushing-grip.gif
--------------------------------------------------------------------------------
/docs/img/vfgn_doc/screw.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/vfgn_doc/screw.gif
--------------------------------------------------------------------------------
/docs/img/vfgn_doc/usb.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/vfgn_doc/usb.gif
--------------------------------------------------------------------------------
/docs/img/vortex_shedding.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/vortex_shedding.gif
--------------------------------------------------------------------------------
/docs/img/xaeronet_s_results.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/xaeronet_s_results.png
--------------------------------------------------------------------------------
/docs/img/xaeronet_v_results.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/docs/img/xaeronet_v_results.png
--------------------------------------------------------------------------------
/docs/test_runner.py:
--------------------------------------------------------------------------------
1 | import os
2 | import subprocess
3 |
4 | import pytest
5 |
6 | # Collecting all the Python files in the scripts directory
7 | script_files = [f for f in os.listdir("test_scripts/") if f.endswith(".py")]
8 |
9 | # print(script_files)
10 | @pytest.mark.parametrize("script_file", script_files)
11 | def test_script_execution(script_file):
12 | """Test if a script runs without error."""
13 | filepath = os.path.join("test_scripts/", script_file)
14 | print(filepath)
15 | result = subprocess.run(["python", filepath], capture_output=True, text=True)
16 |
17 | # Check that the script executed successfully
18 | assert (
19 | result.returncode == 0
20 | ), f"Script {script_file} failed with error:\n{result.stderr}"
21 |
--------------------------------------------------------------------------------
/docs/test_scripts/domain_parallelism/new_layers/vector_add_baseline.py:
--------------------------------------------------------------------------------
1 | import torch
2 | import time
3 |
4 | # Make a really big tensor:
5 | N = 1_000_000_000
6 |
7 | device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
8 |
9 | a = torch.randn(N, device=device)
10 | b = torch.randn(N, device=device)
11 |
12 | def f(a, b):
13 | # This is a truly local operation: no communication is needed.
14 | return a + b
15 |
16 | # run a couple times to warmup:
17 | for i in range(5):
18 | c = f(a,b)
19 |
20 | # Optional: Benchmark it if you like:
21 |
22 | # Measure execution time
23 | torch.cuda.synchronize()
24 | start_time = time.time()
25 | for i in range(10):
26 | c = f(a,b)
27 | torch.cuda.synchronize()
28 | end_time = time.time()
29 | elapsed_time = end_time - start_time
30 |
31 | print(f"Execution time for 10 runs: {elapsed_time:.4f} seconds")
--------------------------------------------------------------------------------
/docs/test_scripts/domain_parallelism/new_layers/vector_dot_baseline.py:
--------------------------------------------------------------------------------
1 | import torch
2 | import time
3 |
4 | # Make a really big tensor:
5 | N = 1_000_000_000
6 |
7 | device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
8 |
9 | a = torch.randn(N, device=device)
10 | b = torch.randn(N, device=device)
11 |
12 | def f(a, b):
13 | # This is a truly non-local operation: full reduction is needed.
14 | return torch.dot(a, b)
15 |
16 | # run a couple times to warmup:
17 | for i in range(5):
18 | c = f(a,b)
19 |
20 | # Optional: Benchmark it if you like:
21 |
22 | # Measure execution time
23 | torch.cuda.synchronize()
24 | start_time = time.time()
25 | for i in range(10):
26 | c = f(a,b)
27 | torch.cuda.synchronize()
28 | end_time = time.time()
29 | elapsed_time = end_time - start_time
30 |
31 | print(f"Execution time for 10 runs: {elapsed_time:.4f} seconds")
--------------------------------------------------------------------------------
/docs/test_scripts/profiling/cfg.yaml:
--------------------------------------------------------------------------------
1 | defaults:
2 | - _self_
3 | - override hydra/hydra_logging: disabled
4 | - override hydra/job_logging: disabled
5 |
6 | hydra:
7 | output_subdir: null
8 | run:
9 | dir: .
10 |
11 | shape: [2048, 1024]
12 | batch_size: 8
13 | train: true
14 | model:
15 | num_heads: 32
16 | qkv_bias: False
17 | attn_drop: 0.
18 | proj_drop: 0.
19 |
20 | profile:
21 | torch: False
22 | nvtx: False
23 | line_profiler: False
--------------------------------------------------------------------------------
/docs/test_scripts/test_basic_inference.py:
--------------------------------------------------------------------------------
1 | # [imports]
2 | import torch
3 |
4 | import physicsnemo
5 | from physicsnemo.models.fno.fno import FNO
6 |
7 | # [imports]
8 |
9 | # [code]
10 |
11 | model = FNO(
12 | in_channels=1,
13 | out_channels=1,
14 | decoder_layers=1,
15 | decoder_layer_size=32,
16 | dimension=2,
17 | latent_channels=32,
18 | num_fno_layers=4,
19 | num_fno_modes=12,
20 | padding=5,
21 | ).to("cuda")
22 |
23 | # Save the checkpoint. For demo, we will just save untrained checkpoint,
24 | # but in typical workflows is saved after model training.
25 | model.save("untrained_checkpoint.mdlus")
26 |
27 | # Inference code
28 |
29 | # The parameters to instantitate the model will be loaded from the checkpoint
30 | model_inf = physicsnemo.Module.from_checkpoint("untrained_checkpoint.mdlus").to("cuda")
31 |
32 | # put the model in evaluation mode
33 | model_inf.eval()
34 |
35 | # run inference
36 | with torch.inference_mode():
37 | input = torch.ones(8, 1, 256, 256).to("cuda")
38 | output = model_inf(input)
39 | print(output.shape)
40 |
41 | # [code]
42 |
--------------------------------------------------------------------------------
/examples/additive_manufacturing/sintering_physics/requirements.txt:
--------------------------------------------------------------------------------
1 | # pyvista is optional, required if need to run data preprocessing from raw simulation
2 | # pyvista==0.32.1
3 | tensorflow==2.15 # generate tfrecord
4 |
--------------------------------------------------------------------------------
/examples/cfd/darcy_fno/README.md:
--------------------------------------------------------------------------------
1 | # Fourier Neural Operater for Darcy Flow
2 |
3 | This example demonstrates how to set up a data-driven model for a 2D Darcy flow using
4 | the Fourier Neural Operator (FNO) architecture inside of PhysicsNeMo.
5 | This example runs on a single GPU, go to the
6 | `darcy_nested_fno` example for exploring a multi-GPU training.
7 |
8 | ## Prerequisites
9 |
10 | Install the required dependencies by running below:
11 |
12 | ```bash
13 | pip install -r requirements.txt
14 | ```
15 |
16 | ## Getting Started
17 |
18 | To train the model, run
19 |
20 | ```bash
21 | python train_fno_darcy.py
22 | ```
23 |
24 | training data will be generated on the fly.
25 |
26 | ## Additional Information
27 |
28 | ## References
29 |
30 | - [Fourier Neural Operator for Parametric Partial Differential Equations](https://arxiv.org/abs/2010.08895)
31 |
--------------------------------------------------------------------------------
/examples/cfd/darcy_fno/requirements.txt:
--------------------------------------------------------------------------------
1 | hydra-core>=1.2.0
2 | warp-lang>=1.6.0
3 | termcolor>=2.1.1
4 |
--------------------------------------------------------------------------------
/examples/cfd/darcy_nested_fnos/requirements.txt:
--------------------------------------------------------------------------------
1 | mlflow>=2.1.1
--------------------------------------------------------------------------------
/examples/cfd/darcy_physics_informed/requirements.txt:
--------------------------------------------------------------------------------
1 | gdown
2 |
--------------------------------------------------------------------------------
/examples/cfd/darcy_transolver/requirements.txt:
--------------------------------------------------------------------------------
1 | einops>=0.7.0
2 | hydra-core>=1.2.0
3 | omegaconf>=2.3.0
4 | scipy>=1.15.0
5 | warp-lang>=1.7.0
6 | termcolor>=2.1.1
7 | mlflow>=2.1.1
--------------------------------------------------------------------------------
/examples/cfd/darcy_transolver/utils/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .testloss import TestLoss
18 |
--------------------------------------------------------------------------------
/examples/cfd/datacenter/conf/config.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | hydra:
18 | job:
19 | chdir: True
20 | run:
21 | dir: ./outputs
22 |
23 | start_epoch: 1
24 | max_epochs: 260
25 |
26 | start_lr: 1e-3
27 | lr_scheduler_gamma: 0.99975
28 |
29 | train_batch_size: 2
30 | val_batch_size: 2
31 |
32 | train_num_samples: 768
33 | val_num_samples: 192
--------------------------------------------------------------------------------
/examples/cfd/datacenter/conf/config_inference.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | hydra:
18 | job:
19 | chdir: True
20 | run:
21 | dir: ./outputs
22 |
--------------------------------------------------------------------------------
/examples/cfd/datacenter/requirements.txt:
--------------------------------------------------------------------------------
1 | vtk
2 | omegaconf
3 | hydra-core
4 | nvidia-physicsnemo.sym
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/aero_graph_net/conf/data/ahmed.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: physicsnemo.datapipes.gnn.ahmed_body_dataset.AhmedBodyDataset
18 | _convert_: all
19 |
20 | name: ???
21 | data_dir: ${data.data_dir}
22 | split: ???
23 | num_samples: ???
24 | # number of workers used by dataset during pre-loading (null - auto-select).
25 | num_workers: null
26 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/aero_graph_net/conf/data/drivaernet.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: physicsnemo.datapipes.gnn.drivaernet_dataset.DrivAerNetDataset
18 | _convert_: all
19 |
20 | name: ???
21 | data_dir: ${data.data_dir}
22 | split: ???
23 | num_samples: ???
24 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/aero_graph_net/conf/experiment/ahmed/bsms_mgn.yaml:
--------------------------------------------------------------------------------
1 | # @package _global_
2 |
3 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
4 | # SPDX-FileCopyrightText: All rights reserved.
5 | # SPDX-License-Identifier: Apache-2.0
6 | #
7 | # Licensed under the Apache License, Version 2.0 (the "License");
8 | # you may not use this file except in compliance with the License.
9 | # You may obtain a copy of the License at
10 | #
11 | # http://www.apache.org/licenses/LICENSE-2.0
12 | #
13 | # Unless required by applicable law or agreed to in writing, software
14 | # distributed under the License is distributed on an "AS IS" BASIS,
15 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | # See the License for the specific language governing permissions and
17 | # limitations under the License.
18 |
19 | defaults:
20 | - ahmed/mgn # use MGN experiment as a base and change only required parameters.
21 | - override /data@data.train: bsms_ahmed
22 | - override /data@data.val: bsms_ahmed
23 | - override /model: bsms_mgn
24 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/aero_graph_net/conf/experiment/drivaernet/agn.yaml:
--------------------------------------------------------------------------------
1 | # @package _global_
2 |
3 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
4 | # SPDX-FileCopyrightText: All rights reserved.
5 | # SPDX-License-Identifier: Apache-2.0
6 | #
7 | # Licensed under the Apache License, Version 2.0 (the "License");
8 | # you may not use this file except in compliance with the License.
9 | # You may obtain a copy of the License at
10 | #
11 | # http://www.apache.org/licenses/LICENSE-2.0
12 | #
13 | # Unless required by applicable law or agreed to in writing, software
14 | # distributed under the License is distributed on an "AS IS" BASIS,
15 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | # See the License for the specific language governing permissions and
17 | # limitations under the License.
18 |
19 | defaults:
20 | - drivaernet/mgn # use MGN experiment as a base and change only required parameters.
21 | - /loss@loss.c_d: mseloss
22 |
23 | model:
24 | _target_: models.AeroGraphNet
25 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/aero_graph_net/conf/loss/mseloss.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.nn.MSELoss
18 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/aero_graph_net/conf/loss/rrmseloss.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: utils.RRMSELoss
18 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/aero_graph_net/conf/lr_scheduler/exponentiallr.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.optim.lr_scheduler.ExponentialLR
18 | gamma: 0.99985
19 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/aero_graph_net/conf/lr_scheduler/steplr.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.optim.lr_scheduler.ExponentialLR
18 | step_size: 8
19 | gamma: 0.99985
20 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/aero_graph_net/conf/model/bsms_mgn.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | defaults:
18 | - mgn # use MGN model as a base and change only required parameters.
19 |
20 | _target_: physicsnemo.models.meshgraphnet.BiStrideMeshGraphNet
21 |
22 | num_mesh_levels: 2
23 | bistride_unet_levels: 1
24 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/aero_graph_net/conf/optimizer/adam.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.optim.Adam
18 | lr: 0.0001
19 | # weight_decay: 1e-4
20 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/aero_graph_net/conf/optimizer/fusedadam.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: apex.optimizers.FusedAdam
18 | lr: 0.0001
19 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/aero_graph_net/conf/visualizer/mesh.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: visualizers.MeshVisualizer
18 | _convert_: all
19 |
20 | scalar: ???
21 | tag: ???
22 | camera_positions: ???
23 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/aero_graph_net/requirements.txt:
--------------------------------------------------------------------------------
1 | hydra-core>=1.3.0
2 | omegaconf>=2.3.0
3 | wandb>=0.13.7
4 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/domino/requirements.txt:
--------------------------------------------------------------------------------
1 | torchinfo
2 | warp-lang
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/figconvnet/configs/data/drivaerml.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: src.data.DrivAerMLDataModule
18 | _convert_: all
19 |
20 | data_path: ???
21 | num_points: 100_000
22 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/figconvnet/configs/data/drivaernet.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: src.data.DrivAerNetDataModule
18 | _convert_: all
19 |
20 | data_path: ???
21 | num_points: 32768 # 2^15
22 |
23 | preprocessors:
24 | - _target_: src.data.drivaernet_datamodule.DrivAerNetPreprocessor
25 | num_points: ${...num_points}
26 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/figconvnet/configs/loss/celoss.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.nn.CrossEntropyLoss
18 | reduction: mean
19 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/figconvnet/configs/loss/huberloss.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.nn.HuberLoss
18 | reduction: mean
19 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/figconvnet/configs/loss/lploss.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | lploss:
18 | _target_: src.losses.LpLoss
19 | size_average: true
20 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/figconvnet/configs/loss/mseloss.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.nn.MSELoss
18 | reduction: mean
19 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/figconvnet/configs/loss/truncatedmseloss.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: src.losses.TruncatedMSELoss
18 | reduction: mean
19 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/figconvnet/configs/lr_scheduler/cosineannealinglr.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.optim.lr_scheduler.CosineAnnealingLR
18 | T_max: ???
19 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/figconvnet/configs/lr_scheduler/onecyclelr.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.optim.lr_scheduler.OneCycleLR
18 | max_lr: 0.001
19 | epochs: ${..train.num_epochs}
20 | steps_per_epoch: 59
21 | pct_start: 0.2
22 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/figconvnet/configs/lr_scheduler/reducelronplateau.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.optim.lr_scheduler.ReduceLROnPlateau
18 |
19 | factor: 0.1
20 | patience: 10
21 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/figconvnet/configs/lr_scheduler/steplr.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.optim.lr_scheduler.StepLR
18 | step_size: 50
19 | gamma: 0.5
20 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/figconvnet/configs/model/figconv_unet_drivaerml.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | defaults:
18 | - figconv_unet_drivaer
19 |
20 | _target_: src.networks.FIGConvUNetDrivAerML
21 |
22 | out_channels: 4
23 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/figconvnet/configs/optimizer/adam.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.optim.Adam
18 | lr: 0.001
19 | weight_decay: 1e-4
20 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/figconvnet/configs/optimizer/adamw.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.optim.AdamW
18 | lr: 0.001
19 | weight_decay: 1e-4
20 | fused: true
21 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/figconvnet/configs/optimizer/sgd.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.optim.SGD
18 | lr: 0.1
19 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/figconvnet/requirements.txt:
--------------------------------------------------------------------------------
1 | hydra-core>=1.3.0
2 | jaxtyping>=0.2
3 | omegaconf>=2.3.0
4 | pyvista>=0.40.1
5 | torchinfo>=1.8
6 | wandb>=0.13.7
7 | warp-lang>=1.0
8 | webdataset>=0.2
9 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/figconvnet/src/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/figconvnet/src/data/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .base_datamodule import BaseDataModule
18 | from .drivaerml_datamodule import DrivAerMLDataModule
19 | from .drivaernet_datamodule import DrivAerNetDataModule
20 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/figconvnet/src/data/components/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/figconvnet/src/networks/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .figconvunet_drivaer import FIGConvUNetDrivAerML, FIGConvUNetDrivAerNet
18 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/figconvnet/src/utils/seed.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | import numpy as np
18 | import torch
19 |
20 |
21 | def set_seed(seed: int = 0):
22 | """Random seed initialization."""
23 |
24 | torch.manual_seed(seed)
25 | np.random.seed(seed)
26 | torch.cuda.manual_seed(seed)
27 | torch.backends.cudnn.deterministic = True
28 |
--------------------------------------------------------------------------------
/examples/cfd/external_aerodynamics/xaeronet/requirements.txt:
--------------------------------------------------------------------------------
1 | trimesh==4.5.0
2 |
--------------------------------------------------------------------------------
/examples/cfd/flow_reconstruction_diffusion/dataset/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.anguage governing permissions and
16 | # limitations under the License.
17 |
18 |
19 | from .dataset import ImageFolderDataset, KolmogorovFlowDataset
20 |
--------------------------------------------------------------------------------
/examples/cfd/flow_reconstruction_diffusion/requirements.txt:
--------------------------------------------------------------------------------
1 | einops>=0.8.0
2 | hydra-core>=1.3.0
3 | matplotlib>=3.10.0
4 | omegaconf>=2.3.0
5 | pillow>=10.3.0
6 | psutil>=6.1.0
7 | pyyaml>=6.0.2
8 | requests>=2.32.3
9 | tqdm>=4.67.1
--------------------------------------------------------------------------------
/examples/cfd/gray_scott_rnn/conf/config_3d.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | hydra:
18 | job:
19 | chdir: True
20 | run:
21 | dir: ./outputs_3d/
22 |
23 | start_epoch: 0
24 | max_epochs: 50
25 |
26 | batch_size: 1
27 | batch_size_test: 1
28 |
29 | start_lr: 1e-3
30 | lr_scheduler_gamma: 0.999974354
31 | checkpoint_save_freq: 5
32 |
--------------------------------------------------------------------------------
/examples/cfd/gray_scott_rnn/requirements.txt:
--------------------------------------------------------------------------------
1 | h5py>=3.7.0
2 | hydra-core>=1.2.0
3 | termcolor>=2.1.1
4 | pyevtk>=1.6.0
--------------------------------------------------------------------------------
/examples/cfd/lagrangian_mgn/conf/loss/mseloss.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.nn.MSELoss
18 | reduction: none
19 |
--------------------------------------------------------------------------------
/examples/cfd/lagrangian_mgn/conf/lr_scheduler/cosine.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.optim.lr_scheduler.CosineAnnealingLR
18 |
19 | T_max: # if not set via the command line, will be set in the code.
20 | eta_min: 1e-6
21 |
--------------------------------------------------------------------------------
/examples/cfd/lagrangian_mgn/conf/lr_scheduler/exponentiallr.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.optim.lr_scheduler.ExponentialLR
18 | gamma: 0.99985
19 |
--------------------------------------------------------------------------------
/examples/cfd/lagrangian_mgn/conf/lr_scheduler/onecyclelr.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.optim.lr_scheduler.OneCycleLR
18 |
19 | max_lr: 1e-4
20 | total_steps: # if not set via the command line, will be set in the code.
21 |
--------------------------------------------------------------------------------
/examples/cfd/lagrangian_mgn/conf/model/mgn_2d.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | defaults:
18 | - mgn # Use MGN model as a base.
19 |
20 | input_dim_nodes: 22 # 2 (pos) + 2*5 (history of velocity) + 4 boundary features + 6 (node type)
21 | output_dim: 2 # 2 acceleration
22 | input_dim_edges: 3 # 2 displacement + 1 distance
23 |
--------------------------------------------------------------------------------
/examples/cfd/lagrangian_mgn/conf/model/mgn_3d.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | defaults:
18 | - mgn # Use MGN model as a base.
19 |
20 | input_dim_nodes: 30 # 3 (pos) + 3*5 (history of velocity) + 6 boundary features + 6 (node type)
21 | output_dim: 3 # 3 acceleration
22 | input_dim_edges: 4 # 3 displacement + 1 distance
23 |
--------------------------------------------------------------------------------
/examples/cfd/lagrangian_mgn/conf/optimizer/adam.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.optim.Adam
18 | lr: 1e-4
19 | weight_decay: 1e-5
20 |
--------------------------------------------------------------------------------
/examples/cfd/lagrangian_mgn/conf/optimizer/fused_adam.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | defaults:
18 | - adam
19 |
20 | _target_: apex.optimizers.FusedAdam
21 |
--------------------------------------------------------------------------------
/examples/cfd/lagrangian_mgn/requirements.txt:
--------------------------------------------------------------------------------
1 | hydra-core>=1.3.0
2 | omegaconf>=2.3.0
3 | tensorflow<=2.17.1
4 | wandb>=0.13.7
5 |
--------------------------------------------------------------------------------
/examples/cfd/ldc_pinns/config.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | arch:
18 | decoder:
19 | out_features: 3
20 | layers: 1
21 | layer_size: 32
22 |
23 | fno:
24 | in_channels: 2
25 | dimension: 2
26 | latent_channels: 32
27 | fno_layers: 4
28 | fno_modes: 12
29 | padding: 9
30 |
31 | scheduler:
32 | initial_lr: 1.E-3
33 | decay_rate: .9995
--------------------------------------------------------------------------------
/examples/cfd/mhd_pino/dataloaders/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .datasets import Dedalus2DDataset
18 | from .dataloaders import MHDDataloader, MHDDataloaderVecPot
19 |
--------------------------------------------------------------------------------
/examples/cfd/mhd_pino/losses/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .losses import LpLoss
18 | from .loss_mhd import LossMHD
19 | from .loss_mhd_vec_pot import LossMHDVecPot
20 | from .loss_mhd_physicsnemo import LossMHD_PhysicsNeMo
21 | from .loss_mhd_vec_pot_physicsnemo import LossMHDVecPot_PhysicsNeMo
22 |
--------------------------------------------------------------------------------
/examples/cfd/mhd_pino/requirements.txt:
--------------------------------------------------------------------------------
1 | plotly
2 | tensorly
3 | tensorly-torch
4 | mlflow>=2.1.1
5 |
--------------------------------------------------------------------------------
/examples/cfd/mhd_pino/tfno/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .tfno import TFNO, TFNO1DEncoder, TFNO2DEncoder, TFNO3DEncoder, TFNO4DEncoder
18 | from .spectral_layers import (
19 | FactorizedSpectralConv1d,
20 | FactorizedSpectralConv2d,
21 | FactorizedSpectralConv3d,
22 | FactorizedSpectralConv4d,
23 | )
24 |
--------------------------------------------------------------------------------
/examples/cfd/navier_stokes_rnn/requirements.txt:
--------------------------------------------------------------------------------
1 | gdown>=5.0.0
2 | h5py>=3.7.0
3 | hydra-core>=1.2.0
4 | matplotlib>=3.8.0
5 | termcolor>=2.1.1
--------------------------------------------------------------------------------
/examples/cfd/stokes_mgn/raw_dataset/download_dataset.sh:
--------------------------------------------------------------------------------
1 | # ignore_header_test
2 | # Copyright 2023 Stanford University
3 | #
4 | # Licensed under the Apache License, Version 2.0 (the "License");
5 | # you may not use this file except in compliance with the License.
6 | # You may obtain a copy of the License at
7 | #
8 | # http://www.apache.org/licenses/LICENSE-2.0
9 | #
10 | # Unless required by applicable law or agreed to in writing, software
11 | # distributed under the License is distributed on an "AS IS" BASIS,
12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | # See the License for the specific language governing permissions and
14 | # limitations under the License.
15 |
16 | """
17 | Download Stokes flow dataset
18 | """
19 |
20 | wget --content-disposition 'https://api.ngc.nvidia.com/v2/resources/org/nvidia/team/physicsnemo/physicsnemo_datasets_stokes_flow/0.0.1/files?redirect=true&path=results_polygon.zip' -O results_polygon.zip
21 | unzip results_polygon.zip
22 | mv results ../
23 | rm results_polygon.zip
24 |
--------------------------------------------------------------------------------
/examples/cfd/stokes_mgn/requirements.txt:
--------------------------------------------------------------------------------
1 | hydra-core>=1.2.0
2 | wandb>=0.15.1
3 | psutil>=6.0.0
4 | scipy>=1.15.0
5 | vtk>=9.2.6
6 | termcolor>=2.1.1
7 | pyvista>=0.40.1
--------------------------------------------------------------------------------
/examples/cfd/swe_distributed_gnn/figures/dist_message_passing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/examples/cfd/swe_distributed_gnn/figures/dist_message_passing.png
--------------------------------------------------------------------------------
/examples/cfd/swe_distributed_gnn/figures/dist_mlp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/examples/cfd/swe_distributed_gnn/figures/dist_mlp.png
--------------------------------------------------------------------------------
/examples/cfd/swe_distributed_gnn/figures/global_vs_local_graph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/examples/cfd/swe_distributed_gnn/figures/global_vs_local_graph.png
--------------------------------------------------------------------------------
/examples/cfd/swe_distributed_gnn/figures/memory_scaling_dim128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/examples/cfd/swe_distributed_gnn/figures/memory_scaling_dim128.png
--------------------------------------------------------------------------------
/examples/cfd/swe_distributed_gnn/figures/val_loss_latlon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/examples/cfd/swe_distributed_gnn/figures/val_loss_latlon.png
--------------------------------------------------------------------------------
/examples/cfd/swe_distributed_gnn/requirements.txt:
--------------------------------------------------------------------------------
1 | cartopy
2 | torch-harmonics
3 |
--------------------------------------------------------------------------------
/examples/cfd/swe_nonlinear_pino/requirements.txt:
--------------------------------------------------------------------------------
1 | h5py>=3.7.0
2 | matplotlib>=3.8.0
3 | hydra-core>=1.2.0
4 | termcolor>=2.1.1
5 | imageio>=2.31.0
--------------------------------------------------------------------------------
/examples/cfd/vortex_shedding_mgn/raw_dataset/download_dataset.sh:
--------------------------------------------------------------------------------
1 |
2 | """
3 | Bash script to download the meshgraphnet dataset from deepmind's repo.
4 | - Repo: https://github.com/deepmind/deepmind-research/tree/master/meshgraphnets
5 | - Run: sh download_dataset.sh cylinder_flow
6 | """
7 |
8 | git clone https://github.com/deepmind/deepmind-research.git
9 | set -e
10 | DATASET_NAME="${1}"
11 | OUTPUT_DIR="${DATASET_NAME}"
12 | sh deepmind-research/meshgraphnets/download_dataset.sh ${DATASET_NAME} ${OUTPUT_DIR}
13 |
--------------------------------------------------------------------------------
/examples/cfd/vortex_shedding_mgn/requirements.txt:
--------------------------------------------------------------------------------
1 | tensorflow<=2.17.1
2 | hydra-core>=1.2.0
3 | wandb>=0.13.7
4 | scipy>=1.15.0
5 | vtk>=9.2.6
--------------------------------------------------------------------------------
/examples/generative/corrdiff/README.md:
--------------------------------------------------------------------------------
1 | # CorrDiff: Generative Correction Diffusion Model for Kilometer-Scale Atmospheric Downscaling
2 |
3 | This example has been moved to the
4 | [**`physicsnemo/examples/weather/corrdiff`**](https://github.com/NVIDIA/physicsnemo/tree/main/examples/weather/corrdiff)
5 | directory.
6 |
--------------------------------------------------------------------------------
/examples/generative/diffusion/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | # Diffusion-based-Fluid-Super-resolution
4 |
5 |
6 | This example has been moved to the
7 | [**`physicsnemo/examples/cfd/flow_reconstruction_diffusion`**](https://github.com/NVIDIA/physicsnemo/tree/main/examples/weather/corrdiff)
8 | directory.
--------------------------------------------------------------------------------
/examples/generative/stormcast/README.md:
--------------------------------------------------------------------------------
1 |
2 | # StormCast: Kilometer-Scale Convection Allowing Model Emulation using Generative Diffusion Modeling
3 |
4 | This example has been moved to the
5 | [**`physicsnemo/examples/weather/stormcast`**](https://github.com/NVIDIA/physicsnemo/tree/main/examples/weather/stormcast)
6 | directory.
7 |
--------------------------------------------------------------------------------
/examples/healthcare/bloodflow_1d_mgn/requirements.txt:
--------------------------------------------------------------------------------
1 | gdown>=5.2.0
2 | hydra-core>=1.3.0
3 | matplotlib>=3.10.0
4 | vtk>=9.2.6
5 | wandb>=0.13.7
6 |
--------------------------------------------------------------------------------
/examples/healthcare/brain_anomaly_detection/requirements.txt:
--------------------------------------------------------------------------------
1 | hydra-core>=1.2.0
2 | h5py>=3.7.0
3 | termcolor>=2.1.1
--------------------------------------------------------------------------------
/examples/molecular_dynamics/lennard_jones/requirements.txt:
--------------------------------------------------------------------------------
1 | gdown>=5.0.0
2 | psutil>=6.0.0
3 | termcolor>=2.1.1
4 | hydra-core>=1.2.0
5 | scipy>=1.15.0
6 | matplotlib>=3.8.0
--------------------------------------------------------------------------------
/examples/multi_storage_client/requirements.txt:
--------------------------------------------------------------------------------
1 | multi-storage-client[boto3]
2 |
--------------------------------------------------------------------------------
/examples/structural_mechanics/deforming_plate/raw_dataset/download_dataset.sh:
--------------------------------------------------------------------------------
1 |
2 | """
3 | Bash script to download the meshgraphnet dataset from deepmind's repo.
4 | - Repo: https://github.com/deepmind/deepmind-research/tree/master/meshgraphnets
5 | - Run: sh download_dataset.sh deforming_plate
6 | """
7 |
8 | git clone https://github.com/deepmind/deepmind-research.git
9 | set -e
10 | DATASET_NAME="${1}"
11 | OUTPUT_DIR="${DATASET_NAME}"
12 | sh deepmind-research/meshgraphnets/download_dataset.sh ${DATASET_NAME} ${OUTPUT_DIR}
13 |
--------------------------------------------------------------------------------
/examples/structural_mechanics/deforming_plate/requirements.txt:
--------------------------------------------------------------------------------
1 | hydra-core>=1.3.0
2 | matplotlib>=3.10.0
3 | omegaconf>=2.3.0
4 | tensorflow<=2.17.1
5 | vtk>=9.2.6
6 | wandb>=0.13.7
--------------------------------------------------------------------------------
/examples/weather/corrdiff/conf/base/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/examples/weather/corrdiff/conf/base/dataset/hrrr_mini.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | # Dataset type
18 | type: hrrr_mini
19 | # Path to .nc data file. Must be overridden.
20 | data_path: ???
21 | # Path to json stats file. Must be overriden.
22 | stats_path: ???
23 | # Names of output channels. Must be overridden.
24 | output_variables: ['10u', '10v']
25 |
--------------------------------------------------------------------------------
/examples/weather/corrdiff/conf/base/generation/non_patched.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | defaults:
18 | - base_all
19 |
20 | patching: False
--------------------------------------------------------------------------------
/examples/weather/corrdiff/conf/base/generation/sampler/deterministic.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | # @package _global_.sampler
18 |
19 | type: deterministic
20 | num_steps: 9
21 | # Number of denoising steps
22 | solver: euler
23 | # ODE solver [euler, heun]
--------------------------------------------------------------------------------
/examples/weather/corrdiff/conf/base/generation/sampler/stochastic.yaml:
--------------------------------------------------------------------------------
1 | # @package _global_.sampler
2 |
3 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
4 | # SPDX-FileCopyrightText: All rights reserved.
5 | # SPDX-License-Identifier: Apache-2.0
6 | #
7 | # Licensed under the Apache License, Version 2.0 (the "License");
8 | # you may not use this file except in compliance with the License.
9 | # You may obtain a copy of the License at
10 | #
11 | # http://www.apache.org/licenses/LICENSE-2.0
12 | #
13 | # Unless required by applicable law or agreed to in writing, software
14 | # distributed under the License is distributed on an "AS IS" BASIS,
15 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | # See the License for the specific language governing permissions and
17 | # limitations under the License.
18 |
19 | type: stochastic
20 | #overlap_pix has to be no less than 2*boundary_pix
21 |
--------------------------------------------------------------------------------
/examples/weather/corrdiff/conf/base/training/diffusion.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | defaults:
18 | - base_all
19 |
20 | io:
21 | regression_checkpoint_path: ???
22 | # Where to load the regression checkpoint. Must be overridden.
23 |
--------------------------------------------------------------------------------
/examples/weather/corrdiff/conf/base/training/regression.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | defaults:
18 | - base_all
--------------------------------------------------------------------------------
/examples/weather/corrdiff/datasets/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/examples/weather/corrdiff/requirements.txt:
--------------------------------------------------------------------------------
1 | netCDF4>=1.7.2
2 | hydra-core>=1.2.0
3 | omegaconf>=2.3.0
4 | wandb>=0.13.7
5 | nvtx>=0.2.8
6 | dask>=2025.3.0
7 | xskillscore>=0.0.26
8 | cftime>=1.6.2
9 | opencv-python>=4.11.0.86
10 | numba>=0.61.0
11 | scipy>=1.15.1
12 | typer>=0.16.0
--------------------------------------------------------------------------------
/examples/weather/dataset_download/conf/config_tas.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | zarr_store_path: "./zarr_tas_data"
18 | hdf5_store_path: "./hdf5_tas_data"
19 | dt: 6
20 | start_train_year: 1980
21 | end_train_year: 2015
22 | test_years:
23 | - 2016
24 | - 2017
25 | out_of_sample_years:
26 | - 2018
27 | compute_mean_std: True
28 | variables:
29 | - "2m_temperature"
30 |
--------------------------------------------------------------------------------
/examples/weather/dataset_download/requirements.txt:
--------------------------------------------------------------------------------
1 | cdsapi
2 | xarray
3 | dask
4 | netCDF4
5 | h5netcdf
6 | hydra-core
7 | termcolor>=2.1.1
--------------------------------------------------------------------------------
/examples/weather/diagnostic/requirements.txt:
--------------------------------------------------------------------------------
1 | hydra-core
2 | termcolor>=2.1.1
--------------------------------------------------------------------------------
/examples/weather/dlwp/conf/config.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | hydra:
18 | job:
19 | chdir: True
20 | run:
21 | dir: ./outputs
22 |
23 | wb_artifacts: False
24 |
25 | start_epoch: 1
26 | max_epoch: 300
27 |
28 | # model parameters
29 | nr_input_channels: 18
30 | nr_output_channels: 14
31 |
32 | batch_size:
33 | train: 32
34 | validate: 2
35 | out_of_sample: 2
36 |
--------------------------------------------------------------------------------
/examples/weather/dlwp/data_curation/requirements.txt:
--------------------------------------------------------------------------------
1 | cdsapi
2 | xarray
3 | netCDF4
4 | h5py
5 | scipy
6 | h5netcdf
7 |
--------------------------------------------------------------------------------
/examples/weather/dlwp/requirements.txt:
--------------------------------------------------------------------------------
1 | mlflow>=2.1.1
2 | hydra-core
3 | termcolor>=2.1.1
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/callbacks/early_stopping.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | early_stopping:
18 | _target_: pytorch_lightning.callbacks.EarlyStopping
19 | monitor: 'val_loss'
20 | min_delta: 0.0
21 | patience: 50
22 | verbose: false
23 | mode: 'min'
24 | strict: true
25 |
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/callbacks/learning_rate_monitor.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | learning_rate_monitor:
18 | _target_: pytorch_lightning.callbacks.LearningRateMonitor
19 | logging_interval: epoch
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/callbacks/model_checkpoint.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | model_checkpoint:
18 | _target_: pytorch_lightning.callbacks.ModelCheckpoint
19 | filename: '{epoch:03d}-{val_loss:.4E}'
20 | monitor: 'val_loss'
21 | mode: 'min'
22 | save_top_k: 10
23 | save_last: True
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/callbacks/swa.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | stochastic_weight_avg:
18 | _target_: pytorch_lightning.callbacks.StochasticWeightAveraging
19 | swa_epoch_start: 5
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/data/scaling/hpx64.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | {}
18 |
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/data/splits/1959-1998.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | train_date_start: 1959-01-01
18 | train_date_end: 1998-12-31T18:00
19 | val_date_start: 1999-01-01
20 | val_date_end: 2000-12-31T18:00
21 | test_date_start: 2017-01-01
22 | test_date_end: 2018-12-31T18:00
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/data/splits/1964-2003.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | train_date_start: 1964-01-01
18 | train_date_end: 2003-12-31T18:00
19 | val_date_start: 2004-01-01
20 | val_date_end: 2005-12-31T18:00
21 | test_date_start: 2017-01-01
22 | test_date_end: 2018-12-31T18:00
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/data/splits/default.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | train_date_start: 1979-01-01
18 | train_date_end: 2012-12-31T18:00
19 | val_date_start: 2013-01-01
20 | val_date_end: 2016-12-31T18:00
21 | test_date_start: 2017-01-01
22 | test_date_end: 2018-12-31T18:00
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/data/splits/large_test.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | train_date_start: 1979-01-01
18 | train_date_end: 2012-12-31T18:00
19 | val_date_start: 2013-01-01
20 | val_date_end: 2014-12-31T18:00
21 | test_date_start: 2015-01-01
22 | test_date_end: 2021-12-31T18:00
23 |
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/data/splits/large_test_1950-2022.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | train_date_start: 1950-01-01
18 | train_date_end: 2012-12-31T18:00
19 | val_date_start: 2013-01-01
20 | val_date_end: 2014-12-31T18:00
21 | test_date_start: 2015-01-01
22 | test_date_end: 2021-12-31T18:00
23 |
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/model/modules/activations/capped_gelu.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: physicsnemo.models.layers.activations.CappedGELU
18 | cap_value: 10
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/model/modules/activations/capped_leaky_relu.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: physicsnemo.models.layers.activations.CappedLeakyReLU
18 | cap_value: 10
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/model/modules/blocks/avg_pool.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: physicsnemo.models.dlwp_healpix_layers.healpix_blocks.AvgPool
18 | pooling: 2
19 |
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/model/modules/blocks/conv_gru_block.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: physicsnemo.models.dlwp_healpix_layers.healpix_blocks.ConvGRUBlock
18 | _recursive_: false
19 | in_channels: 3
20 | kernel_size: 1
21 |
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/model/modules/blocks/output_layer.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | defaults:
18 | - activation: null
19 |
20 | _target_: physicsnemo.models.dlwp_healpix_layers.healpix_blocks.BasicConvBlock
21 | in_channels: 3
22 | out_channels: 2
23 | kernel_size: 1
24 | dilation: 1
25 | n_layers: 1
26 |
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/model/modules/blocks/transposed_conv_upsample.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | defaults:
18 | - /model/modules/activations@activation: capped_gelu
19 |
20 | _target_: physicsnemo.models.dlwp_healpix_layers.healpix_blocks.TransposedConvUpsample
21 | in_channels: 3
22 | out_channels: 1
23 | upsampling: 2
24 |
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/model/modules/loss/mse.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.nn.MSELoss
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/trainer/criterion/hpx64_7var.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: physicsnemo.metrics.climate.healpix_loss.WeightedMSE
18 |
19 | weights:
20 | - 1.69454188
21 | - 0.99324593
22 | - 0.28049704
23 | - 0.45038959
24 | - 0.1030195
25 | - 0.25416836
26 | - 3.58602883
27 |
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/trainer/criterion/mse.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: physicsnemo.metrics.climate.healpix_loss.BaseMSE
18 |
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/trainer/criterion/ocean_mse.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: physicsnemo.metrics.climate.healpix_loss.OceanMSE
18 |
19 | lsm_file: /datasets/healpix/HPX32/hpx32_1950-2022_3h_sst_coupled.zarr
20 |
21 |
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/trainer/criterion/weighted_mse.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: physicsnemo.metrics.climate.healpix_loss.WeightedMSE
18 |
19 | weights:
20 | - 1.0
21 | - 1.0
22 | - 1.0
23 | - 1.0
24 | - 1.0
25 | - 1.0
26 | - 1.0
27 |
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/trainer/default.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | defaults:
18 | - criterion: mse
19 | - optimizer: adam
20 | - lr_scheduler: cosine
21 |
22 | _target_: trainer.Trainer
23 | _recursive_: true
24 | max_epochs: 300
25 | early_stopping_patience: null
26 | amp_mode: "fp16"
27 | graph_mode: "train_eval"
28 | output_dir: ${output_dir}
29 |
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/trainer/lr_scheduler/constant.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 |
18 | _target_: torch.optim.lr_scheduler.ConstantLR
19 | factor: 1.0
20 | total_iters: 5
21 | last_epoch: -1
22 |
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/trainer/lr_scheduler/cosine.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.optim.lr_scheduler.CosineAnnealingLR
18 | optimizer: ${model.optimizer}
19 | T_max: ${trainer.max_epochs}
20 | eta_min: 4e-5
21 | last_epoch: -1
22 | verbose: false
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/trainer/lr_scheduler/plateau.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.optim.lr_scheduler.ReduceLROnPlateau
18 | mode: 'min'
19 | factor: 0.3
20 | patience: 20
21 | min_lr: 1e-5
22 |
--------------------------------------------------------------------------------
/examples/weather/dlwp_healpix/configs/trainer/optimizer/adam.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | _target_: torch.optim.Adam
18 | lr: ${learning_rate}
--------------------------------------------------------------------------------
/examples/weather/fcn_afno/requirements.txt:
--------------------------------------------------------------------------------
1 | mlflow>=2.1.1
2 | hydra-core
3 | wandb
4 | termcolor>=2.1.1
--------------------------------------------------------------------------------
/examples/weather/flood_modeling/hydrographnet/requirements.txt:
--------------------------------------------------------------------------------
1 | mlflow>=2.1.1
2 | hydra-core
3 | wandb
4 | termcolor>=2.1.1
--------------------------------------------------------------------------------
/examples/weather/graphcast/loss/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/examples/weather/graphcast/requirements.txt:
--------------------------------------------------------------------------------
1 | git+https://github.com/NVIDIA/TransformerEngine.git@stable
2 | hydra-core
3 | wandb
4 | termcolor>=2.1.1
5 |
--------------------------------------------------------------------------------
/examples/weather/pangu_weather/requirements.txt:
--------------------------------------------------------------------------------
1 | mlflow>=2.1.1
2 | hydra-core
3 | wandb
4 | termcolor>=2.1.1
--------------------------------------------------------------------------------
/examples/weather/regen/obs/station_locations_on_grid.nc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/examples/weather/regen/obs/station_locations_on_grid.nc
--------------------------------------------------------------------------------
/examples/weather/regen/paper_figures/.gitignore:
--------------------------------------------------------------------------------
1 | figure_data/
2 | *.tar.gz
3 |
--------------------------------------------------------------------------------
/examples/weather/regen/paper_figures/evenmore_random_val_stations.npy:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/examples/weather/regen/paper_figures/evenmore_random_val_stations.npy
--------------------------------------------------------------------------------
/examples/weather/regen/paper_figures/figure-05/submit_job.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Job name:
3 | #SBATCH --job-name=evaluate_performance
4 | #
5 | # Account:
6 | #SBATCH --account=nvr_earth2_e2
7 | #SBATCH --output=out/R-%A.%a.out
8 | #SBATCH --error=out/R-%A.%a.err
9 | #
10 | # Partition:
11 | #SBATCH --partition=grizzly,grizzly2,polar,polar2,polar3
12 | #
13 | # Number of tasks (one for each GPU desired for use case) (example):
14 | #SBATCH --ntasks=1
15 | #
16 | # Processors:
17 | #SBATCH --cpus-per-task=4
18 | #
19 | #Number of GPUs
20 | #SBATCH --gpus=8
21 | #
22 | # Wall clock limit:
23 | #SBATCH --time=4:00:00
24 | #
25 | #SBATCH --array=3,5,10,15,20,25,30,35,40,43,45,46,47,48,49,50
26 | #
27 | ## Command(s) to run:
28 | srun --container-image=nvcr.io\#nvidia/pytorch:23.12-py3 python /root/daobs/sda/experiments/corrdiff/evaluation/evaluate_performance_obs_sweep_parallel.py
29 |
30 |
--------------------------------------------------------------------------------
/examples/weather/regen/paper_figures/runall.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 | if ! [[ -d figure_data ]]
5 | then
6 | echo "figure_data/ not found. Did you extract the tar file here?"
7 | exit 1
8 | fi
9 |
10 | if ! [[ -f figure_data/evenmore_random_val_stations.npy ]]; then
11 | python3 val_stations.py
12 | fi
13 |
14 | set -e
15 | project=/path/to/project
16 | conditionalSamples=$project/inferences/peters_step_64_all.nc
17 | unconditionalSamples=$project/inferences/uncondSample/samples.nc
18 |
19 |
20 | # run these two in parallel
21 | python3 score_inference.py figure_data/scores/peters_step_64_all &
22 | # truth is misabled here. It is actually "hrrr"
23 | python3 score_inference.py -g truth figure_data/scores/hrrr &
24 | wait
25 |
26 | export PYTHONPATH=$(pwd)
27 |
28 | python3 figure-07/fig_metrics.py
29 | python3 climate.py
30 |
--------------------------------------------------------------------------------
/examples/weather/regen/requirements.txt:
--------------------------------------------------------------------------------
1 | xarray[io]
2 | cartopy
3 | seaborn
4 | click
5 | wandb
6 | ruamel.yaml
7 | dask
--------------------------------------------------------------------------------
/examples/weather/regen/training/dnnlib/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 |
18 | from .util import EasyDict, make_cache_dir_path
19 |
--------------------------------------------------------------------------------
/examples/weather/regen/training/torch_utils/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 |
18 | # empty
19 |
--------------------------------------------------------------------------------
/examples/weather/stormcast/config/hydra/default.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | run:
18 | dir: ${training.outdir}/${training.experiment_name}/${training.run_id}
19 |
--------------------------------------------------------------------------------
/examples/weather/stormcast/config/regression.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | # Defaults
18 | defaults:
19 |
20 | # Dataset
21 | - dataset/hrrr_era5
22 |
23 | # Model
24 | - model/stormcast
25 |
26 | # Training
27 | - training/default
28 |
29 | # Sampler
30 | - sampler/edm_deterministic
31 |
32 | # Hydra
33 | - hydra/default
34 |
35 | - _self_
36 |
--------------------------------------------------------------------------------
/examples/weather/stormcast/requirements.txt:
--------------------------------------------------------------------------------
1 | pyproj
2 |
3 |
--------------------------------------------------------------------------------
/examples/weather/unified_recipe/conf/filesystem/local.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | type: "file"
18 | key: null
19 | endpoint_url: null
20 | region_name: null
21 |
--------------------------------------------------------------------------------
/examples/weather/unified_recipe/conf/filesystem/object_storage.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | type: "s3"
18 | key: "my_key"
19 | endpoint_url: "https://my_endpoint_url"
20 | region_name: "us-east-1"
21 |
--------------------------------------------------------------------------------
/examples/weather/unified_recipe/conf/transform/downsample.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | name: "downsample"
18 |
19 | kwargs:
20 | downsample_factor: 4
21 |
22 | transformed_shape:
23 | - ${eval:'720 // ${transform.kwargs.downsample_factor}'}
24 | - ${eval:'1440 // ${transform.kwargs.downsample_factor}'}
25 |
--------------------------------------------------------------------------------
/examples/weather/unified_recipe/conf/transform/healpix.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | name: healpix
18 |
19 | kwargs:
20 | nside: 256
21 | order: bilinear
22 |
23 | transformed_shape:
24 | - 12
25 | - ${transform.kwargs.nside}
26 | - ${transform.kwargs.nside}
27 |
--------------------------------------------------------------------------------
/examples/weather/unified_recipe/conf/transform/trim_lat720.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | name: "trim_lat720"
18 |
19 | transformed_shape: [720, 1440]
20 |
--------------------------------------------------------------------------------
/examples/weather/unified_recipe/conf/validation/afno.yaml:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | batch_size: 1
18 | num_steps: 8
19 |
--------------------------------------------------------------------------------
/examples/weather/unified_recipe/requirements.txt:
--------------------------------------------------------------------------------
1 | mlflow>=2.1.1
2 | wandb
3 | termcolor>=2.1.1
4 | hydra-core
--------------------------------------------------------------------------------
/physicsnemo/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .datapipes.datapipe import Datapipe
18 | from .datapipes.meta import DatapipeMetaData
19 | from .models.meta import ModelMetaData
20 | from .models.module import Module
21 |
22 | __version__ = "1.2.0a0"
23 |
--------------------------------------------------------------------------------
/physicsnemo/datapipes/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/physicsnemo/datapipes/benchmarks/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/physicsnemo/datapipes/benchmarks/kernels/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/physicsnemo/datapipes/cae/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .domino_datapipe import DoMINODataPipe
18 | from .mesh_datapipe import MeshDatapipe
19 |
--------------------------------------------------------------------------------
/physicsnemo/datapipes/climate/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .climate import ClimateDatapipe, ClimateDataSourceSpec
18 | from .era5_hdf5 import ERA5HDF5Datapipe
19 | from .synthetic import SyntheticWeatherDataLoader, SyntheticWeatherDataset
20 |
--------------------------------------------------------------------------------
/physicsnemo/datapipes/climate/era5_netcdf.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/physicsnemo/datapipes/climate/utils/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/physicsnemo/datapipes/gnn/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/physicsnemo/datapipes/healpix/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .data_modules import CoupledTimeSeriesDataModule
18 |
--------------------------------------------------------------------------------
/physicsnemo/deploy/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/physicsnemo/deploy/onnx/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .utils import export_to_onnx_stream, run_onnx_inference
18 |
--------------------------------------------------------------------------------
/physicsnemo/deploy/triton/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/physicsnemo/deploy/trt/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/physicsnemo/experimental/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/physicsnemo/launch/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/physicsnemo/launch/config/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/physicsnemo/launch/logging/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .console import PythonLogger, RankZeroLoggingWrapper
18 | from .launch import LaunchLogger
19 |
--------------------------------------------------------------------------------
/physicsnemo/launch/utils/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .checkpoint import get_checkpoint_dir, load_checkpoint, save_checkpoint
18 |
--------------------------------------------------------------------------------
/physicsnemo/metrics/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/physicsnemo/metrics/climate/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/physicsnemo/metrics/diffusion/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .fid import calculate_fid_from_inception_stats
18 | from .loss import (
19 | EDMLoss,
20 | EDMLossSR,
21 | RegressionLoss,
22 | RegressionLossCE,
23 | ResidualLoss,
24 | VELoss,
25 | VELoss_dfsr,
26 | VPLoss,
27 | )
28 |
--------------------------------------------------------------------------------
/physicsnemo/metrics/general/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/physicsnemo/models/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .module import Module
18 |
--------------------------------------------------------------------------------
/physicsnemo/models/afno/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .afno import AFNO
18 | from .distributed import DistributedAFNO
19 | from .modafno import ModAFNO
20 |
--------------------------------------------------------------------------------
/physicsnemo/models/afno/distributed/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .afno import DistributedAFNO
18 |
--------------------------------------------------------------------------------
/physicsnemo/models/dlwp/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .dlwp import DLWP
18 |
--------------------------------------------------------------------------------
/physicsnemo/models/dlwp_healpix/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .HEALPixRecUNet import HEALPixRecUNet
18 | from .HEALPixUNet import HEALPixUNet
19 |
20 | __all__ = ["HEALPixRecUNet", "HEALPixUNet"]
21 |
--------------------------------------------------------------------------------
/physicsnemo/models/domino/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .model import DoMINO
18 |
--------------------------------------------------------------------------------
/physicsnemo/models/fengwu/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .fengwu import Fengwu
18 |
--------------------------------------------------------------------------------
/physicsnemo/models/figconvnet/components/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/physicsnemo/models/fno/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .fno import FNO, FNO1DEncoder, FNO2DEncoder, FNO3DEncoder, FNO4DEncoder, MetaData
18 |
--------------------------------------------------------------------------------
/physicsnemo/models/gnn_layers/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .distributed_graph import (
18 | DistributedGraph,
19 | GraphPartition,
20 | partition_graph_by_coordinate_bbox,
21 | partition_graph_nodewise,
22 | partition_graph_with_id_mapping,
23 | )
24 | from .graph import CuGraphCSC
25 |
--------------------------------------------------------------------------------
/physicsnemo/models/graphcast/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .graph_cast_net import GraphCastNet
18 |
--------------------------------------------------------------------------------
/physicsnemo/models/meshgraphnet/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .meshgraphnet import MeshGraphNet # noqa: I001
18 | from .bsms_mgn import BiStrideMeshGraphNet # noqa: I001
19 | from .meshgraphkan import MeshGraphKAN
20 |
--------------------------------------------------------------------------------
/physicsnemo/models/mlp/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .fully_connected import FullyConnected
18 |
--------------------------------------------------------------------------------
/physicsnemo/models/pangu/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .pangu import Pangu
18 |
--------------------------------------------------------------------------------
/physicsnemo/models/pix2pix/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .pix2pix import Pix2Pix
18 | from .pix2pixunet import Pix2PixUnet
19 |
--------------------------------------------------------------------------------
/physicsnemo/models/rnn/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .rnn_one2many import One2ManyRNN
18 | from .rnn_seq2seq import Seq2SeqRNN
19 |
--------------------------------------------------------------------------------
/physicsnemo/models/srrn/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .super_res_net import SRResNet
18 |
--------------------------------------------------------------------------------
/physicsnemo/models/swinvrnn/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .swinvrnn import SwinRNN
18 |
--------------------------------------------------------------------------------
/physicsnemo/models/unet/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .unet import UNet
18 |
--------------------------------------------------------------------------------
/physicsnemo/models/vfgn/__init__.py:
--------------------------------------------------------------------------------
1 | # ignore_header_test
2 | # ruff: noqa: E402
3 |
4 | # © Copyright 2023 HP Development Company, L.P.
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .graph_network_modules import LearnedSimulator
18 |
--------------------------------------------------------------------------------
/physicsnemo/registry/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .model_registry import ModelRegistry
18 |
--------------------------------------------------------------------------------
/physicsnemo/utils/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .capture import (
18 | StaticCaptureEvaluateNoGrad,
19 | StaticCaptureTraining,
20 | )
21 | from .profiling import Profiler
22 |
--------------------------------------------------------------------------------
/physicsnemo/utils/corrdiff/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .utils import NetCDFWriter, diffusion_step, get_time_from_range, regression_step
18 |
--------------------------------------------------------------------------------
/physicsnemo/utils/graphcast/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/physicsnemo/utils/mesh/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .combine_vtp_files import combine_vtp_files
18 | from .convert_file_formats import convert_tesselated_files_in_directory
19 | from .generate_stl import sdf_to_stl
20 |
--------------------------------------------------------------------------------
/test/ci_tests/config.json:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "copyright_file": "copyright.txt",
4 | "dir": "../../",
5 | "exclude-dir": [
6 | "../../physicsnemo/internal",
7 | "../../docs/"
8 | ],
9 | "include-ext": [
10 | ".py",
11 | ".yaml",
12 | ".ci",
13 | ".release",
14 | "Dockerfile"
15 | ]
16 | }
17 |
--------------------------------------------------------------------------------
/test/ci_tests/copyright.txt:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/test/coverage.docstring.rc:
--------------------------------------------------------------------------------
1 | [run]
2 | branch = True
3 | data_file = .coverage.docs.pytest
4 | concurrency = multiprocessing,thread
5 | source = physicsnemo
6 | omit = experimental
7 |
--------------------------------------------------------------------------------
/test/coverage.pytest.rc:
--------------------------------------------------------------------------------
1 | [run]
2 | branch = True
3 | data_file = .coverage.pytest
4 | concurrency = multiprocessing,thread
5 | source = physicsnemo
6 |
7 | [report]
8 | exclude_lines =
9 | pragma: no cover
--------------------------------------------------------------------------------
/test/datapipes/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/test/datapipes/common/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | from .cuda_graphs import check_cuda_graphs
18 | from .device import check_datapipe_device
19 | from .iterator_check import check_datapipe_iterable
20 | from .sequence import check_sequence
21 | from .shape_check import check_batch_size, check_channels, check_grid, check_seq_length
22 | from .shuffle import check_shuffle
23 |
--------------------------------------------------------------------------------
/test/get_coverage.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # do the coverage checks
4 | coverage run \
5 | --rcfile='coverage.pytest.rc' \
6 | -m pytest \
7 | --ignore=derivs_test.py
8 |
9 | coverage run \
10 | --rcfile='coverage.docstring.rc' \
11 | -m pytest \
12 | --doctest-modules ../physicsnemo/
13 |
14 | coverage combine --data-file=.coverage
15 | coverage report --omit=*test*
16 |
17 | # if you wish to view the report in HTML format uncomment below
18 | # coverage html --omit=*test*
19 |
20 | # cleanup
21 | rm .coverage
22 |
--------------------------------------------------------------------------------
/test/models/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES.
2 | # SPDX-FileCopyrightText: All rights reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
--------------------------------------------------------------------------------
/test/models/data/afno_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/afno_output.pth
--------------------------------------------------------------------------------
/test/models/data/bistridemeshgraphnet_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/bistridemeshgraphnet_output.pth
--------------------------------------------------------------------------------
/test/models/data/conv_rnn_one2many_2d_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/conv_rnn_one2many_2d_output.pth
--------------------------------------------------------------------------------
/test/models/data/conv_rnn_one2many_3d_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/conv_rnn_one2many_3d_output.pth
--------------------------------------------------------------------------------
/test/models/data/conv_rnn_seq2seq_2d_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/conv_rnn_seq2seq_2d_output.pth
--------------------------------------------------------------------------------
/test/models/data/conv_rnn_seq2seq_3d_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/conv_rnn_seq2seq_3d_output.pth
--------------------------------------------------------------------------------
/test/models/data/ddmpp_unet_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/ddmpp_unet_output.pth
--------------------------------------------------------------------------------
/test/models/data/dhariwal_unet_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/dhariwal_unet_output.pth
--------------------------------------------------------------------------------
/test/models/data/diffusion_unet_0.1.0.mdlus:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/diffusion_unet_0.1.0.mdlus
--------------------------------------------------------------------------------
/test/models/data/dlwp_healpix.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/dlwp_healpix.pth
--------------------------------------------------------------------------------
/test/models/data/dlwp_healpix_const.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/dlwp_healpix_const.pth
--------------------------------------------------------------------------------
/test/models/data/dlwp_healpix_decoder.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/dlwp_healpix_decoder.pth
--------------------------------------------------------------------------------
/test/models/data/dlwp_healpix_unet.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/dlwp_healpix_unet.pth
--------------------------------------------------------------------------------
/test/models/data/dlwp_healpix_unet_const.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/dlwp_healpix_unet_const.pth
--------------------------------------------------------------------------------
/test/models/data/dlwp_healpix_unet_decoder.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/dlwp_healpix_unet_decoder.pth
--------------------------------------------------------------------------------
/test/models/data/dlwp_healpix_unet_no_decoder_no_const.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/dlwp_healpix_unet_no_decoder_no_const.pth
--------------------------------------------------------------------------------
/test/models/data/dlwp_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/dlwp_output.pth
--------------------------------------------------------------------------------
/test/models/data/domino_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/domino_output.pth
--------------------------------------------------------------------------------
/test/models/data/fengwu_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/fengwu_output.pth
--------------------------------------------------------------------------------
/test/models/data/figconvunet_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/figconvunet_output.pth
--------------------------------------------------------------------------------
/test/models/data/fno1d_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/fno1d_output.pth
--------------------------------------------------------------------------------
/test/models/data/fno2d_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/fno2d_output.pth
--------------------------------------------------------------------------------
/test/models/data/fno3d_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/fno3d_output.pth
--------------------------------------------------------------------------------
/test/models/data/fno4d_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/fno4d_output.pth
--------------------------------------------------------------------------------
/test/models/data/fullyconnected_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/fullyconnected_output.pth
--------------------------------------------------------------------------------
/test/models/data/graphcastnet_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/graphcastnet_output.pth
--------------------------------------------------------------------------------
/test/models/data/meshgraphkan_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/meshgraphkan_output.pth
--------------------------------------------------------------------------------
/test/models/data/meshgraphnet_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/meshgraphnet_output.pth
--------------------------------------------------------------------------------
/test/models/data/modafno_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/modafno_output.pth
--------------------------------------------------------------------------------
/test/models/data/ncsnpp_unet_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/ncsnpp_unet_output.pth
--------------------------------------------------------------------------------
/test/models/data/pangu_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/pangu_output.pth
--------------------------------------------------------------------------------
/test/models/data/pix2pix_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/pix2pix_output.pth
--------------------------------------------------------------------------------
/test/models/data/sfno_cpu_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/sfno_cpu_output.pth
--------------------------------------------------------------------------------
/test/models/data/sfno_cuda_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/sfno_cuda_output.pth
--------------------------------------------------------------------------------
/test/models/data/superresolution_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/superresolution_output.pth
--------------------------------------------------------------------------------
/test/models/data/swinrnn_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/swinrnn_output.pth
--------------------------------------------------------------------------------
/test/models/data/transolver_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/transolver_output.pth
--------------------------------------------------------------------------------
/test/models/data/unet_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/unet_output.pth
--------------------------------------------------------------------------------
/test/models/data/vfgn_encoderprocess_decode_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/vfgn_encoderprocess_decode_output.pth
--------------------------------------------------------------------------------
/test/models/data/vfgn_ls_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/vfgn_ls_output.pth
--------------------------------------------------------------------------------
/test/models/data/vfgn_mlp_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/vfgn_mlp_output.pth
--------------------------------------------------------------------------------
/test/models/data/vfgn_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/vfgn_output.pth
--------------------------------------------------------------------------------
/test/models/data/vfgn_simulator_output.pth:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/NVIDIA/physicsnemo/e567ccc5a5f83ada777ee566a7ac15e4d9fb3e03/test/models/data/vfgn_simulator_output.pth
--------------------------------------------------------------------------------