Skip to content

Conversation

@J-Lentz
Copy link
Contributor

@J-Lentz J-Lentz commented Dec 15, 2025

Description
This PR adds mpp_global_field updates for generalized indices, and also includes the new unit tests introduced in #1763. The MPP_DO_GLOBAL_FIELD_3D_ subroutine is renamed to MPP_GLOBAL_FIELD_, which now takes assumed-rank local and global arguments. Optional xdim and ydim arguments have also been added, which can be used to specify which dimensions are domain-decomposed. MPP_DO_GLOBAL_FIELD_A2A_3D_ is removed, as are the various wrapper subroutines for mpp_global_field (MPP_GLOBAL_FIELD_2D_, MPP_GLOBAL_FIELD_4D_, etc). This PR also adds new subroutines for packing/unpacking 2D-5D arrays to mpp_domains_mod.

How Has This Been Tested?
Builds on C5 with intel-classic. mpp_global_field unit tests pass.

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules
  • New check tests, if applicable, are included
  • make distcheck passes

Jesse Lentz and others added 8 commits September 3, 2025 15:34
Refactor the mpp_global_field unit tests to test nonstandard dimension
orders. These new tests do not currently pass, as the mpp_global_field
implementation uses hardcoded dimension orders.
Test the `mpp_*_group_update` subroutines with nonstandard dimension orders. A
separate module for shared unit test code has also been created.
Modify the interpolator tests to test all possible dimension orders.
The 2D tests in test_data_override_ongrid.F90 have been modified to test
for generalized indices support.
Update mpp_global_field unit tests to pass `xdim` and `ydim` arguments. Fix
issues with the rewritten mpp_global_field that cause build errors and test
failures.
Create a new file for `arr2vec`, `vec2arr`, and `arr_init`. Add
interfaces for these new subroutines to mpp_domains_mod.
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.

1 participant