Skip to content

DLESYM pdates - #1827

Merged
negin513 merged 47 commits into
NVIDIA:mainfrom
daviddpruitt:dlesym_updates
Aug 14, 2026
Merged

DLESYM pdates#1827
negin513 merged 47 commits into
NVIDIA:mainfrom
daviddpruitt:dlesym_updates

Conversation

@daviddpruitt

@daviddpruitt daviddpruitt commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

PhysicsNeMo Pull Request

Description

Updates DLESyM architectures and features.

  • Updates support for diagnostic output variables in HEALPixRecUNet and HEALPixUNet
  • Adds conditional layer norm to DLESyM UNetEncoder and DLESyM UNetDecoder
  • Adds physical constraint support in HEALPixRecUNet and HEALPixUNet
    • NonnegativeConstraint added
  • Adds/updates HEALPix blocks: SymmetricConvNeXtBlock, Multi_SymmetricConvNeXtBlock, DoubleConvNeXtBlock, ConvGRUBlock, ConvNeXtBlock, BasicConvBlock, TransposedConvUpsample, Interpolate
  • Zarr backed datapipline
  • Updated dlwp_healpix coupler
  • Updated HEALPix loss funcitons: ConditionalWeightLoss, WeightedCRPSLoss, and WeightedCRPSLossSpectral
  • Hydrostatic constraint support in losses

Checklist

Dependencies

No new dependencies

Review Process

All PRs are reviewed by the PhysicsNeMo team before merging.

Depending on which files are changed, GitHub may automatically assign a maintainer for review.

We are also testing AI-based code review tools (e.g., Greptile), which may add automated comments with a confidence score.
This score reflects the AI’s assessment of merge readiness and is not a qualitative judgment of your work, nor is
it an indication that the PR will be accepted / rejected.

AI-generated feedback should be reviewed critically for usefulness.
You are not required to respond to every AI comment, but they are intended to help both authors and reviewers.
Please react to Greptile comments with 👍 or 👎 to provide feedback on their accuracy.

@copy-pr-bot

copy-pr-bot Bot commented Jul 10, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@greptile-apps

greptile-apps Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR updates the DLESyM HEALPix model stack and adds Zarr-backed data support. The main changes are:

  • New Zarr time-series and coupled HEALPix datapipes.
  • Updated HEALPix UNet and recurrent UNet support for diagnostics, constraints, residual prediction, and conditional layer norm.
  • New and updated HEALPix blocks, normalization layers, constraints, and padding behavior.
  • New CRPS and hydrostatic climate losses.
  • Expanded tests for HEALPix datapipes, model layers, encoder/decoder behavior, and hydrostatic balance.

Important Files Changed

Filename Overview
physicsnemo/datapipes/healpix/coupledtimeseries_dataset_zarr.py Adds the coupled Zarr dataset path; coupled-variable training noise currently indexes the time axis.
physicsnemo/metrics/climate/healpix_loss.py Adds conditional and CRPS losses; several configuration and device paths can crash.
physicsnemo/metrics/climate/hydrostasy.py Adds hydrostatic constraints and losses; the weighted hydrostatic path assumes humidity channels are present.
physicsnemo/models/dlwp_healpix/HEALPixRecUNet.py Adds recurrent UNet support for residual outputs, constraints, coupling layout, and CLN conditions.
physicsnemo/models/dlwp_healpix/HEALPixUNet.py Adds UNet support for residual outputs, constraints, coupling layout, and CLN conditions.

Reviews (1): Last reviewed commit: "[pre-commit.ci] auto fixes from pre-comm..." | Re-trigger Greptile

Comment thread physicsnemo/datapipes/healpix/coupledtimeseries_dataset_zarr.py Outdated
Comment thread physicsnemo/metrics/climate/healpix_loss.py Outdated
Comment thread physicsnemo/metrics/climate/healpix_loss.py Outdated
Comment thread physicsnemo/metrics/climate/healpix_loss.py Outdated
Comment thread physicsnemo/metrics/climate/hydrostasy.py Outdated
Comment thread .gitignore Outdated
Comment thread physicsnemo/models/dlwp_healpix/layers/healpix_blocks.py Outdated
Comment thread physicsnemo/models/dlwp_healpix/layers/healpix_blocks.py Outdated
Comment thread physicsnemo/models/dlwp_healpix/layers/healpix_blocks.py
Comment thread physicsnemo/models/dlwp_healpix/layers/healpix_blocks.py
Comment thread physicsnemo/models/dlwp_healpix/HEALPixRecUNet.py
Comment thread physicsnemo/models/dlwp_healpix/HEALPixUNet.py Outdated
@negin513

