e7ae4a1 | Jason Boutte | 09 March 2021, 03:57:12 UTC | Fixes logging cprnc comments before the log tail. | 09 March 2021, 03:57:12 UTC |
c3d2573 | Jason Boutte | 19 February 2021, 07:50:55 UTC | Logs tail of cprnc outputs to TestStatus.log | 19 February 2021, 07:50:55 UTC |
2604dd6 | jedwards4b | 17 February 2021, 19:29:02 UTC | Merge pull request #3841 from ESMCI/mvertens/bugfixes_auxcam introduction of MASK_GRID for CMEPS | 17 February 2021, 19:29:02 UTC |
af03e98 | jedwards4b | 17 February 2021, 19:28:28 UTC | Merge pull request #3847 from jasonb5/fix_directory_removal Fixes cleaning up only on success Cleans up test root depending on results of tests. Test suite: scripts_regression_tests Test baseline: Test namelist changes: Test status: Fixes #3808 User interface changes?: Update gh-pages html (Y/N)?: Code review: | 17 February 2021, 19:28:28 UTC |
f90d23a | James Foucar | 17 February 2021, 18:05:40 UTC | Merge pull request #3855 from ESMCI/jgfouca/fix_test_results_for_B bless/compare_test_results should not process build-only tests Test suite: scripts_regression_tests Test baseline: Test namelist changes: Test status: bit for bit Fixes [CIME Github issue #] User interface changes?: Update gh-pages html (Y/N)?: Code review: | 17 February 2021, 18:05:40 UTC |
dbf9f53 | jedwards4b | 17 February 2021, 14:36:12 UTC | Merge pull request #3856 from fvitt/izumi_esmflib changes for izumi nag ESMF lib Minor changes to Makefile needed for izumi nag build to link to ESMF lib. Point ESMFMKFILE to my nag built ESMF lib location on izumi. Test suite: SMS_D_Ln9.f45_f45_mg37.QPX2000.izumi_nag (Overall: PASS) details: SMS_Ln9.f45_f45_mg37.QPX2000.izumi_nag (Overall: PASS) details: SMS_D_Ln9.f19_f19_mg17.FX2000.cheyenne_intel (Overall: PASS) details: SMS_D_Ln9.f19_f19_mg17.QPX2000.cheyenne_intel (Overall: PASS) details: SMS_Ln9.f19_f19_mg17.FX2000.cheyenne_intel (Overall: PASS) details: Fixes [CIME Github issue #] User interface changes?: No Update gh-pages html (Y/N)?: No Code review: | 17 February 2021, 14:36:12 UTC |
4933c48 | fvitt | 16 February 2021, 22:35:36 UTC | Merge pull request #1 from jedwards4b/nuopc_nag_port add fox module path to nuopc build | 16 February 2021, 22:35:36 UTC |
ee3fdeb | Jim Edwards | 16 February 2021, 22:30:04 UTC | add fox module path to nuopc build | 16 February 2021, 22:30:04 UTC |
ef1ca46 | Francis Vitt | 16 February 2021, 16:56:26 UTC | use newly installed esmf modules on izumi | 16 February 2021, 16:56:26 UTC |
db9bc6f | Francis Vitt | 15 February 2021, 17:44:09 UTC | changes for izumi ESMF lib | 15 February 2021, 17:44:09 UTC |
c08cd3c | James Foucar | 12 February 2021, 21:24:57 UTC | bless/compare_test_results should not process build-only tests | 12 February 2021, 21:24:57 UTC |
55704c8 | James Foucar | 12 February 2021, 21:24:25 UTC | Merge pull request #3853 from ESMCI/jonbob/update-trigrid-support Update driver-mct support for trigrid configuration where lnd is not on the atm grid Brings in changes to the mct coupler to fix both the diagnostics and lnd2rof coupling for trigrid configurations, where atm is on one grid, lnd and rof on another, and ocn/ice on a third. Issues with this configuration were discovered during E3SM testing, and these changes fix all uncovered issues. These updates fix the diagnostics and lnd2rof coupling for the case when lnd and rof are on the same grid. The diagnostics issue is easily seen in a small test configuration of the trigrid in E3SM, in this case a fully-active run of ne4pg2-r05-oQU480, where the atm is on ne4pg2, lnd/rof are on r05 (half-degree grid), and ocn/ice are on an oQU480 grid (quasi-uniform 480-km spacing MPAS grid). Coupler output shows an issue even in the area budget: (seq_diag_print_mct) NET AREA BUDGET (m2/m2): period = monthly: date = 10201 0 atm lnd ocn ice nh ice sh *SUM* area -1.00000000 0.24638554 0.63952167 0.02429621 0.03700782 -0.05278876 The modification to the diagnostics fixes this problem but exposes a similar issue in the actual lnd2rof coupling. The area budget is drastically improved: (seq_diag_print_mct) ATM_to_CPL AREA BUDGET (m2/m2): period = monthly: date = 10201 0 a2c_atm a2c_lnd a2c_inh a2c_ish a2c_ocn *SUM* area -1.00000000 0.29916044 0.02427324 0.03706142 0.63949937 -0.00000553 but now shows a water budget problem: (seq_diag_print_mct) NET WATER BUDGET (kg/m2s*1e6): period = all_time: date = 110101 0 atm lnd rof ocn ice nh ice sh glc *SUM* wfreeze 0.00000000 0.00000000 0.00000000 -0.13322464 0.06696238 0.06626226 0.00000000 -0.00000000 wmelt 0.00000000 0.00000000 0.00000000 0.76839575 -0.28894893 -0.47944686 0.00000000 -0.00000003 wrain -38.03418055 9.00948767 0.00000000 28.98419372 0.01967490 0.02089916 0.00000000 0.00007490 wsnow -0.88243926 0.46788059 0.00000000 0.29608527 0.04496143 0.07348853 0.00000000 -0.00002345 wevap 39.01586187 -7.04244184 0.00000000 -31.97266799 -0.00010192 -0.00144629 0.00000000 -0.00079617 wrunoff 0.00000000 -1.67305761 0.01005664 1.21279836 0.00000000 0.00000000 0.00000000 -0.45020262 wfrzrof 0.00000000 -0.14139458 0.00000000 0.12515946 0.00000000 0.00000000 0.00000000 -0.01623512 *SUM* 0.09924206 0.62047423 0.01005664 -0.71926006 -0.15745215 -0.32024321 0.00000000 -0.46718249 The other changes to the coupling resolve this. Test suite: scripts_regression_test, hand testing with E3SM tri-grid cases. Test baseline: Test namelist changes: Test status: bit-for-bit for bi-grid, climate-changing for trigrid (due to current errors) Fixes [CIME Github issue #] User interface changes?: N Update gh-pages html: N Code review: billsacks, jedwards4b, jgfouca, apcraig | 12 February 2021, 21:24:25 UTC |
b686609 | Jon Wolfe | 09 February 2021, 22:31:20 UTC | Update support for trigrid configuration where lnd is not on the atm grid | 09 February 2021, 22:31:20 UTC |
78448a1 | James Foucar | 09 February 2021, 18:45:43 UTC | Merge pull request #3851 from ESMCI/jgfouca/update_success_robust Make update success more robust Tests that failed very early, before SETUP, were causing the entire wait_for_tests process to crash when it tried to update success status. Test suite: scripts_regression_tests --fast Test baseline: Test namelist changes: Test status: bit for bit Fixes #3834 User interface changes?: Update gh-pages html (Y/N)?: Code review: | 09 February 2021, 18:45:43 UTC |
9ae687b | James Foucar | 09 February 2021, 18:10:03 UTC | Make update success more robust Tests that failed very early, before SETUP, were causing the entire wait_for_tests process to crash when it tried to update success status. | 09 February 2021, 18:10:03 UTC |
6f26887 | James Foucar | 08 February 2021, 23:53:17 UTC | Merge pull request #3848 from ESMCI/jgfouca/fix_mpirun_env_mach_specific env_mach_specific needs to process all mpirun nodes from machobj Test suite: scripts_regression_tests Test baseline: Test namelist changes: Test status: bit for bit Fixes [CIME Github issue #] User interface changes?: Update gh-pages html (Y/N)?: Code review: @jedwards4b | 08 February 2021, 23:53:17 UTC |
9f2bc69 | James Foucar | 08 February 2021, 22:48:20 UTC | env_mach_specific needs to process all mpirun nodes from machobj | 08 February 2021, 22:48:20 UTC |
11b0876 | Jason Boutte | 05 February 2021, 01:27:07 UTC | Fixes cleaning up only on success | 05 February 2021, 01:27:07 UTC |
743a2c9 | James Foucar | 03 February 2021, 22:57:28 UTC | Merge pull request #3844 from ESMCI/jgfouca/add_case_group Add a new env_run XML value for E3SM: CASE_GROUP Test suite: by-hand, scripts_regression_tests Test baseline: Test namelist changes: Test status: bit for bit Fixes #3825 User interface changes?: Update gh-pages html (Y/N)?: Code review: @rljacob @jedwards4b | 03 February 2021, 22:57:28 UTC |
5c435dc | James Foucar | 03 February 2021, 22:01:21 UTC | Blank default value does not need to be explicit | 03 February 2021, 22:01:21 UTC |
9875937 | James Foucar | 03 February 2021, 21:58:43 UTC | Some minor changes Open up CASE_GROUP for use in all models Change CASE_GROUP from env_run to env_case | 03 February 2021, 21:58:43 UTC |
ecd2e33 | James Foucar | 03 February 2021, 21:39:36 UTC | Add a new env_run XML value for E3SM: CASE_GROUP | 03 February 2021, 21:39:36 UTC |
d088f98 | James Foucar | 03 February 2021, 19:31:48 UTC | Merge pull request #3843 from ESMCI/jgfouca/e3sm_cime_temp Turn PIO_USE_MALLOC back on If this setting doesn't hurt anything, I'd like to leave it in since we need it for scorpio. If that's a problem, I can look into an indirection based on model. Test suite: by-hand Test baseline: Test namelist changes: Test status: bit for bit Fixes [CIME Github issue #] User interface changes?: Update gh-pages html (Y/N)?: Code review: @jedwards4b | 03 February 2021, 19:31:48 UTC |
22b8826 | James Foucar | 02 February 2021, 19:38:01 UTC | Turn PIO_USE_MALLOC back on | 02 February 2021, 19:38:01 UTC |
2d2d727 | Mariana Vertenstein | 01 February 2021, 16:53:50 UTC | Merge remote-tracking branch 'origin/master' into mvertens/bugfixes_auxcam | 01 February 2021, 16:53:50 UTC |
ef6b28c | jedwards4b | 28 January 2021, 22:58:02 UTC | Merge pull request #3836 from jedwards4b/add_frontera_fix_run_exe_xml_issue add machine frontera and fix run_exe setting issue Add the TACC Frontera HPC system to machine definitions. In the process I found that overrides to the run_exe setting were not working and fixed that issue. Also added a test for this by modifying the FakeTest to change run_exe instead of moving the executable. Test suite: scripts_regression_tests.py on frontera and cheyenne. Test baseline: Test namelist changes: Test status: bit for bit Fixes #3833 User interface changes?: Update gh-pages html (Y/N)?: Code review: | 28 January 2021, 22:58:02 UTC |
3f429f5 | Jim Edwards | 28 January 2021, 22:18:24 UTC | fix pylint issue | 28 January 2021, 22:18:24 UTC |
4b65b8b | Jim Edwards | 28 January 2021, 22:00:30 UTC | fix another testing issue | 28 January 2021, 22:00:30 UTC |
6335dd8 | James Foucar | 28 January 2021, 16:13:54 UTC | Merge pull request #3830 from ESMCI/azamat/mct-cime/rm-collapse-for-cray Remove collapse directives for Cray compiler Remove !DIR$ COLLAPSE directives for Cray compiler that cause build errors with cce/10.0.3 + PrgEnv-cray/6.0.7 on Theta. PR E3SM-Project/E3SM#3855 includes this update. Test suite: SMS.f19_g16.X.theta_cray Test baseline: n/a Test namelist changes: none Test status: bit for bit | 28 January 2021, 16:13:54 UTC |
664376d | Bill Sacks | 28 January 2021, 13:47:18 UTC | Merge pull request #3840 from billsacks/fix_doc_exeroot Fix some documentation of EXEROOT I happened to notice some things in the documentation that looked wrong to me. I'd be happy to get a second set of eyes on this to make sure I didn't cause more errors than I fixed. Test suite: none Test baseline: n/a Test namelist changes: none Test status: bit for bit Fixes none User interface changes?: N Update gh-pages html (Y/N)?: not yet; needs to be done Code review: @mvertens | 28 January 2021, 13:47:18 UTC |
c613cf8 | Chris Fischer | 27 January 2021, 21:46:44 UTC | Update for cime5.8.37 | 28 January 2021, 00:20:49 UTC |
951d693 | Chris Fischer | 27 January 2021, 21:43:57 UTC | Update for cime5.8.37 | 28 January 2021, 00:20:49 UTC |
c39b822 | Jim Edwards | 27 January 2021, 17:48:20 UTC | should not compare logfile names | 28 January 2021, 00:20:49 UTC |
f3fb829 | Jim Edwards | 27 January 2021, 15:18:07 UTC | should not set rearranger in buildlib, cleanup unused macros | 28 January 2021, 00:20:49 UTC |
b185e2e | Patrick Worley | 27 January 2021, 13:23:47 UTC | Fix calc. for max. number of levels when using noI8 and update comments i) Fix calculation for maximum number of levels when using noI8 When using 4-byte integers instead of 8-byte integers in shr_reprosum_mod.F90 (by defining the CPP token 'noI8' when compiling), certain 8-byte (real*8) reals are not being represented as a vector of integers exactly. We determined that this is because not enough integers are being used to represent the value, introducing an error in the sum by truncating the least significant bits for these values. We traced the error to the calculation of the maximum number of integers needed to represent each of the real*8 summands. The current logic is 2 + ((digits(0_i8) + (arr_gmax_exp(ifld)-arr_gmin_exp(ifld))) / arr_max_shift) for 8-byte integers, and 2 + ((digits(0_i4) + (arr_gmax_exp(ifld)-arr_gmin_exp(ifld))) / arr_max_shift) for 4-byte integers. The error is that in both we should be using the number of significant digits in the 8-byte real value, digits(0.0_r8), instead of the number of digits in the integer representation. The fix is to replace the above by 2 + ((digits(0.0_r8) + (arr_gmax_exp(ifld)-arr_gmin_exp(ifld))) / arr_max_shift) When using 8-byte integers, digits(0_i8) is greater than digits(0.0_r8), so no error is incurred in the original logic. However, digits(0_i4) is less than digits(0.0_r8), resulting in occasional errors when using 4-byte integers. As the modified logic correctly calculates the maximum number of integers needed to represent each real*8 summand, changing from digits(0_i8) to digits(0.0_r8) does not change the results of shr_reprosum_mod.F90 calculations when using 8-byte integers. This modification will, however, eliminate the potential loss of accuracy when using 4-byte integers, and could change the resulting sums. Both statements have been verified in empirical studies, both standalone and in E3SM using a range of mesh resolutions and both F and fully coupled cases. ii) Add comment to explain logic in shr_reprosum_mod.F90 The logic for defining the maximum number of summands max_nsummands = (max_nsummands/omp_nthreads) + 1 max_nsummands = max(max_nsummands, tasks*omp_nthreads) is not obvious. max_nsummands is used to determine an upper bound on how many more bits an integer sum can require compared to the individual summands, and this is used to determine how to partition the real*8 summands and the intermediate sums into vectors of integers. The reason that the maximum is taken in the second step instead of a sum is that the integer vector representing the local sum (per thread) is postprocessed in shr_reprosum_int to reduce the number of bits for each integer to be no more than the assumed maximum for the original integer summands. The sum over the threads and processes is then applied to this modified vector. Therefore, the two sets of sums can be treated separately, and only the maximum used. Comments to this effect are added to the source code. iii) Clarify and correct comments in shr_reprosum.F90 Comments in the shr_reprosum_mod.F90 claim that "The algorithm will calculate the number of levels that is required for the sum to be essentially exact." Here another comment is added to be more precise about what is being claimed, as follows. "(The sum as represented by the integer expansion will be exact, but roundoff may perturb the least significant digit of the returned real*8 representation of the sum.)" Also, legacy references to "mean" are replaced by "sum" in two locations. | 28 January 2021, 00:20:49 UTC |
02dc250 | James Foucar | 21 January 2021, 18:56:13 UTC | wait_for_tests: tweak cdash nml compare column Do not print all the passes, just the problems/diffs. | 28 January 2021, 00:20:49 UTC |
73b3c53 | Bill Sacks | 28 January 2021, 00:02:53 UTC | Fix some documentation of EXEROOT | 28 January 2021, 00:02:53 UTC |
81dd123 | James Edwards | 27 January 2021, 23:39:09 UTC | note failing tests on frontera system | 27 January 2021, 23:39:09 UTC |
61c0eab | James Edwards | 27 January 2021, 22:56:07 UTC | need an override for run_exe in FakeTest | 27 January 2021, 22:56:07 UTC |
0940e6a | James Foucar | 27 January 2021, 22:34:16 UTC | Merge pull request #3839 from ESMCI/worleyph/reprosum_i4_fix FIx i4 in shr_reposum_mod and add comments Modify shr_reprosum_mod.F90 to fixes an error when building with the CPP token noI8 defined (not currently used in E3SM) and add comments to clarify logic in the code, as follows. i) Fix calculation for maximum number of levels when using noI8 When using 4-byte integers instead of 8-byte integers in shr_reprosum_mod.F90 (by defining the CPP token 'noI8' when compiling), certain 8-byte (real*8) reals are not being represented as a vector of integers exactly. We determined that this is because not enough integers are being used to represent the value, introducing an error in the sum by truncating the least significant bits for these values. We traced the error to the calculation of the maximum number of integers needed to represent each of the real*8 summands. The current logic is 2 + ((digits(0_i8) + (arr_gmax_exp(ifld)-arr_gmin_exp(ifld))) / arr_max_shift) for 8-byte integers, and 2 + ((digits(0_i4) + (arr_gmax_exp(ifld)-arr_gmin_exp(ifld))) / arr_max_shift) for 4-byte integers. The error is that in both we should be using the number of significant digits in the 8-byte real value, digits(0.0_r8), instead of the number of digits in the integer representation. The fix is to replace the above by 2 + ((digits(0.0_r8) + (arr_gmax_exp(ifld)-arr_gmin_exp(ifld))) / arr_max_shift) When using 8-byte integers, digits(0_i8) is greater than digits(0.0_r8), so no error is incurred in the original logic. However, digits(0_i4) is less than digits(0.0_r8), resulting in occasional errors when using 4-byte integers. As the modified logic correctly calculates the maximum number of integers needed to represent each real*8 summand, changing from digits(0_i8) to digits(0.0_r8) does not change the results of shr_reprosum_mod.F90 calculations when using 8-byte integers. This modification will, however, eliminate the potential loss of accuracy when using 4-byte integers, and could change the resulting sums. Both statements have been verified in empirical studies, both standalone and in E3SM using a range of mesh resolutions and both F and fully coupled cases. ii) Add comment to explain logic in shr_reprosum_mod.F90 The logic for defining the maximum number of summands max_nsummands = (max_nsummands/omp_nthreads) + 1 max_nsummands = max(max_nsummands, tasksomp_nthreads) is not obvious. max_nsummands is used to determine an upper bound on how many more bits an integer sum can require compared to the individual summands, and this is used to determine how to partition the real8 summands and the intermediate sums into vectors of integers. The reason that the maximum is taken in the second step instead of a sum is that the integer vector representing the local sum (per thread) is postprocessed in shr_reprosum_int to reduce the number of bits for each integer to be no more than the assumed maximum for the original integer summands. The sum over the threads and processes is then applied to this modified vector. Therefore, the two sets of sums can be treated separately, and only the maximum used. Comments to this effect are added to the source code. iii) Clarify and correct comments in shr_reprosum.F90 Comments in the shr_reprosum_mod.F90 claim that "The algorithm will calculate the number of levels that is required for the sum to be essentially exact." Here another comment is added to be more precise about what is being claimed, as follows. "(The sum as represented by the integer expansion will be exact, but roundoff may perturb the least significant digit of the returned real*8 representation of the sum.)" Also, legacy references to "mean" are replaced by "sum" in two locations. Marking this BFB as we do not currently define the noI8 CPP token on our target systems. Test suite: scripts_regression_tests Test baseline: Test namelist changes: Test status: bit for bit Fixes [CIME Github issue #] User interface changes?: Update gh-pages html (Y/N)?: Code review: @jedwards4b | 27 January 2021, 22:34:16 UTC |
3f697fc | Chris Fischer | 27 January 2021, 21:46:44 UTC | Update for cime5.8.37 | 27 January 2021, 21:46:44 UTC |
f7e08fb | Chris Fischer | 27 January 2021, 21:43:57 UTC | Update for cime5.8.37 | 27 January 2021, 21:43:57 UTC |
d005fc5 | James Foucar | 27 January 2021, 20:20:44 UTC | Merge pull request #3829 from ESMCI/jgfouca/tweak_cdash_nml_output wait_for_tests: tweak cdash nml compare column | 27 January 2021, 20:20:44 UTC |
bba4a05 | James Edwards | 26 January 2021, 18:34:39 UTC | handle thread_count undefined | 27 January 2021, 19:46:17 UTC |
9924859 | James Edwards | 26 January 2021, 18:16:34 UTC | run_exe needs to match mpirun attributes | 27 January 2021, 19:46:17 UTC |
b705760 | James Edwards | 26 January 2021, 14:38:07 UTC | fix pylint issue, cprnc path on frontera | 27 January 2021, 19:46:17 UTC |
4d9d46d | Jim Edwards | 25 January 2021, 22:49:28 UTC | these should use mpi-serial not P1 | 27 January 2021, 19:46:17 UTC |
4588c97 | James Edwards | 25 January 2021, 21:24:57 UTC | fix pylint issue | 27 January 2021, 19:46:17 UTC |
8f07201 | James Edwards | 25 January 2021, 20:48:30 UTC | add machine frontera and fix run_exe setting issue | 27 January 2021, 19:46:17 UTC |
1c949c0 | jedwards4b | 27 January 2021, 19:18:58 UTC | Merge pull request #3837 from jedwards4b/pio_bld_fixes Pio bld fixes Fixed an issue with recognizing pnetcdf is in the build and removed code that set rearranger type in the pio buildlib Also added logfile to the list of namelist entries to ignore in namelist_compare - this fixed Q_TestBlessTestResults in scripts_regression_tests.py which was failing because log names differed as: ''' Comparison failed between '/glade/scratch/jedwards/scripts_regression_test.20210127_084719/TESTRUNPASS_P1.f19_g16_rx1.A.cheyenne_intel.C.fake_testing_only_20210127_092516-20210127_092540/CaseDocs/glc_modelio.nml' with '/glade/scratch/jedwards/scripts_regression_test.20210127_084719/baselines/fake_testing_only_20210127_092516/TESTRUNPASS_P1.f19_g16_rx1.A.cheyenne_intel/CaseDocs/glc_modelio.nml' BASE: logfile = 'glc.log COMP: logfile = 'glc.log.6134351.chadmin1.ib0.cheyenne.ucar.edu ''' Test suite: scripts_regression_tests.py on izumi and cheyenne Test baseline: Test namelist changes: Test status: bit for bit Fixes [CIME Github issue #] User interface changes?: Update gh-pages html (Y/N)?: Code review: | 27 January 2021, 19:18:58 UTC |
bd43b5f | Jim Edwards | 27 January 2021, 17:48:20 UTC | should not compare logfile names | 27 January 2021, 17:48:20 UTC |
78acaa0 | Jim Edwards | 27 January 2021, 15:18:07 UTC | should not set rearranger in buildlib, cleanup unused macros | 27 January 2021, 15:18:07 UTC |
f0d7b1c | Patrick Worley | 27 January 2021, 13:23:47 UTC | Fix calc. for max. number of levels when using noI8 and update comments i) Fix calculation for maximum number of levels when using noI8 When using 4-byte integers instead of 8-byte integers in shr_reprosum_mod.F90 (by defining the CPP token 'noI8' when compiling), certain 8-byte (real*8) reals are not being represented as a vector of integers exactly. We determined that this is because not enough integers are being used to represent the value, introducing an error in the sum by truncating the least significant bits for these values. We traced the error to the calculation of the maximum number of integers needed to represent each of the real*8 summands. The current logic is 2 + ((digits(0_i8) + (arr_gmax_exp(ifld)-arr_gmin_exp(ifld))) / arr_max_shift) for 8-byte integers, and 2 + ((digits(0_i4) + (arr_gmax_exp(ifld)-arr_gmin_exp(ifld))) / arr_max_shift) for 4-byte integers. The error is that in both we should be using the number of significant digits in the 8-byte real value, digits(0.0_r8), instead of the number of digits in the integer representation. The fix is to replace the above by 2 + ((digits(0.0_r8) + (arr_gmax_exp(ifld)-arr_gmin_exp(ifld))) / arr_max_shift) When using 8-byte integers, digits(0_i8) is greater than digits(0.0_r8), so no error is incurred in the original logic. However, digits(0_i4) is less than digits(0.0_r8), resulting in occasional errors when using 4-byte integers. As the modified logic correctly calculates the maximum number of integers needed to represent each real*8 summand, changing from digits(0_i8) to digits(0.0_r8) does not change the results of shr_reprosum_mod.F90 calculations when using 8-byte integers. This modification will, however, eliminate the potential loss of accuracy when using 4-byte integers, and could change the resulting sums. Both statements have been verified in empirical studies, both standalone and in E3SM using a range of mesh resolutions and both F and fully coupled cases. ii) Add comment to explain logic in shr_reprosum_mod.F90 The logic for defining the maximum number of summands max_nsummands = (max_nsummands/omp_nthreads) + 1 max_nsummands = max(max_nsummands, tasks*omp_nthreads) is not obvious. max_nsummands is used to determine an upper bound on how many more bits an integer sum can require compared to the individual summands, and this is used to determine how to partition the real*8 summands and the intermediate sums into vectors of integers. The reason that the maximum is taken in the second step instead of a sum is that the integer vector representing the local sum (per thread) is postprocessed in shr_reprosum_int to reduce the number of bits for each integer to be no more than the assumed maximum for the original integer summands. The sum over the threads and processes is then applied to this modified vector. Therefore, the two sets of sums can be treated separately, and only the maximum used. Comments to this effect are added to the source code. iii) Clarify and correct comments in shr_reprosum.F90 Comments in the shr_reprosum_mod.F90 claim that "The algorithm will calculate the number of levels that is required for the sum to be essentially exact." Here another comment is added to be more precise about what is being claimed, as follows. "(The sum as represented by the integer expansion will be exact, but roundoff may perturb the least significant digit of the returned real*8 representation of the sum.)" Also, legacy references to "mean" are replaced by "sum" in two locations. | 27 January 2021, 13:23:47 UTC |
780c75c | Mariana Vertenstein | 26 January 2021, 20:17:23 UTC | Merge branch 'master' into mvertens/bugfixes_auxcam | 26 January 2021, 20:17:23 UTC |
738bd23 | jedwards4b | 26 January 2021, 14:40:12 UTC | Merge pull request #3822 from jedwards4b/pio2_pnetcdf_detection pnetcdf detection correction | 26 January 2021, 14:40:12 UTC |
6df28a9 | fischer-ncar | 25 January 2021, 16:37:29 UTC | Merge pull request #3832 from ESMCI/mvertens/bugfix_f10maskusgs The f10_f10_musgs is needed currently for CTSM testing. This will be changed to f10_f10_mg37 - but until then this alias and associated domain files need to remain in config_grids.xml. Test suite: None Test baseline: NA Test namelist changes: NA Test status: bit for bit Fixes: #3828 User interface changes?: No Update gh-pages html (Y/N)?: No Code review: None | 25 January 2021, 16:37:29 UTC |
91bb524 | Mariana Vertenstein | 24 January 2021, 18:08:57 UTC | added deleted f10_f10_musgs grid back into config_grids.xml | 24 January 2021, 18:08:57 UTC |
58db744 | James Foucar | 21 January 2021, 18:56:13 UTC | wait_for_tests: tweak cdash nml compare column Do not print all the passes, just the problems/diffs. | 21 January 2021, 18:56:13 UTC |
c787807 | Mariana Vertenstein | 20 January 2021, 17:16:30 UTC | addition of mpas120 mesh | 20 January 2021, 17:16:30 UTC |
b9d7b65 | Mariana Vertenstein | 20 January 2021, 03:28:32 UTC | new nuopc meshes and bug fixes | 20 January 2021, 03:28:32 UTC |
0729457 | Azamat Mametjanov | 19 January 2021, 23:57:42 UTC | Bring changes in MCSclimate/MCT#59 | 19 January 2021, 23:57:42 UTC |
79ad32f | jedwards4b | 19 January 2021, 22:42:05 UTC | Merge pull request #3827 from ESMCI/mvertens/dynfrac Changes needed to create fractions/masks at runtime with NUOPC | 19 January 2021, 22:42:05 UTC |
6834f9d | James Foucar | 15 January 2021, 18:38:46 UTC | Merge pull request #3824 from ESMCI/jgfouca/misc_cime_updates Better create_test/wait_for_tests integration This started out of frustration that I could not bisect a DIFF for E3SM because my bisection kept tripping over NML diffs that I wasn't interested in. create_test did support a --wait-ignore-namelists option, but it only did anything on batch systems and I was on a desktop. The basic problem is that create_test (test_scheduler.py) was doing it's own reporting in one case and relying on wait_for_test in another. This PR changes that so it always goes through wait_for_tests. In order to have wait_for_tests has as-good-of reports as create_tests, test_status.get_overall_test_status had to be augmented to not only return the overall status for a case but to also return the phase responsible for that status. This PR also brings cime_bisect into better working order and it can now bisect on both CIME and the host model. This is the biggest change to the core of CIME I've done in a while, so I've asked for a couple reviewers. Test suite: scripts_regression_tests Test baseline: Test namelist changes: Test status: bit for bit Fixes [CIME Github issue #] User interface changes?: Update gh-pages html (Y/N)?: Code review: @jedwards4b , @billsacks | 15 January 2021, 18:38:46 UTC |
dc3bc4e | James Foucar | 14 January 2021, 23:07:53 UTC | cime_bisect: add comment indicating compability problems with non-git | 14 January 2021, 23:07:53 UTC |
a038229 | James Foucar | 14 January 2021, 23:01:47 UTC | Fix pylint issue | 14 January 2021, 23:01:47 UTC |
1f2c42f | James Foucar | 14 January 2021, 21:22:41 UTC | Fix _B test cdash reporting. Include nml diffs in cdash config warnings | 14 January 2021, 21:22:41 UTC |
919fcd0 | James Foucar | 13 January 2021, 23:26:05 UTC | working | 13 January 2021, 23:26:05 UTC |
00cdb5f | James Foucar | 13 January 2021, 21:04:19 UTC | fix | 13 January 2021, 21:04:19 UTC |
4362c87 | James Foucar | 13 January 2021, 20:45:33 UTC | fix | 13 January 2021, 20:45:33 UTC |
88c54c8 | James Foucar | 13 January 2021, 20:39:09 UTC | fix | 13 January 2021, 20:39:09 UTC |
ae2e142 | James Foucar | 13 January 2021, 20:29:27 UTC | fixes | 13 January 2021, 20:29:27 UTC |
91c9f65 | Mariana Vertenstein | 13 January 2021, 20:28:34 UTC | Merge branch 'master' into mvertens/dynfrac | 13 January 2021, 20:28:34 UTC |
2548f85 | James Foucar | 12 January 2021, 23:53:16 UTC | create_test: fix wait-for-test tweaking for non batch machines Always go through wait-for-tests for create_test results, just make sure to not actually wait unless you need to. This allows wait-for-test tweaks like ignoring namelists to work on non-batch machines. Also, cime_bisect can be grealty simplified by just making all create_test tweaks go directly into the create_test args. | 13 January 2021, 00:24:11 UTC |
cbc574f | Patrick Worley | 29 December 2020, 23:40:35 UTC | Add support for chrysalis to provenance.py Modified provenance.py to add the chrysalis system to the list of supported system. Also (a) removed support for mira and titan systems, and (b) fixed archiving of batch job output files for slurm systems anvil, compy, cori-haswell, and cori-knl. [BFB] | 12 January 2021, 20:42:04 UTC |
0f95a96 | Mariana Vertenstein | 12 January 2021, 01:02:24 UTC | took out debug writes | 12 January 2021, 01:02:24 UTC |
10675d5 | James Foucar | 11 January 2021, 21:15:57 UTC | Merge pull request #3819 from ESMCI/worleyph/chrysalis_support Add support for Chrysalis in saving provenance info Modified provenance.py to add the Chrysalis system to the list of supported system. Also (a) removed support for mira and titan systems, and (b) fixed archiving of batch job output files for slurm systems anvil, compy, cori-haswell, and cori-knl. [BFB] Fixes E3SM-Project/E3SM#4009 Test suite: by-hand Test baseline: n/a Test namelist changes: none Test status: bit for bit User interface changes?: none Update gh-pages html (Y/N)?: N Code review: @amametjanov | 11 January 2021, 21:15:57 UTC |
24e9591 | Mariana Vertenstein | 11 January 2021, 19:42:55 UTC | changes necessary to have aux_clm tests pass | 11 January 2021, 19:42:55 UTC |
cc2fa1c | jedwards4b | 11 January 2021, 18:54:51 UTC | Merge pull request #3809 from ESMCI/jgfouca/minor_makefile_cleanup Remove unused logic E3SM no longer uses this Makefile to build components, so logic that is only for options used by e3sm component builds can be removed. There might be more we can remove but I'm quite sure we can at least remove this much. Test suite: scripts_regression_tests Test baseline: Test namelist changes: Test status: bit for bit Fixes [CIME Github issue #] User interface changes?: Update gh-pages html (Y/N)?: Code review: @jedwards4b @billsacks | 11 January 2021, 18:54:51 UTC |
b71c1f3 | jedwards4b | 08 January 2021, 23:10:57 UTC | Merge pull request #3817 from jedwards4b/pio_async Pio async Update PIO2 to latest version and add testing support for PIO async tests Test suite: scripts_regression_tests.py both mct and nuopc, hand testing with PIO_ASYNC_INTERFACE=TRUE CESM prealpha tests were run against cesm2_3_alpha01a all pass with some expected differences in fill patterns. Test baseline: Test namelist changes: Test status: bit for bit Fixes [CIME Github issue #] User interface changes?: Update gh-pages html (Y/N)?: Code review:fischer, foucar | 08 January 2021, 23:10:57 UTC |
c0b4e07 | Jim Edwards | 08 January 2021, 16:36:27 UTC | update esmf to latest on cheyenne | 08 January 2021, 16:36:27 UTC |
fc9dad9 | Jim Edwards | 06 January 2021, 20:37:11 UTC | remove debug print | 06 January 2021, 20:37:11 UTC |
b520b70 | Jim Edwards | 06 January 2021, 19:18:13 UTC | pnetcdf detection correction | 06 January 2021, 19:18:13 UTC |
52e50f9 | Jim Edwards | 06 January 2021, 16:31:54 UTC | add pnetcdf module to centos7-linux build | 06 January 2021, 16:31:54 UTC |
c9c7f88 | jedwards4b | 06 January 2021, 16:24:17 UTC | Merge pull request #3821 from jedwards4b/skip_tests allow srt to skip some tests | 06 January 2021, 16:24:17 UTC |
916e74b | Jim Edwards | 05 January 2021, 22:53:34 UTC | undo unneeded change | 05 January 2021, 22:53:34 UTC |
3a15338 | Jim Edwards | 05 January 2021, 22:48:38 UTC | allow srt to skip some tests | 05 January 2021, 22:48:38 UTC |
8125dda | Jim Edwards | 05 January 2021, 16:37:29 UTC | nuopc needs a mask mesh variable | 05 January 2021, 16:37:29 UTC |
93243a4 | jedwards4b | 05 January 2021, 15:25:08 UTC | Merge pull request #3820 from adityakavalur/patch-1 Pass integer and not floating point | 05 January 2021, 15:25:08 UTC |
2e706bc | adityakavalur | 04 January 2021, 22:11:28 UTC | Pass integer and not floating point Even though the calculation results in an integer, it passes it as a floating point i.e. 2.0 instead of 2. | 04 January 2021, 22:11:28 UTC |
7e9ee92 | Jim Edwards | 04 January 2021, 21:33:51 UTC | need to get queue from case, not batch object | 04 January 2021, 21:33:51 UTC |
a00d0a4 | Jim Edwards | 04 January 2021, 16:59:59 UTC | update pio external | 04 January 2021, 16:59:59 UTC |
5ffbaf4 | Patrick Worley | 29 December 2020, 23:40:35 UTC | Add support for chrysalis to provenance.py Modified provenance.py to add the chrysalis system to the list of supported system. Also (a) removed support for mira and titan systems, and (b) fixed archiving of batch job output files for slurm systems anvil, compy, cori-haswell, and cori-knl. [BFB] | 29 December 2020, 23:40:35 UTC |
33b4044 | Jim Edwards | 28 December 2020, 22:41:15 UTC | fix issues found in testing | 28 December 2020, 22:41:15 UTC |
e77379e | Jim Edwards | 28 December 2020, 21:32:27 UTC | merge to latest master | 28 December 2020, 21:32:27 UTC |
bec0e67 | Jim Edwards | 28 December 2020, 19:34:40 UTC | latest pio code | 28 December 2020, 21:30:17 UTC |
7fbf711 | Jim Edwards | 28 December 2020, 19:23:49 UTC | update pio for async functionality, add scripts support | 28 December 2020, 21:30:17 UTC |
a9319c6 | Jim Edwards | 23 December 2020, 17:22:33 UTC | update pio external | 28 December 2020, 21:30:17 UTC |
930dcfc | Jim Edwards | 23 December 2020, 16:18:51 UTC | pio_async interface passed first ERS test | 28 December 2020, 21:30:16 UTC |
c6a0fe0 | Jim Edwards | 23 December 2020, 20:16:21 UTC | update cheyenne esmf build | 23 December 2020, 20:16:21 UTC |
d74ba19 | jedwards4b | 18 December 2020, 23:34:31 UTC | Merge pull request #3811 from jedwards4b/seq_io_fix_pio2 Seq io fix pio2 Don't rely on pio to do data conversions. Note that I used both pio2 and pio1 for these tests. Test suite: scripts_regression_tests.py, IRT_N2_Ln9.f19_g16_rx1.A.cheyenne_gnu, PET.T62_g16.G.cheyenne_pgi.pop-cice Test baseline: Test namelist changes: Test status: bit for bit Fixes #3810 User interface changes?: Update gh-pages html (Y/N)?: Code review: | 18 December 2020, 23:34:31 UTC |