├── .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 --------------------------------------------------------------------------------