ufs-community / UFS_UTILS

Utilities for the NCEP models.
Other
21 stars 104 forks source link

CHGRES_CUBE problem at poles #23

Closed GeorgeGayno-NOAA closed 4 years ago

GeorgeGayno-NOAA commented 4 years ago

In August, Jeff B. found that chgres_cube can fail at model points near the poles when using RAP data as input. He fixed it by changing the pole method from ESMF_POLEMETHOD_NONE to ESMF_POLEMETHOD_ALLAVG in the call to ESMF_FieldRegridStore (in routine surface.F90). Jim A. is having the same problem when using chgres_cube to initialize a C768 nested run using gaussian nemsio input data.

This problem likely also exists in the sfc_climo_gen program.

GeorgeGayno-NOAA commented 4 years ago

Consider adding a chgres regression test for nested runs.

GeorgeGayno-NOAA commented 4 years ago

According to the ESMF documentation, the neighbor and conservative regrid methods only support ESMF_POLEMETHOD_NONE. When testing with beta version 8, the library will return an error if you try to use ESMF_POLEMETHOD_NONE and conservative regridding. But this is not a problem when using version 7.1.

I will only use ALLAVG for methods other than neighbor and conservative.

GeorgeGayno-NOAA commented 4 years ago

I was able to reproduce Jim A's chgres_cube failure on Dell. First, I created a C768 stretched grid using the default stretching factor and target lat/lon in driver_grid.dell.sh. Then I ran chgres_cube using FV3GFS gaussian nemsio data as input. The program failed here computing interpolation weights for the surface data. The ESMF error log showed:

ESMCI_Mesh_Regrid_Glue.C:294 c_esmc_regrid_create() Arguments are incompatible - - There exist destination points (e.g. id=2063346) which can't be mapped to any source cell

I repeated the test using the fix at 1341a9d and the program completed normally.

GeorgeGayno-NOAA commented 4 years ago

The chgres_cube regression tests passed using 1341a9d on Dell and Cray.

GeorgeGayno-NOAA commented 4 years ago

The sfc_climo_gen program was tested on Dell. Surface fields for C96 uniform, C96 stretched, C96 regional and C96 nest were created using the branch at 1341a9d. Output was compared to 'sfc_climo_gen' from develop at adf493d. All surface fields were identical according to the nccmp utility expect the soil substrate temperature for the uniform, stretched and nest cases. In each case, the differences (a few degrees) were confined to approximately a dozen points near the south pole. Given the nature of the bug fix, this result is not surprising and acceptable.

GeorgeGayno-NOAA commented 4 years ago

The sfc_climo_gen program was tested on Jet, Cray and Theia using the branch at 1341a9d. A C768 stretched grid was created. All surface files were examined using ncview and looked correct.

GeorgeGayno-NOAA commented 4 years ago

The chgres_cube regression tests passed using 1341a9d on Jet and Theia. (Note: since there is no regression test driver script for Theia, I modified driver.hera.sh accordingly.)

GeorgeGayno-NOAA commented 4 years ago

'develop' was updated (445bb67) for running/compiling the ufs_utils repository on Hera. These updates were merged to the branch at b85d143.

The chgres_cube regression tests were run on Hera using b85d143 and all tests passed.

GeorgeGayno-NOAA commented 4 years ago

The sfc_climo_gen program was tested on Hera using b85d143 of the branch. A C768 stretched grid was created. All surface files were examined using 'ncview' and looked correct.

GeorgeGayno-NOAA commented 4 years ago

Work complete. Closing issue.