<div dir="ltr"><div><div>Hi all,<br><br></div>At long last, my testing is complete, and I&#39;ve fixed all bugs I&#39;ve found in NEMS and apps.  Details are below.  I plan on committing at 4 PM Eastern time Friday September 29.<br><br></div><div>Tests run:<br><br></div><div>NEMSGSM (Theia, WCOSS Phase 1)<br>  - created a baseline, validated against it, validated against original baseline<br></div><div><a href="https://svnemc.ncep.noaa.gov/projects/nems/apps/NEMSGSM/branches/nccmp-deliver">https://svnemc.ncep.noaa.gov/projects/nems/apps/NEMSGSM/branches/nccmp-deliver</a><br></div><div><br><div>NEMSfv3gfs (Theia; Jet; WCOSS Phase 1, Phase2, Cray)<br>  - created a baseline, validated against it, validated against original baseline<br></div><div><a href="https://svnemc.ncep.noaa.gov/projects/nems/apps/NEMSfv3gfs/branches/nccmp-deliver">https://svnemc.ncep.noaa.gov/projects/nems/apps/NEMSfv3gfs/branches/nccmp-deliver</a><br></div><br><div>WW3-GSM (Theia, WCOSS Phase 2)<br>  - created a baseline, validated against it, validated against original baseline<br></div><div><a href="https://svnemc.ncep.noaa.gov/projects/nems/apps/WW3-GSM/branches/nccmp-deliver">https://svnemc.ncep.noaa.gov/projects/nems/apps/WW3-GSM/branches/nccmp-deliver</a><br></div><br><div>HYCOM-GSM-CICE (Theia only)<br>  - created a baseline, validated against it, validated against original baseline<br></div><div><a href="https://svnemc.ncep.noaa.gov/projects/nems/apps/HYCOM-GSM-CICE/branches/nccmp-deliver">https://svnemc.ncep.noaa.gov/projects/nems/apps/HYCOM-GSM-CICE/branches/nccmp-deliver</a><br></div><br><div>GSM-MOM5-CICE5<br></div><div>  - added netcdf variable-by-variable comparisons to both enabled tests<br></div><div>  - created new baseline<br></div><div>  - validated against now baseline<br></div><div><br></div>I did not validate against the old baseline for GSM-MOM5-CICE5 because the test now has additional baseline files that are not in the old baseline area.<br></div><div><br></div><div><a href="https://svnemc.ncep.noaa.gov/projects/nems/apps/GSM-MOM5-CICE5/branches/nccmp-deliver">https://svnemc.ncep.noaa.gov/projects/nems/apps/GSM-MOM5-CICE5/branches/nccmp-deliver</a><br><br>NEMS branch:</div><div><br></div><div><a href="https://svnemc.ncep.noaa.gov/projects/nems/branches/nccmp-deliver">https://svnemc.ncep.noaa.gov/projects/nems/branches/nccmp-deliver</a><br><br><br><br><br><br></div>In addition to the prior mentioned fixes, this commit also corrects the following:<br><br><br><div><br>1. produtil: When generating a baseline, the NEMSCompsetRun --resume
 feature forgot it was generating a baseline and reset to execution 
(verification) mode.  This is corrected.<br><br>2. NEMS + apps: All /gpfs/hps/emc paths I found are now /gpfs/hps3/emc.  (produtil had none)<br></div><div><br></div><div>3. NEMS: Removed an erroneous fingerprint file check from baseline generation during a time at which the target directory does not yet exist.<br><br></div><div>4. NEMSGSM: The gfs_slg_rsthst compset needs a dependency on gfs_slg because it requires files created by that job when run in baseline generation mode.<br><br></div><div>5. NEMSfv3gfs: On Theia, the NEMSAppBuilder and compile.sh do not generate bitwise identical executables but do generate bitwise identical output.  In all of the NEMSfv3gfs tests, there is a checksum run on the executable to make sure it did not change during the test.  The fv3_appbuilder regression test was mistakenly comparing its NEMSAppBuilder-compiled executable&#39;s checksum against the compile.sh-compiled executable&#39;s checksum.  This failed on Theia due to the executables not matching bit-for-bit.  The regression test is updated to check the NEMSAppBuilder-compiled executable against itself.<br><br></div><div>6. NEMSfv3gfs: Three of the compsets had their output directories set to the same directory as the fv3_control.  (Not just the control directory, but the output directory too.)  Occasionally, more than one would delete and create the directory at the same time, causing occasional failures.  They now each have their own output directory.<br><br></div><div>7. Most apps: This does not work during baseline creation:<br><br></div><div>    BASELINE=&quot;/path/to/some/dir&quot;<br></div><div>    BASELINE_TEMPLATE=&quot;@[BASELINE]<wbr>&quot;<br><br></div><div>In baseline creation mode, the BASELINE variable is replaced with a scrub or user-specified directory.  A job, prep_baseline, copies the contents of BASELINE_TEMPLATE to BASELINE.  If BASELINE_TEMPLATE=&quot;@[BASELINE]<wbr>&quot; then it will copy the directory to itself.  The correct settings are:<br><br><div>    BASELINE=&quot;/path/to/some/dir&quot;<br></div>    BASELINE_TEMPLATE=&quot;/path/to/<wbr>some/dir&quot;<br></div><div><br></div><div>This is fixed now.<br><br></div><div>8. HYCOM-GSM-CICE: had no directory with logs of past regression tests.  I added one with the results of this commit&#39;s test.<br></div><div><br><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 27, 2017 at 9:57 AM, Samuel Trahan - NOAA Affiliate <span dir="ltr">&lt;<a href="mailto:samuel.trahan@noaa.gov" target="_blank">samuel.trahan@noaa.gov</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>Hi all,<br><br></div>Still testing.  If you&#39;re wondering why it is taking so long: most of the apps cannot generate their baseline even when run from their unmodified trunk.  The only one that works reliably is GSM-MOM5-CICE5.  Usually FV3 will generate its baseline correctly.  The others simply don&#39;t work.  I&#39;ve fixed about 2/3 of the app*platform combinations but I&#39;m still working on the rest.<br></div><br>Sincerely,<br></div>Sam Trahan<br></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Sep 25, 2017 at 1:27 PM, Samuel Trahan - NOAA Affiliate <span dir="ltr">&lt;<a href="mailto:samuel.trahan@noaa.gov" target="_blank">samuel.trahan@noaa.gov</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>Hi all,<br><br></div>I&#39;m still testing this.  I&#39;m hoping to finish soon.<br><br></div>Sincerely,<br></div>Sam Trahan<br></div><div class="m_3874239447527524386HOEnZb"><div class="m_3874239447527524386h5"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 20, 2017 at 11:40 AM, Samuel Trahan - NOAA Affiliate <span dir="ltr">&lt;<a href="mailto:samuel.trahan@noaa.gov" target="_blank">samuel.trahan@noaa.gov</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div>Hi all,<br><br></div>There are two NEMS commits going in soon, both of which modify the NEMSCompsetRun.  The commits are backwards-compatible and low risk.  However, they will need twice as much testing as usual because they affect baseline generation.  I&#39;ll send out branches soon.  Testing will start Friday, and I&#39;ll try to finish by the end of the weekend.  <br><br>The timing of the commit is partly contingent on whether there is enough disk space somewhere on Theia to run the tests.  NEMS areas and all four stmps hit quota over the past few days, and emc.nemspara cannot write anywhere else.  I&#39;ll test on Gyre, Surge, and Jet first to detect any likely issues before I test on Theia.<br><br><br></div><div>- The Changes -<br></div><div><br><br></div>1. Bug fix from Jun Wang to .bitcmp. comparison.  If an output file is compared to a baseline by specifying the baseline directory (instead of filename within the directory) then the baseline creation fails.  It does not realize that the target is a directory because the directory does not exist before the baseline is created:<br><br></div>    &quot;RESTART/my_output.rst&quot; .bitcmp. &quot;@[BASELINE_DIR]/RESTART/&quot;<br><br></div>The fix is to assume the target is a directory if:<br><br></div> - it ends with a /<br></div> - the last path component is .<br></div> - the last path component is ..<br><br></div><div>Hence, after the commit, &quot;@[BASELINE_DIR]/RESTART/&quot; will work correctly if it ends in a /<br></div><div><br><br></div>2. Add the capability to NEMSCompsetRun to compare NetCDF files variable-by-variable instead of bit-for-bit.  This is needed for the CICE5 files, which contain a global metadata value containing the date at which the file was created.  The actual contents of the variables should match.<br></div><br><br></div><div>The affected repos are:<br><br></div><div>- produtil<br></div><div>- NEMS<br></div><div>- NEMSfv3gfs<br></div><div>- NEMSGSM<br></div><div>- HYCOM-GSM-CICE<br></div><div>- GSM-MOM5-CICE5<br></div><div>- WW3-GSM<br></div><div><br></div>Sincerely,<br></div>Sam Trahan<br></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>