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

Create very low resolution grids #1000

Open
GeorgeGayno-NOAA opened this issue Nov 21, 2024 · 8 comments
Open

Create very low resolution grids #1000

GeorgeGayno-NOAA opened this issue Nov 21, 2024 · 8 comments
Assignees
Labels
maintenance Basic upkeep

Comments

@GeorgeGayno-NOAA
Copy link
Collaborator

GeorgeGayno-NOAA commented Nov 21, 2024

The UFS group want to run the model at very low resolution - C18 or C12.

Check if UFS_UTILS can create grids this coarse.

Add relevant unit tests.

Related issues: ufs-community/ufs-weather-model#2508

@GeorgeGayno-NOAA GeorgeGayno-NOAA self-assigned this Nov 21, 2024
GeorgeGayno-NOAA added a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Nov 21, 2024
@GeorgeGayno-NOAA
Copy link
Collaborator Author

Updated the cpld_gridgen program (91c08f4) to output C12, C18 and C24. The program ran to completion and a spot check of the files did not indicate any problems.

The files were placed on Hera: /scratch1/NCEPDEV/da/George.Gayno/ufs_utils.git/UFS_UTILS/fix/orog.lowres

@DeniseWorthen - can you take a quick look?

GeorgeGayno-NOAA added a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Nov 21, 2024
@DeniseWorthen
Copy link
Contributor

@GeorgeGayno-NOAA It seems to have generated the expected values.

I didn't check every combo, but I did some spot-checking. This for example is a "normal" c96.mx100 plot of land-frac

c96 mx100_landfrac

and this is C12.mx025

c12 mx025_landfrac

The land masses seem consistent, so I agree the generated files appear OK.

GeorgeGayno-NOAA added a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Nov 22, 2024
GeorgeGayno-NOAA added a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Nov 22, 2024
GeorgeGayno-NOAA added a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Nov 22, 2024
GeorgeGayno-NOAA added a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Nov 22, 2024
GeorgeGayno-NOAA added a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Nov 22, 2024
GeorgeGayno-NOAA added a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Nov 25, 2024
GeorgeGayno-NOAA added a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Nov 25, 2024
GeorgeGayno-NOAA added a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Nov 25, 2024
GeorgeGayno-NOAA added a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Nov 26, 2024
GeorgeGayno-NOAA added a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Nov 26, 2024
GeorgeGayno-NOAA added a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Nov 26, 2024
@GeorgeGayno-NOAA GeorgeGayno-NOAA added the maintenance Basic upkeep label Dec 2, 2024
GeorgeGayno-NOAA added a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 2, 2024
GeorgeGayno-NOAA added a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 2, 2024
GeorgeGayno-NOAA added a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 2, 2024
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 3, 2024
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 3, 2024
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 3, 2024
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 3, 2024
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 5, 2024
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 9, 2024
@GeorgeGayno-NOAA
Copy link
Collaborator Author

The following grids were created and placed on Hera in /scratch1/NCEPDEV/da/George.Gayno/ufs_utils.git/UFS_UTILS/fix/orog.lowres

  • C12.mx900
  • C18.mx500
  • C24.mx500

GeorgeGayno-NOAA added a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 11, 2024
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 13, 2024
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 13, 2024
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 13, 2024
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 17, 2024
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 17, 2024
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 17, 2024
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 17, 2024
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 30, 2024
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 31, 2024
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 31, 2024
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 31, 2024
@GeorgeGayno-NOAA
Copy link
Collaborator Author

When creating the unit test for "remove_isolated_pts", I discovered a possible problem at the i-direction edges of the grid. To determine if a point is 'isolated', the surrounding 8 points are checked. So, if point (2,2) is checked for a 3x3 grid, the 8 surrounding points are:

 check point            2           2
 check points to the w            1           2
 check points to the e             3           2
 check points to the nw          1           1
 check points to the n             2           1
 check points to the ne           3           1
 check points to the sw           1           3
 check points to the s             2           3
 check points to the se           3           3

That is correct.

When point (1,2) is checked, some of the eight points are located at i=3.

 check point            1           2
 check points to the w            3           2
 check points to the e            2           2
 check points to the nw          3           1
 check points to the n            1           1
 check points to the ne           2           1
 check points to the sw           3           3
 check points to the s             1           3
 check points to the se           2           3

That is only correct for a global grid. I suspect when the orog program was converted to run on tiles (instead of the global GFS grid), this logic was not adjusted. Without modifying the orog program to process all tiles are once, there is no way to properly check if all edge points are 'isolated'. For now, I will simply not process the 'i' edges. Note, the 'j' edges were not being processed, which makes sense for an algorithm used for the old global GFS grid.

This test was done using 25c6b54.

GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 31, 2024
@GeorgeGayno-NOAA
Copy link
Collaborator Author

When creating the unit test for "remove_isolated_pts", I discovered a possible problem at the i-direction edges of the grid. To determine if a point is 'isolated', the surrounding 8 points are checked. So, if point (2,2) is checked for a 3x3 grid, the 8 surrounding points are:

 check point            2           2
 check points to the w            1           2
 check points to the e             3           2
 check points to the nw          1           1
 check points to the n             2           1
 check points to the ne           3           1
 check points to the sw           1           3
 check points to the s             2           3
 check points to the se           3           3

That is correct.

When point (1,2) is checked, some of the eight points are located at i=3.

 check point            1           2
 check points to the w            3           2
 check points to the e            2           2
 check points to the nw          3           1
 check points to the n            1           1
 check points to the ne           2           1
 check points to the sw           3           3
 check points to the s             1           3
 check points to the se           2           3

That is only correct for a global grid. I suspect when the orog program was converted to run on tiles (instead of the global GFS grid), this logic was not adjusted. Without modifying the orog program to process all tiles are once, there is no way to properly check if all edge points are 'isolated'. For now, I will simply not process the 'i' edges. Note, the 'j' edges were not being processed, which makes sense for an algorithm used for the old global GFS grid.

This test was done using 25c6b54.

This change to "remove_isolated_pts" was made at a7545ea. All grid_gen regression tests passed.

GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Dec 31, 2024
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Jan 2, 2025
@GeorgeGayno-NOAA
Copy link
Collaborator Author

While writing the unit test for 'remove_isolated_pts', I could not figure out how to trip the 'ELSE' branch of this 'IF' block.

My guess is that this logic was used for the old GFS gaussian reduced grid - where the number of points in the 'i' direction decreased toward the poles. I will remove this logic.

GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Jan 2, 2025
this branch was used for the old GFS reduced grid.

Fixe ufs-community#1000.
@GeorgeGayno-NOAA
Copy link
Collaborator Author

While writing the unit test for 'remove_isolated_pts', I could not figure out how to trip the 'ELSE' branch of this 'IF' block.

My guess is that this logic was used for the old GFS gaussian reduced grid - where the number of points in the 'i' direction decreased toward the poles. I will remove this logic.

The routine was updated at 380a57c. All grid_gen regression tests passed.

GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Jan 3, 2025
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Jan 3, 2025
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Jan 3, 2025
low-resolution version of the umd land use file.

Fixes ufs-community#1000.
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Jan 3, 2025
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Jan 3, 2025
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Jan 3, 2025
GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Jan 3, 2025
Add check to ensure grid dimensions of the orog file are correct.

Fixes ufs-community#1000.
@GeorgeGayno-NOAA
Copy link
Collaborator Author

Mid-point check: all grid_gen regression tests passed using 858629b on Hercules.

GeorgeGayno-NOAA pushed a commit to GeorgeGayno-NOAA/UFS_UTILS that referenced this issue Jan 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance Basic upkeep
Projects
None yet
Development

No branches or pull requests

3 participants