Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

reintegrate_ufs #589

Closed
wants to merge 33 commits into from
Closed

reintegrate_ufs #589

wants to merge 33 commits into from

Conversation

aliabdolali
Copy link
Contributor

Pull Request Summary

  • Retrieves mask_value_water and mask_value_land if present in nems.configure and med_present is true.
  • SetVM public which is required to enable ESMF managed threading.

Description

Currently, when used in UWM, wmesmf sets the import and export mask values for the grid from the default values.

! --- Default Mask Convention for import/export fields
      INTEGER, PARAMETER :: DEFAULT_MASK_WATER =  0
      INTEGER, PARAMETER :: DEFAULT_MASK_LAND  =  1

These values are opposite the normal interpretation and CMEPS is then forced to set the dstMaskValue and srcMaskValues used for RH creation opposite to their normal sense. In med_map_mod, the currently used values in CMEPS for HAFS are (n1 is the source side and n2 is the destination side)

       elseif (n1 == compatm .and. n2 == compwav) then
          dstMaskValue = 1
       elseif (n1 == compwav .and. n2 == compatm) then
          srcMaskValue = 1
          dstMaskValue = ispval_mask
       endif

Both the dstMaskValue when the destination is compwav and the srcMaskValue when compwav is the source are reversed. That is, the dstMaskValue should indicate where the wave grid is masked when it is the destination. It should be 0 (ie, don't interpolate to the land points). The srcMaskValue should indicate what points to ignore when wave is the source. It should be 0 (ie, don't interpolate from land points on the wave grid).

When HAFS is switched to the new cap, the mask values will be set with the correct interpretation for CMEPS. A PR for CMEPS # 266 is the first step in implementing the new wave cap in UWM. In order for the existing cap to continue to work for HAFS, it is required to allow non-default mask values to be set from nems.configure:

  mask_value_water = 1
  mask_value_land = 0

These will be consistent with the dstMaskValue and srcMaskValue used by CMEPS.

These configuration variables will not be added to the HAFS nems.configure in UWM until CMEPS is also updated.

fixes ufs-community/ufs-weather-model#824

authors: @DeniseWorthen @junwang-noaa

Commit Message

  • Retrieve mask_value_water and mask_value_land if present in nems.configure and med_present is true.
  • Make the SetVM public

Check list

Testing

  • How were these changes tested? run regtests
  • Are the changes covered by regression tests? (If not, why? Do new tests need to be added?) NA
  • Have the matrix regression tests been run (if yes, please note HPC and compiler)? Yes, On Hera using intel compiler
  • Please provide the summary output of matrix.comp (matrix.Diff.txt, matrixCompFull.txt and matrixCompSummary.txt):
  • Please indicate the expected changes in the regression test output (Note the known list of non-identical tests).
  • Please provide the summary output of matrix.comp (matrix.Diff.txt, matrixCompFull.txt and matrixCompSummary.txt):

matrixCompFull.txt
matrixCompSummary.txt
matrixDiff.txt

**********************************************************************
********************* non-identical cases ****************************
**********************************************************************
mww3_test_03/./work_PR2_UQ_MPI_d2                     (8 files differ)
mww3_test_03/./work_PR2_UNO_MPI_d2                     (6 files differ)
mww3_test_03/./work_PR3_UQ_MPI_d2_c                     (8 files differ)
mww3_test_03/./work_PR1_MPI_d2                     (11 files differ)
mww3_test_03/./work_PR3_UNO_MPI_d2_c                     (8 files differ)
mww3_test_03/./work_PR3_UNO_MPI_d2                     (8 files differ)
mww3_test_03/./work_PR3_UQ_MPI_d2                     (8 files differ)
ww3_tp2.10/./work_MPI_OMPH                     (7 files differ)
ww3_tp2.16/./work_MPI_OMPH                     (5 files differ)
ww3_ufs1.1/./work_d                     (0 files differ)
ww3_ufs1.2/./work_b                     (0 files differ)
ww3_ufs1.3/./work_a                     (1 files differ)


UKMO-lsampson and others added 30 commits July 22, 2020 11:44
to ensure they comply with the limits of the nameslist.
Changes to add support to 360-day and 365-day (no leap year) calendar - see ticket #209
  * Additional CALTYPE namelist parameter in MISC section
  * New ww3_tc1 regtest.
* Updated ww3_bound and ww3_bounc to handle model grids formulated on a rotated pole.
* Manual and nml/inp files to updated clarify that ww3_bound/ww3_bounc only accept input spectra formulated on a standard pole grid.
Updates to allow a coupling time step that is different from the model time step. 
* Includes new regtest (in ww3_tp2.14) for non-default oasis time step.
* ww3_tp2.14 regtest added to matrix.base.
@JessicaMeixner-NOAA
Copy link
Collaborator

@aliabdolali can you please re-create this from a clean branch (without the multiple "
Merge branch 'NOAA-EMC:develop' into develop") commits so we can do a non-squash merge and cleanly reintegrate the two commits.

Copy link
Collaborator

@JessicaMeixner-NOAA JessicaMeixner-NOAA left a comment

Choose a reason for hiding this comment

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

Please re-create this branch with a cleaner commit history so a non-squash merge can be used.

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.

Implement ESMF-managed threading for all coupled components
5 participants