E3SM-Project / HOMMEXX

Clone of ACME for CMDV-SE project to convert HOMME to C++
11 stars 0 forks source link

Tensor HV #322

Closed oksanaguba closed 6 years ago

oksanaguba commented 6 years ago

as of now, the code seems to be ok, bfb with F:

[onguba@white32 bxx-branch]$ ctest -L dev
Test project /ascldap/users/onguba/runhomme-white/bxx-branch
      Start  2: prtcA-r0-dry-f-ne2-ndays1
 1/33 Test  #2: prtcA-r0-dry-f-ne2-ndays1 .....................   Passed    3.27 sec
      Start  3: prtcA-r3-dry-f-ne2-ndays1
 2/33 Test  #3: prtcA-r3-dry-f-ne2-ndays1 .....................   Passed    2.22 sec
      Start  4: prtcA-r0-dry-c-ne2-ndays1
 3/33 Test  #4: prtcA-r0-dry-c-ne2-ndays1 .....................   Passed   18.86 sec
      Start  5: prtcA-r3-dry-c-ne2-ndays1
 4/33 Test  #5: prtcA-r3-dry-c-ne2-ndays1 .....................   Passed    2.95 sec
      Start  6: prtcB-r0-dry-f-ne2-ndays1
 5/33 Test  #6: prtcB-r0-dry-f-ne2-ndays1 .....................   Passed    4.33 sec
      Start  7: prtcB-r3-dry-f-ne2-ndays1
 6/33 Test  #7: prtcB-r3-dry-f-ne2-ndays1 .....................   Passed    4.07 sec
      Start  8: prtcB-r0-dry-c-ne2-ndays1
 7/33 Test  #8: prtcB-r0-dry-c-ne2-ndays1 .....................   Passed   10.71 sec
      Start  9: prtcB-r3-dry-c-ne2-ndays1
 8/33 Test  #9: prtcB-r3-dry-c-ne2-ndays1 .....................   Passed    3.76 sec
      Start 10: prtcB-r3-q6-dry-f-ne2-ndays1
 9/33 Test #10: prtcB-r3-q6-dry-f-ne2-ndays1 ..................   Passed   10.94 sec
      Start 11: prtcB-r3-q6-dry-c-ne2-ndays1
10/33 Test #11: prtcB-r3-q6-dry-c-ne2-ndays1 ..................   Passed    7.24 sec
      Start 12: prtcB-r3-tensorhv-dry-f-ne2-ndays1
11/33 Test #12: prtcB-r3-tensorhv-dry-f-ne2-ndays1 ............   Passed   26.08 sec
      Start 13: prtcB-r3-tensorhv-dry-c-ne2-ndays1
12/33 Test #13: prtcB-r3-tensorhv-dry-c-ne2-ndays1 ............***Failed   13.42 sec
      Start 14: prtcB-r3-lim9-dry-f-ne2-ndays1
13/33 Test #14: prtcB-r3-lim9-dry-f-ne2-ndays1 ................   Passed    5.34 sec
      Start 15: prtcB-r3-lim9-dry-c-ne2-ndays1
14/33 Test #15: prtcB-r3-lim9-dry-c-ne2-ndays1 ................   Passed    3.55 sec
      Start 16: prtcA-r0-moist-f-ne2-ndays1
15/33 Test #16: prtcA-r0-moist-f-ne2-ndays1 ...................   Passed    3.46 sec
      Start 17: prtcA-r3-moist-f-ne2-ndays1
16/33 Test #17: prtcA-r3-moist-f-ne2-ndays1 ...................   Passed    3.43 sec
      Start 18: prtcA-r0-moist-c-ne2-ndays1
17/33 Test #18: prtcA-r0-moist-c-ne2-ndays1 ...................   Passed    3.87 sec
      Start 19: prtcA-r3-moist-c-ne2-ndays1
18/33 Test #19: prtcA-r3-moist-c-ne2-ndays1 ...................   Passed    3.68 sec
      Start 20: prtcB-r0-moist-f-ne2-ndays1
19/33 Test #20: prtcB-r0-moist-f-ne2-ndays1 ...................   Passed    6.63 sec
      Start 21: prtcB-r3-moist-f-ne2-ndays1
20/33 Test #21: prtcB-r3-moist-f-ne2-ndays1 ...................   Passed    6.54 sec
      Start 22: prtcB-r0-moist-c-ne2-ndays1
21/33 Test #22: prtcB-r0-moist-c-ne2-ndays1 ...................   Passed    6.76 sec
      Start 23: prtcB-r3-moist-c-ne2-ndays1
22/33 Test #23: prtcB-r3-moist-c-ne2-ndays1 ...................   Passed    4.74 sec
      Start 68: prtcA-r0-dry-ne2-ndays1_cxx_vs_f90
23/33 Test #68: prtcA-r0-dry-ne2-ndays1_cxx_vs_f90 ............   Passed    0.11 sec
      Start 69: prtcA-r3-dry-ne2-ndays1_cxx_vs_f90
24/33 Test #69: prtcA-r3-dry-ne2-ndays1_cxx_vs_f90 ............   Passed    0.09 sec
      Start 70: prtcB-r0-dry-ne2-ndays1_cxx_vs_f90
25/33 Test #70: prtcB-r0-dry-ne2-ndays1_cxx_vs_f90 ............   Passed    0.18 sec
      Start 71: prtcB-r3-dry-ne2-ndays1_cxx_vs_f90
26/33 Test #71: prtcB-r3-dry-ne2-ndays1_cxx_vs_f90 ............   Passed    0.18 sec
      Start 72: prtcB-r3-q6-dry-ne2-ndays1_cxx_vs_f90
27/33 Test #72: prtcB-r3-q6-dry-ne2-ndays1_cxx_vs_f90 .........   Passed    0.18 sec
      Start 73: prtcB-r3-tensorhv-dry-ne2-ndays1_cxx_vs_f90
28/33 Test #73: prtcB-r3-tensorhv-dry-ne2-ndays1_cxx_vs_f90 ...   Passed    0.22 sec
      Start 74: prtcB-r3-lim9-dry-ne2-ndays1_cxx_vs_f90
29/33 Test #74: prtcB-r3-lim9-dry-ne2-ndays1_cxx_vs_f90 .......   Passed    0.18 sec
      Start 75: prtcA-r0-moist-ne2-ndays1_cxx_vs_f90
30/33 Test #75: prtcA-r0-moist-ne2-ndays1_cxx_vs_f90 ..........   Passed    0.09 sec
      Start 76: prtcA-r3-moist-ne2-ndays1_cxx_vs_f90
31/33 Test #76: prtcA-r3-moist-ne2-ndays1_cxx_vs_f90 ..........   Passed    0.09 sec
      Start 77: prtcB-r0-moist-ne2-ndays1_cxx_vs_f90
32/33 Test #77: prtcB-r0-moist-ne2-ndays1_cxx_vs_f90 ..........   Passed    0.18 sec
      Start 78: prtcB-r3-moist-ne2-ndays1_cxx_vs_f90
33/33 Test #78: prtcB-r3-moist-ne2-ndays1_cxx_vs_f90 ..........   Passed    0.18 sec

97% tests passed, 1 tests failed out of 33

Label Time Summary:
dev    = 157.53 sec (33 tests)

Total Test time (real) = 157.62 sec

The following tests FAILED:
     13 - prtcB-r3-tensorhv-dry-c-ne2-ndays1 (Failed)
Errors while running CTest
[onguba@white32 bxx-branch]$ ctest -L unit
Test project /ascldap/users/onguba/runhomme-white/bxx-branch
    Start 101: infrastructure_ut_test
1/5 Test #101: infrastructure_ut_test ...........   Passed   15.14 sec
    Start 102: random_init_ut_test
2/5 Test #102: random_init_ut_test ..............   Passed    7.72 sec
    Start 103: boundary_exchange_ut_test
3/5 Test #103: boundary_exchange_ut_test ........   Passed   10.19 sec
    Start 104: preqx_ut_test
4/5 Test #104: preqx_ut_test ....................   Passed   12.23 sec
    Start 105: preqx_remap_ut_test
5/5 Test #105: preqx_remap_ut_test ..............   Passed    6.27 sec

100% tests passed, 0 tests failed out of 5

Label Time Summary:
unit    =  51.54 sec (5 tests)

Total Test time (real) =  51.59 sec

i will double check again later, after moving code to syncutils.

oksanaguba commented 6 years ago
[onguba@white30 bxx-branch]$ ctest -L dev
Test project /ascldap/users/onguba/runhomme-white/bxx-branch
      Start  2: prtcA-r0-dry-f-ne2-ndays1
 1/33 Test  #2: prtcA-r0-dry-f-ne2-ndays1 .....................   Passed    2.21 sec
      Start  3: prtcA-r3-dry-f-ne2-ndays1
 2/33 Test  #3: prtcA-r3-dry-f-ne2-ndays1 .....................   Passed    2.63 sec
      Start  4: prtcA-r0-dry-c-ne2-ndays1
 3/33 Test  #4: prtcA-r0-dry-c-ne2-ndays1 .....................   Passed    3.02 sec
      Start  5: prtcA-r3-dry-c-ne2-ndays1
 4/33 Test  #5: prtcA-r3-dry-c-ne2-ndays1 .....................   Passed    2.95 sec
      Start  6: prtcB-r0-dry-f-ne2-ndays1
 5/33 Test  #6: prtcB-r0-dry-f-ne2-ndays1 .....................   Passed    4.24 sec
      Start  7: prtcB-r3-dry-f-ne2-ndays1
 6/33 Test  #7: prtcB-r3-dry-f-ne2-ndays1 .....................   Passed    3.89 sec
      Start  8: prtcB-r0-dry-c-ne2-ndays1
 7/33 Test  #8: prtcB-r0-dry-c-ne2-ndays1 .....................   Passed    3.93 sec
      Start  9: prtcB-r3-dry-c-ne2-ndays1
 8/33 Test  #9: prtcB-r3-dry-c-ne2-ndays1 .....................   Passed    3.51 sec
      Start 10: prtcB-r3-q6-dry-f-ne2-ndays1
 9/33 Test #10: prtcB-r3-q6-dry-f-ne2-ndays1 ..................   Passed   11.23 sec
      Start 11: prtcB-r3-q6-dry-c-ne2-ndays1
10/33 Test #11: prtcB-r3-q6-dry-c-ne2-ndays1 ..................   Passed    7.08 sec
      Start 12: prtcB-r3-tensorhv-dry-f-ne2-ndays1
11/33 Test #12: prtcB-r3-tensorhv-dry-f-ne2-ndays1 ............   Passed   25.66 sec
      Start 13: prtcB-r3-tensorhv-dry-c-ne2-ndays1
12/33 Test #13: prtcB-r3-tensorhv-dry-c-ne2-ndays1 ............***Failed   13.40 sec
      Start 14: prtcB-r3-lim9-dry-f-ne2-ndays1
13/33 Test #14: prtcB-r3-lim9-dry-f-ne2-ndays1 ................   Passed    5.00 sec
      Start 15: prtcB-r3-lim9-dry-c-ne2-ndays1
14/33 Test #15: prtcB-r3-lim9-dry-c-ne2-ndays1 ................   Passed    3.61 sec
      Start 16: prtcA-r0-moist-f-ne2-ndays1
15/33 Test #16: prtcA-r0-moist-f-ne2-ndays1 ...................   Passed    3.74 sec
      Start 17: prtcA-r3-moist-f-ne2-ndays1
16/33 Test #17: prtcA-r3-moist-f-ne2-ndays1 ...................   Passed    3.23 sec
      Start 18: prtcA-r0-moist-c-ne2-ndays1
17/33 Test #18: prtcA-r0-moist-c-ne2-ndays1 ...................   Passed    3.78 sec
      Start 19: prtcA-r3-moist-c-ne2-ndays1
18/33 Test #19: prtcA-r3-moist-c-ne2-ndays1 ...................   Passed    3.83 sec
      Start 20: prtcB-r0-moist-f-ne2-ndays1
19/33 Test #20: prtcB-r0-moist-f-ne2-ndays1 ...................   Passed    6.29 sec
      Start 21: prtcB-r3-moist-f-ne2-ndays1
20/33 Test #21: prtcB-r3-moist-f-ne2-ndays1 ...................   Passed    6.05 sec
      Start 22: prtcB-r0-moist-c-ne2-ndays1
21/33 Test #22: prtcB-r0-moist-c-ne2-ndays1 ...................   Passed    5.57 sec
      Start 23: prtcB-r3-moist-c-ne2-ndays1
22/33 Test #23: prtcB-r3-moist-c-ne2-ndays1 ...................   Passed    4.47 sec
      Start 68: prtcA-r0-dry-ne2-ndays1_cxx_vs_f90
23/33 Test #68: prtcA-r0-dry-ne2-ndays1_cxx_vs_f90 ............   Passed    0.09 sec
      Start 69: prtcA-r3-dry-ne2-ndays1_cxx_vs_f90
24/33 Test #69: prtcA-r3-dry-ne2-ndays1_cxx_vs_f90 ............   Passed    0.09 sec
      Start 70: prtcB-r0-dry-ne2-ndays1_cxx_vs_f90
25/33 Test #70: prtcB-r0-dry-ne2-ndays1_cxx_vs_f90 ............   Passed    0.20 sec
      Start 71: prtcB-r3-dry-ne2-ndays1_cxx_vs_f90
26/33 Test #71: prtcB-r3-dry-ne2-ndays1_cxx_vs_f90 ............   Passed    0.19 sec
      Start 72: prtcB-r3-q6-dry-ne2-ndays1_cxx_vs_f90
27/33 Test #72: prtcB-r3-q6-dry-ne2-ndays1_cxx_vs_f90 .........   Passed    0.18 sec
      Start 73: prtcB-r3-tensorhv-dry-ne2-ndays1_cxx_vs_f90
28/33 Test #73: prtcB-r3-tensorhv-dry-ne2-ndays1_cxx_vs_f90 ...   Passed    0.23 sec
      Start 74: prtcB-r3-lim9-dry-ne2-ndays1_cxx_vs_f90
29/33 Test #74: prtcB-r3-lim9-dry-ne2-ndays1_cxx_vs_f90 .......   Passed    0.18 sec
      Start 75: prtcA-r0-moist-ne2-ndays1_cxx_vs_f90
30/33 Test #75: prtcA-r0-moist-ne2-ndays1_cxx_vs_f90 ..........   Passed    0.09 sec
      Start 76: prtcA-r3-moist-ne2-ndays1_cxx_vs_f90
31/33 Test #76: prtcA-r3-moist-ne2-ndays1_cxx_vs_f90 ..........   Passed    0.09 sec
      Start 77: prtcB-r0-moist-ne2-ndays1_cxx_vs_f90
32/33 Test #77: prtcB-r0-moist-ne2-ndays1_cxx_vs_f90 ..........   Passed    0.18 sec
      Start 78: prtcB-r3-moist-ne2-ndays1_cxx_vs_f90
33/33 Test #78: prtcB-r3-moist-ne2-ndays1_cxx_vs_f90 ..........   Passed    0.18 sec

97% tests passed, 1 tests failed out of 33

Label Time Summary:
dev    = 131.04 sec (33 tests)

Total Test time (real) = 131.11 sec

The following tests FAILED:
     13 - prtcB-r3-tensorhv-dry-c-ne2-ndays1 (Failed)
[onguba@white30 bxx-branch]$ ctest -L unit
Test project /ascldap/users/onguba/runhomme-white/bxx-branch
    Start 101: infrastructure_ut_test
1/5 Test #101: infrastructure_ut_test ...........   Passed    4.85 sec
    Start 102: random_init_ut_test
2/5 Test #102: random_init_ut_test ..............   Passed    0.64 sec
    Start 103: boundary_exchange_ut_test
3/5 Test #103: boundary_exchange_ut_test ........   Passed    1.11 sec
    Start 104: preqx_ut_test
4/5 Test #104: preqx_ut_test ....................   Passed    1.11 sec
    Start 105: preqx_remap_ut_test
5/5 Test #105: preqx_remap_ut_test ..............   Passed    0.94 sec

100% tests passed, 0 tests failed out of 5
oksanaguba commented 6 years ago

Ready for review. Two things that i did not address: moving code from init_2d() ti SyncUtils (or using its functions in init_2d) and running clang-format. For the first one, i will create an issue. For the second, if all is fine, i can run clang on master over the weekend.

Another issue that i wanted to address eventually is lack of tests for zero/nonzero nu_p, nu_top values and fixing an issue about nu_div != nu. It can be a separate PR.

oksanaguba commented 6 years ago

Forgot to ask this -- is performance of tensor HV part of this pr?

ambrad commented 6 years ago

Performance does not have to be. Would you open an issue for each outstanding item?

ambrad commented 6 years ago

Thanks for the PR!

oksanaguba commented 6 years ago

For SyncUtis, issue is #345 . For hv coefficient, there is already #327 . For clang-format, issue is #346 .