Skip to content

Conversation

@kuanchihwang
Copy link
Collaborator

@kuanchihwang kuanchihwang commented May 23, 2025

Tag name (required for release branches):

None

Originator(s):

kuanchihwang

Descriptions (include the issue title, and the keyword ['closes', 'fixes', 'resolves'] followed by the issue number):

This PR ports a new feature from ESCOMP/CAM#1297 to CAM-SIMA. It enables MPAS dynamical core to compute relative vorticities at cell points. Although the feature is currently not used anywhere, it will be when CAM7 physics is implemented in CAM-SIMA.

The formulations are identical to CAM, but the implementation here incorporates object-oriented programming to be consistent with other parts of MPAS dynamical core.

Describe any changes made to the build system:

None

Describe any changes made to the namelist:

None

List any changes to the defaults for the input datasets (e.g., boundary datasets):

None

List all files eliminated and why:

None

List all files added and what they do:

None

List all existing files that have been modified, and describe the changes:

M       src/dynamics/mpas/driver/dyn_mpas_subdriver.F90
  * Enable MPAS subdriver to compute relative vorticities at cell points

Regression tests:

No changes to any existing tests. All tests pass with respect to the last baseline, sima0_06_000.

@kuanchihwang kuanchihwang requested review from mgduda and nusbaume May 23, 2025 07:45
Copy link
Collaborator

@nusbaume nusbaume left a comment

Choose a reason for hiding this comment

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

Thanks again @kuanchihwang! Just had one general comment (but it doesn't require any changes to this particular PR).

call self % get_variable_pointer(vorticity, 'diag', 'vorticity')

! Output.
allocate(cell_relative_vorticity(nvertlevels, ncellssolve), stat=ierr)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Just an FYI that we have started trying to provide the Fortran-provided error message from allocate statements as well, e.g.:

character(256) :: errmsg
...
allocate(cell_relative_vorticity(nvertlevels, ncellssolve), stat=ierr, errmsg=errmsg)

Of course this change certainly isn't required for this PR.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yes, I have noticed it in recent PR reviews. I will open a dedicated PR to implement this enhancement.

@nusbaume nusbaume requested a review from cacraigucar June 25, 2025 16:54
@kuanchihwang kuanchihwang requested a review from cacraigucar July 2, 2025 16:35
@kuanchihwang kuanchihwang merged commit 93c5438 into ESCOMP:development Jul 3, 2025
12 checks passed
@kuanchihwang kuanchihwang deleted the staging/mpas-dycore-cell-rel-vort branch July 3, 2025 19:18
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.

3 participants