MPAS-Dev / MPAS

Repository for private MPAS development prior to the MPAS v6.0 release.
Other
4 stars 0 forks source link

Change moc implicit arrays to vertical do loops. #1451

Closed mark-petersen closed 6 years ago

mark-petersen commented 6 years ago

Implicit arrays were causing an out-of-bounds error when running in ACME debug.

mark-petersen commented 6 years ago

Compiles successfully on grizzly with gnu/opt and intel/debug. To test with MOC, I ran: SMS_Ld1.T62_oEC60to30v3.GMPAS-IAF.cori-knl_gnu which completed successfully.

jonbob commented 6 years ago

@mark-petersen - could you please try a test in debug mode? That's where this issue originally showed up.

mark-petersen commented 6 years ago

I tested the head of ACME (4f59ae2) clean, then with this PR, and writing out MOC every 6 hours for a one day test using:

 ./create_test SMS_Ld1.T62_oEC60to30v3.GMPAS-IAF.cori-knl_gnu -p m2833 -m cori-knl
 ./create_test SMS_D_Ld1.T62_oEC60to30v3.GMPAS-IAF.cori-knl_gnu -p m2833 -m cori-knl
  1. ACME head, optimized: COMPLETES
  2. ACME head, debug: FAILS on moc
  3. ACME head + this PR, optimized: COMPLETES
  4. ACME head + this PR, debug: COMPLETES

In addition, an ncdiff between 1 and 3 on the moc file is exactly zero. For reference, that is here:

cori10:cori-knl$ pwd
/global/cscratch1/sd/mpeterse/acme_scratch/cori-knl
cori10:cori-knl$ ncdiff SMS_Ld1.T62_oEC60to30v3.GMPAS-IAF.cori-knl_gnu.20171113_131905_844fim/run/mpaso.hist.am.mocStreamfunctionOutput.0001-01-01.nc SMS_Ld1.T62_oEC60to30v3.GMPAS-IAF.cori-knl_gnu.20171114_075303_q17bdq/run/mpaso.hist.am.mocStreamfunctionOutput.0001-01-01.nc ncdiff_moc.nc
mark-petersen commented 6 years ago

@jonbob I think this PR is sufficiently tested. Please review, and test further if you like. Then I will merge it.