-
Notifications
You must be signed in to change notification settings - Fork 360
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
Adding area correction based on 'epsilon bubble' for RRM (redo PR1022) #1581
Conversation
*********1*********2*********3*********4*********5*********6*********7** Numerical area of a sphere (area that is based on integration weights) and its geometric area do not coincide. Previously, in homme 3D code 'alpha' correction was used to address this. In 'alpha correction', global difference of numerical and geometric areas was spread among all DOFs. Now for RRM meshes in homme (or more generally with option cubed_sphere_map=2) 'epsilon bubble' correction is introduced instead. The 'bubble' correction fixes the difference between geometric and numerical areas for individual elements adjusting only metric terms for inner (not on elements' edges) DOFs of the element. Uniform meshes (with cubed_sphere_map=0) still use 'alpha' correction. This new map changes (slightly) the area assocated with each atmosphere column, but it doesn't change the position. Thus it will impact area based mapping utilities, meaning any conservative (but not bilinear) maps need to be updated, as well as files generated from conservative mapping files, which includes the domain files. Changes to the domain file will result in slight changes to the land/ocean mask, which requires a new land IC file as well. modified: ../../../../cime/config/acme/config_grids.xml modified: ../../../cam/bld/namelist_files/namelist_defaults_cam.xml modified: cube_mod.F90 modified: prim_driver_mod.F90 modified: ../sweqx/init_mod.F90 [Non-BFB] - Non Bit-For-Bit
I still need to run a smoke test with this, do not merge yet. I opened it to keep records in one place. |
Below are results from following README file in homme/test/reg_test. I did not find anything concerning except that I do not know if I should plot fields from baroCamMoistSL. I tried to use baro2.ncl for it, and if fails with dimensions check (did not dig deeper). @mt5555 : failing tests are swtc2, swtc6, baroCamMoistSL, templates. Should I plot anything here? https://gist.github.com/oksanaguba/0a045b223820bef4ce6159e626a82daf |
I would like to keep baseline comparisons in PR, but format is quite long and not readable. |
Put them in a gist (gist.github.com) and put a link to the gist here. |
Ran |
Inserted the new IC file into 1850 setup instead of 2000 setup, which bring a question about what to do with this file: clmi.I1850CLM45.conusx4v1.74e105b.clm2.r.0021-01-01-00000.nc ?
Since there are two setups, for year 1850 and year 2000, in namelists_default_cam.xml , and file for 2000 had to be remapped, this file won't work with the new conus setup: clmi.I1850CLM45.conusx4v1.74e105b.clm2.r.0021-01-01-00000.nc |
Ran one of smoke tests but could not plot it: there is no output file cam.h0, only r files (update : I forgot to change the stop option to nmonth). I tried to output cam.r. file on skybridge to a rectangular grid in the same way as before, but got an error about hdf5 (Ben H. reports the same issue). Conus setup is broken somewhere in cime. Before running, these steps need to be done
|
To compare cubed_sphere_map=0 and =2 options, jw baroclinic test was run for executable preqx-nlev30-interp for 9 days and NE30, qsize=1 . The output was plotted with zeta.ncl (zeta and Q1 fields). I could not spot any difference between plots for _map=0 and _map=2. Both runs are in /ascldap/users/onguba/runhomme/verifyPR1581june15 Let's merge this PR? |
I assume Mark is busy with INCITE but yes please merge this PR. |
else | ||
! Abort since the denominator in correction is too small. | ||
call abortmp('Cube_mod, set_area_correction_map2() : Area correction based on eps. bubble & | ||
cannot be done, sum_w is too small.') |
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.
Getting this with the IBM compiler:
components/homme/src/share/cube_mod.F90", line 2215.1: 1515-021 (E) Syntax error: Token " & " is expected.
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.
It is only about this string then? Even for things this small, there should be PR? I will submit a PR for this (and another thing) tonight.
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.
I don't have means to test this with IBm, is this an issue because the line is too long or because IBM does not like
print('........... &
..........') ?
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.
The ampersand at the beginning of the second/continuation line of a string appears to be mandatory for the IBM compiler:
call abortmp('Cube_mod, set_area_correction_map2() : Area correction based on eps. bubble &
- cannot be done, sum_w is too small.')
+ &cannot be done, sum_w is too small.')
endif
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.
Or you break the string into two and not have the ampersand inside of a string.
Since this has been merged to master, you can open an issue and yes a new PR to fix it. @oksanaguba , you should get an account on Mira which has the IBM compiler. |
DOCN aquaplanet from file and new A compsets with DOCN modes Addition of file driven aquaplanet to DOCN This PR actually does several things: - adds aquaplanet capability to DOCN where the input is from a file rather than analytic. - adds a new directory `$CIMEROOT/src/drivers/mct/cime_config/testdefs/testmods_dirs/drv/default ` that creates cpl history files on a daily basis and thereby permits answer changes to be compared more easily. - adds new A compsets to the driver config_compsets.xml that have different DOCN functionality ADSOM - DOCN SOM ADSOMAQP - DOCN aquaplanet SOM ADAQP3 - DOCN analytic aquaplanet (mode 3) ADAQFILE - DOCN aquaplanet from file - removes COPYALL as a possible DOCN_MODE since it is not used Test suite: scripts_regression tests and created a modified sandbox off of` 8657a18` with the new compsets and default/ testmods directory to show that the following tests were bfb with `8657a18` ``` ERS.f19_f19.ADAQP3.cheyenne_intel.drv-default.C.8657a18/ ERS.f19_f19.ADSOMAQP.cheyenne_intel.drv-default.C.8657a18/ ERS.f19_g16_rx1.A.cheyenne_intel.drv-default.C.8657a18/ ERS.f19_g16_rx1.ADSOM.cheyenne_intel.drv-default.C.8657a18/ ERS.f19_g16_rx1.AIAF.cheyenne_intel.drv-default.C.8657a18/ ``` Test baseline: `8657a18` Test namelist changes: Test status: bit for bit Fixes #1581 User interface changes?: None Code review: Bill Sacks, Rob Jacob
Provides a fix for a land IC file and a minor fix for an IBM compiler PR #1581 changed how area of columns is computed for RRM atmospheric meshes. For an existing compset for 2000 year land IC file was remapped, but 1850 year the IC file was not remapped (issue 1609). This PR removes the 1850 land file from the setup. This PR also fixes a minor print statement issue with an IBM compiler from a commit in PR #1581. Fixes #1609 [BFB]
Provides a fix for a land IC file and a minor fix for an IBM compiler. PR #1581 changed how area of columns is computed for RRM atmospheric meshes. For an existing compset for 2000 year land IC file was remapped, but 1850 year the IC file was not remapped (issue 1609). This PR removes the 1850 land file from the setup. This PR also fixes a minor print statement issue with an IBM compiler from a commit in PR #1581. Fixes #1609 [BFB]
Numerical area of a sphere (area that is based on sum of integration weights) and its geometric area do not coincide in homme. Previously, in homme 3D code 'alpha' correction was used to make two quantities to match. In 'alpha correction', global difference of numerical and geometric areas was spread among all DOFs as a multiplier. Now for RRM meshes in homme (or more generally with option cubed_sphere_map=2) 'epsilon bubble' correction is introduced instead. The 'bubble' correction fixes the difference between geometric and numerical areas for individual elements adjusting only metric terms for inner (not on elements' edges) DOFs of the element. Uniform meshes (with cubed_sphere_map=0) still use 'alpha' correction.
This new map changes (slightly) the area assocated with each atmosphere column, but it doesn't change the position. Thus it will impact area based mapping utilities, meaning any conservative (but not bilinear) maps need to be updated, as well as files generated from conservative mapping files, which includes the domain files. Changes to the domain file will result in slight changes to the land/ocean mask, which requires a new land IC file as well.
[Non-BFB] - Non Bit-For-Bit
Results of homme tests:
Test project /ascldap/users/onguba/runhomme/bld-rrm-remove-double/test_execs
Start 1: verifyBaselineResults
1/12 Test #1: verifyBaselineResults ............ Passed 0.51 sec
Start 2: swtc1
2/12 Test #2: swtc1 ............................ Passed 42.72 sec
Start 3: swtc2
3/12 Test #3: swtc2 ............................***Failed 16.04 sec
Submitting 1 jobs
Running test swtc2-run ... /ascldap/users/onguba/runhomme/bld-rrm-remove-double/tests/swtc2/swtc2-run.sh > swtc2-run.out 2> swtc2-run.err
test swtc2-run was run successfully
Test name = swtc2
Examining cprnc reference comparison output files
Test swtc2: no netcdf CHECKREF output files, skipping CHECKREF test.
############################################################################
The diff using CPRNC has passed
############################################################################
Examining cprnc baseline comparison output files
file = swtc21.nc
The files are different: DIFF_RESULT=DIFFERENT
############################################################################
CPRNC returned the following RMS differences
RMS zeta 2.5117E-18 NORMALIZED 3.2604E-13
RMS geop 9.7924E-12 NORMALIZED 4.7845E-15
RMS zeta 9.5492E-18 NORMALIZED 1.2396E-12
############################################################################
4/12 Test #4: swtc5 ............................ Passed 72.32 sec
Start 5: swtc6
5/12 Test #5: swtc6 ............................***Failed 9.47 sec
Submitting 1 jobs
Running test swtc6-run ... /ascldap/users/onguba/runhomme/bld-rrm-remove-double/tests/swtc6/swtc6-run.sh > swtc6-run.out 2> swtc6-run.err
test swtc6-run was run successfully
Test name = swtc6
Examining cprnc reference comparison output files
file = exodus-swtc61.nc
The files are different: DIFF_RESULT=DIFFERENT
Checking RMS differences with tol = 1E-14
CPRNC returned the following RMS differences
RMS geop 1.8539E-12 NORMALIZED 2.0247E-16
RMS u 1.9029E-14 NORMALIZED 5.9105E-16
RMS v 2.6356E-14 NORMALIZED 1.2926E-15
RMS geop 4.6736E-12 NORMALIZED 5.1047E-16
RMS u 1.0857E-13 NORMALIZED 3.3759E-15
RMS v 1.0171E-13 NORMALIZED 4.9531E-15
RMS geop 6.3729E-12 NORMALIZED 6.9585E-16
RMS u 2.0972E-13 NORMALIZED 6.5181E-15
RMS v 1.8381E-13 NORMALIZED 9.0064E-15
2.0247E-16 <= 1E-14 OK
5.9105E-16 <= 1E-14 OK
1.2926E-15 <= 1E-14 OK
5.1047E-16 <= 1E-14 OK
3.3759E-15 <= 1E-14 OK
4.9531E-15 <= 1E-14 OK
6.9585E-16 <= 1E-14 OK
6.5181E-15 <= 1E-14 OK
9.0064E-15 <= 1E-14 OK
############################################################################
The diff using CPRNC has passed
############################################################################
Examining cprnc baseline comparison output files
file = swtc61.nc
The files are different: DIFF_RESULT=DIFFERENT
############################################################################
CPRNC returned the following RMS differences
RMS u 1.1564E-14 NORMALIZED 3.5918E-16
RMS v 7.5817E-15 NORMALIZED 3.7183E-16
RMS geop 2.1102E-07 NORMALIZED 2.3049E-11
RMS u 1.1343E-08 NORMALIZED 3.5271E-10
RMS v 1.3057E-08 NORMALIZED 6.3583E-10
RMS geop 3.2342E-07 NORMALIZED 3.5314E-11
RMS u 1.8554E-08 NORMALIZED 5.7666E-10
RMS v 2.7999E-08 NORMALIZED 1.3719E-09
############################################################################
6/12 Test #6: baro2b ........................... Passed 180.05 sec
Start 7: baro2c
7/12 Test #7: baro2c ........................... Passed 20.55 sec
Start 8: baro2d
8/12 Test #8: baro2d ........................... Passed 270.86 sec
Start 9: baroCamMoist
9/12 Test #9: baroCamMoist ..................... Passed 49.53 sec
Start 10: baroCamMoistSL
10/12 Test #10: baroCamMoistSL ...................***Failed 10.45 sec
Submitting 1 jobs
Running test baroCamMoistSL-run ... /ascldap/users/onguba/runhomme/bld-rrm-remove-double/tests/baroCamMoistSL/baroCamMoistSL-run.sh > baroCamMoistSL-run.out 2> baroCamMoistSL-run.err
test baroCamMoistSL-run was run successfully
Test name = baroCamMoistSL
Examining cprnc reference comparison output files
Test baroCamMoistSL: no netcdf CHECKREF output files, skipping CHECKREF test.
############################################################################
The diff using CPRNC has passed
############################################################################
Examining cprnc baseline comparison output files
file = camBaroMoist-SL-asp_baroclinic1.nc
The files are different: DIFF_RESULT=DIFFERENT
############################################################################
CPRNC returned the following RMS differences
RMS zeta 1.5749E-09 NORMALIZED 2.7121E-04
RMS ps 1.7950E+00 NORMALIZED 1.7938E-05
RMS zeta 7.5282E-09 NORMALIZED 1.0647E-03
RMS u 7.2652E-03 NORMALIZED 4.4218E-04
RMS v 7.3207E-03 NORMALIZED 2.2569E-03
############################################################################
file = camBaroMoist-SL-asp_baroclinic2.nc
The files are different: DIFF_RESULT=DIFFERENT
############################################################################
CPRNC returned the following RMS differences
RMS Q 2.1318E-06 NORMALIZED 3.4542E-03
RMS Q2 2.2789E-06 NORMALIZED 3.2413E-03
RMS Q3 1.0053E-05 NORMALIZED 6.2723E-05
RMS Q4 7.7306E-15 NORMALIZED 7.7306E-15
############################################################################
11/12 Test #11: baroCamMoist-acc ................. Passed 19.47 sec
Start 12: templates
12/12 Test #12: templates ........................***Failed 7.84 sec
Submitting 1 jobs
Running test templates-run ... /ascldap/users/onguba/runhomme/bld-rrm-remove-double/tests/templates/templates-run.sh > templates-run.out 2> templates-run.err
test templates-run was run successfully
Test name = templates
Examining cprnc reference comparison output files
Test templates: no netcdf CHECKREF output files, skipping CHECKREF test.
############################################################################
The diff using CPRNC has passed
############################################################################
Examining cprnc baseline comparison output files
file = template1-held_suarez01.nc
The files are identical: DIFF_RESULT=IDENTICAL
file = template2-held_suarez01.nc
The files are different: DIFF_RESULT=DIFFERENT
############################################################################
CPRNC returned the following RMS differences
RMS area 3.2718E-11 NORMALIZED 1.8282E-08
############################################################################
67% tests passed, 4 tests failed out of 12
Total Test time (real) = 700.05 sec
The following tests FAILED:
3 - swtc2 (Failed)
5 - swtc6 (Failed)
10 - baroCamMoistSL (Failed)
12 - templates (Failed)