Move ESMF-based surface regridding code from GDASApp to UFS_UTILS#1038
Conversation
Compilation, installation, and links are working.
…r-NOAA/UFS_UTILS into feature/mv_regridding
|
@GeorgeGayno-NOAA Creating as a draft, as I haven't done the unit tests for the new executable. I'm hoping you can still help me with that. Everything else is ready to go (I hope!). |
|
@ClaraDraper-NOAA - I know that other consistency tests have separate driver scripts for each machine, but one of my goals is to combine them if possible. Please see my script on Hera: If that script works on the RDHPCS machines, I can expand it for WCOSS2. |
|
@GeorgeGayno-NOAA The driver.sh script works for hera. I've added it, and deleted the separate scripts. |
|
@ClaraDraper-NOAA - I can't get the consistency test to run because the |
The sfcinc file is here: |
|
Is |
|
input only. |
|
I see what the problem is. I'm fixing it (and also trying to figure out why my tests are passing, when they shouldn't have). |
|
I fixed both issues. |
done. |
|
@GeorgeGayno-NOAA thanks. I've addressed all your comments. |
The Doxygen looks good. See: https://www.emc.ncep.noaa.gov/jcsda/ggayno/doxygen/html/regrid_sfc/index.html |
Thanks George. What's the next step? |
Please baseline my updates to the regression test in
|
Done. |
|
Will do some final tests, then merge. |
Thanks - let me know if I can do anything. Otherwise, have a great weekend! |
|
I tried running the consistency test on WCOSS2 in 'debug' mode and it stopped with an array mismatch: This is the line in the It only happens on PET 5. On all other PETS, dimension 2 is 64 for both pointers. LAT_PTR_COORD has the same problem on PET 5. |
|
I forgot to update the consistency test driver script for WCOSS2. I placed the updated version on Hera: |
I pushed your change. Did that fix the issue with debug? |
| character(len=15), dimension(2) :: latvar_list | ||
|
|
||
| ! center coord names | ||
| lonvar_list(1) = 'grid_center_lon' |
There was a problem hiding this comment.
Here you are specifying center and corner variables.
| latvar_list(2) = 'grid_corner_lat' | ||
|
|
||
| ! Create the fields | ||
| do v=1,2 |
There was a problem hiding this comment.
In this loop, you are only specifying 'center' fields.
-results in 10**-15 sig changes in the test case.
|
@GeorgeGayno-NOAA I've fixed the bug, and then wound up replacing that section of code with setting-up the gaussian grid directly from the scrip file, which is much neater. I don't have access to WCOSS, but this now compiles in debug mode on hera (previous didn't). It fails the reg_test, but the differences are very minor (< 10**-15). I also checked that it's wrapping correctly on 0 longitude (i.e., correctly using a periodic dimenson). |
|
New test output: |
I was able to compile and run the tests on WCOSS2 in 'debug' mode. I noted the same minor differences from the baseline. |
|
@GeorgeGayno-NOAA I think this is ready to go. I changed the pet distribution for the Gaussian case so that the npets does not need to be a factor of the longitudinal dimension (which was causing workflow problems). It does now need to be a multiple of 6 though - and the Gaussian longitudinal dimension also needs to be a multiple of 6 - this is true for all our grids, except C128, which has Gaussian output at 512x256. Note: the results are not reproducible if we change the number of tasks. With 6 tasks at C192, the wall time is 6 seconds (5 seconds with 36 tasks). I suspect that this is not a new problem. For the workflow, I suggest we proceed for now, and fix the tasks at 6 for reproducibility. @CatherineThomas-NOAA @aerorahul - does this sound OK? This passes the test, and compiles and runs in debug on hera. More info: |
In the interest of time, I will run the final tests, then merge what we have. |
DESCRIPTION OF CHANGES:
Added a new directory, with the surface regridding code that was in GDASApp.
Changes to the files, from what was in GDASApp:
-Added a regression test for the regridding code, which has been tested on hera only. The regression test inputs and baseline files are here:
/scratch2/BMC/gsienkf/Clara.Draper/gerrit-hera/PRprep/new_test
-Added Doxygen documentation files, plus necessary changes to the fortran routines.
There are are no changes to the executable code in the fortran files.
TESTS CONDUCTED:
If there are changes to the build or source code, the tests below must be conducted. Contact a repository manager if you need assistance.
regrid_sfcconsistency test locally on all Tier 1 machines. Done successfully using 009456b.Describe any additional tests performed.
Also, checked that the regridding executable can be run from global_workflow. This will require a spack-stack update
DEPENDENCIES:
None.
DOCUMENTATION:
All new and updated source code must be documented with Doxygen.
ISSUE:
Fixes issue 1032