negin513 commented Aug 7, 2026

Copy link
Copy Markdown
Member

Great work!! Minor comments. Also, thanks for walking me through the changes.

@negin513

Copy link
Copy Markdown
Member

Hey @daviddpruitt , most comments are with regards to coupler changes. other than that it looks good to me.

@negin513
negin513 enabled auto-merge August 12, 2026 16:11
@negin513

Copy link
Copy Markdown
Member

/codeowners-info

1 similar comment
@coreyjadams

Copy link
Copy Markdown
Collaborator

/codeowners-info

@github-actions

Copy link
Copy Markdown
Contributor

CODEOWNERS review map

Current for commit 66b66782f3cc. An approval covers every file listed for that owner; one owner is sufficient for shared files.

@coreyjadams — 4 file(s)
  • test/datapipes/test_healpix.py
  • test/datapipes/test_healpix_couple.py
  • test/datapipes/test_healpix_couplers.py
  • test/datapipes/test_healpix_diagnostic_outputs.py
@loliverhennigh — 1 file(s)
  • physicsnemo/nn/module/hpx/padding.py
@pzharrington — 12 file(s)
  • physicsnemo/datapipes/healpix/coupledtimeseries_dataset.py
  • physicsnemo/datapipes/healpix/couplers.py
  • physicsnemo/datapipes/healpix/timeseries_dataset.py
  • physicsnemo/models/dlwp_healpix/HEALPixRecUNet.py
  • physicsnemo/models/dlwp_healpix/HEALPixUNet.py
  • physicsnemo/models/dlwp_healpix/init.py
  • physicsnemo/models/dlwp_healpix/layers/init.py
  • physicsnemo/models/dlwp_healpix/layers/healpix_blocks.py
  • physicsnemo/models/dlwp_healpix/layers/healpix_constraints.py
  • physicsnemo/models/dlwp_healpix/layers/healpix_decoder.py
  • physicsnemo/models/dlwp_healpix/layers/healpix_encoder.py
  • physicsnemo/models/dlwp_healpix/layers/normalization.py

No CODEOWNER

  • test/models/dlwp_healpix/_cln_reference.py
  • test/models/dlwp_healpix/test_conditional_layer_norm.py
  • test/models/dlwp_healpix/test_healpix_blocks.py
  • test/models/dlwp_healpix/test_healpix_encoder_decoder.py
  • test/models/dlwp_healpix/test_healpix_layers.py
  • test/models/dlwp_healpix/test_healpix_recunet_model.py
  • test/models/dlwp_healpix/test_healpix_unet_model.py
  • test/models/dlwp_healpix/test_layers_backward_compat.py
  • test/nn/module/healpix_helpers.py
  • test/nn/module/test_healpix.py

Comment /codeowners-info to refresh.

@coreyjadams coreyjadams left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have left a few comments that are very minor but need to be addressed for downstream users who might not be working with pandas and xarray, but want to run tests. Currently, this will break their development. Please address them before merge?

Comment thread test/datapipes/test_healpix_couplers.py Outdated
Comment thread test/datapipes/test_healpix_diagnostic_outputs.py Outdated
Comment thread test/datapipes/test_healpix_diagnostic_outputs.py Outdated
Comment thread test/models/dlwp_healpix/_cln_reference.py Outdated

@loliverhennigh loliverhennigh left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The module stuff looks fine to me

@pzharrington

Copy link
Copy Markdown
Collaborator

/ok to test 442a354

@negin513
negin513 added this pull request to the merge queue Aug 14, 2026
Merged via the queue into NVIDIA:main with commit 94b3551 Aug 14, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants