-
Notifications
You must be signed in to change notification settings - Fork 102
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
fix angles on Bu for use by CICE #922
fix angles on Bu for use by CICE #922
Conversation
* remove find_anq routine and instead calculate Bu angles using the Ct angle on the opposite side of the seam. * add angchk to verify CICE internally calculated Ct angle against both MOM6 and CICE model output * remove resetting of longitudes to 0:360 * add tripole:tripole bilinear mapping for creation of CICE IC downscaling and add required Bu<->Ct mapping on tripole grid
@GeorgeGayno-NOAA I have to rebuild my unit test since I'v re-written the routine it tested. |
@DeniseWorthen is there anything I can do to help with this PR? |
No, thanks. I'm just trying to get a new unit test running since I've basically replaced the code that the previous unit test was using. I've almost got it working now. |
* tripole, grid_cice and
* grid cice and tripole files are not b4b
* need to allow for non-full dimensioned arrays being sent to angles routines
* only cice grid files, tripole files change
* need to clean up messaging and angchk test
* 5x5 blocks of grid points are used to calc angle variables and checked against known output from mom6 and cice6 history files
* send array bounds to angles routines. This allows non-calculated values within the unit test to return as values 0.0 instead of non-sensical values
* baselines pass against a bl created from addanglevar branch * only cice grid and tripole files differ
@GeorgeGayno-NOAA This PR will require all new baselines for all platforms, but it is ready for review. |
Just a minor comment about an unused variable:
|
@DeniseWorthen do you have a new set of baseline files or should I create them from your branch? |
I need to generate them. I probably have them on hera, but I'd prefer to regenerate. |
@GeorgeGayno-NOAA I've generated the following baselines WCOSS2: /lfs/h2/emc/stmp/denise.worthen/CPLD_GRIDGEN/BASELINE For Jet, I got a failure the first time which I seemed like a system error? I'm re-running Jet now. |
Baselines on Jet were successful on 2nd try /lfs4/HFIP/h-nems/Denise.Worthen/CPLD_GRIDGEN/BASELINE/ |
Great. I will host the files in the official location, then merge. |
* gnu and gnu debug triggered several errors previously not caught using intel and intel debug
@GeorgeGayno-NOAA I've pushed a couple of minor fixes from testing w/ GNU on hercules. I've also created a new baseline on hercules at I spot-checked the mx100 and mx050 against the |
I am able to reproduce your new baseline! Please recreate your baselines on Orion, Jet, Hera and WCOSS2. Then, I can do a final test., then merge. |
Great. I'm doing one final consistency check and then I'll start the remaining platforms. |
@GeorgeGayno-NOAA I've satisfied myself that the angchk, anglet and angle variables for the new baselines are as expected compared to the current develop branch. So I'll go ahead and start generating on the other platforms. |
Hera baseline : /scratch1/NCEPDEV/stmp4/Denise.Worthen/CPLD_GRIDGEN/BASELINE |
JET: /lfs4/HFIP/h-nems/Denise.Worthen/CPLD_GRIDGEN/BASELINE |
Using 993c670 I am able to reproduce your baselines on Hercules, WCOSS2 and Hera. However, I am still getting those annoying small differences on Jet and Orion. And on Jet, I get occasional seg faults. Location of your branch:
I moved your baselines here:
|
@GeorgeGayno-NOAA This is puzzling. Let me do some work on Orion and Jet and see if I can reproduce on those platforms. |
@GeorgeGayno-NOAA I'm seeing a lot of intermittent issues. For example, on Orion even if the baseline for one resolution passes, the following job, at the next lower resolution, is never submitted. It seems to disappear into the ether. But by launching the rt.sh again, the job succeeds. On Jet, the first time I ran this morning the job hung. Right now, I'm testing bumping the memory up on Jet and increasing the wall clock time everywhere. I don't see that either of these should really be necessary, but at least on Jet I've been able to run against the baseline several times now. Is this all down to Rocky8? I'll keep you posted. |
@GeorgeGayno-NOAA Just to be sure, the mom6 fix files used right now are set in the cpld_gridgen.sh rt.sh script. For example,
There is a second directory there ( |
On Jet, I have been able to reproduce the baseline at least 4 times using
|
I am going to see if I can reproduce everywhere using the bump in memory and time. |
@GeorgeGayno-NOAA On WCOSS2, I don't think the new baselines haven't been staged correctly. They look to be pointing to the Dec 20 baselines.
|
Try it now. |
I just retested your branch (9caec86) on Jet and Orion. I still get these annoying differences. The location of your checked out branch is: Jet: /lfs4/HFIP/emcda/George.Gayno/ufs_utils.git/UFS_UTILS.denise/reg_tests/cpld_gridgen I would like to point to your executable from my work space. And I wonder if we are loading different libraries at runtime. |
I've been running a sanity check this morning everywhere using a clean checkout of the branch. I've gotten jet,orion and hercules and hera to pass. I haven't started WCOSS2 yet. On orion, my latest checkout and test are in: /work/noaa/marine/dworthen/utils_dw Both Hercules and Orion write tests to the same location. So my latest Hercules test is /work/noaa/nems/dworthen/utils_dw/ |
@GeorgeGayno-NOAA So the differences are in the masked ocean mask files. Are we pointing to different orog fix files? In /work/noaa/stmp/ggayno/CPLD_GRIDGEN/rt_443522/025, grid.nml shows which is
In my /work/noaa/stmp/dworthen/CPLD_GRIDGEN/rt_106867/025, grid.nml shows which is
|
@DeniseWorthen I was pointing to some wrong 'fix' files. Everything passes on all machines for me. Sorry for the confusion. I will merge. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Able to successfully run the regression tests against the new baselines. Everything looks good. Will merge.
@GeorgeGayno-NOAA Great. Thanks for working through it with me. |
Remove find_anq routine and instead calculate Bu angles using the Ct angle on the opposite side of the seam.
Add angchk to verify CICE internally calculated Ct angle against both MOM6 and CICE model output
Remove resetting of longitudes to 0:360
Add tripole:tripole bilinear mapping for creation of CICE IC downscaling and add required Bu<->Ct mapping on tripole grid
Replace existing unit test on
Bu
angles by providing 5x5 blocks of input, findinganglet
,angle
andangchk
and comparing known (good) output for MOM6 and CICE6.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.
This PR will change baselines for all resolutions.
tripole
master file at each resolution will now contain two additional fields, theBu
angle and theangchk
array.360.00
in longitude to the MOM6 longitudes, which have values from -300 to 60. This was done only for convenience, but it was found to produce a slight anomaly in the right-hand pole longitude value.A test baseline was created using a feature branch containing only the additional angle variables and the removal of the 360deg increment. The reg tests were run for the feature/fixangleBu branch against this test baseline. The following files did not compare due to the change in the Bu angle fields.
DOCUMENTATION:
ISSUE: