Skip to content
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

Update ww3_ounp.F90 #1088

Merged
merged 1 commit into from
Nov 2, 2023
Merged

Conversation

Biao-Zhao
Copy link
Contributor

I conduct a numerical experiment using Cartesian grid and output spectrum at some points. I found that the units attribute of variables "X" and "Y" in netcdf files are meter. In fact, it should be 'km' according to the values I set in namelist file.

Pull Request Summary

Description

Issue(s) addressed

Commit Message

Check list

Testing

  • How were these changes tested?
  • Are the changes covered by regression tests? (If not, why? Do new tests need to be added?)
  • Have the matrix regression tests been run (if yes, please note HPC and compiler)?
  • Please indicate the expected changes in the regression test output, (Note the list of known non-identical tests.)
  • Please provide the summary output of matrix.comp (matrix.Diff.txt, matrixCompFull.txt and matrixCompSummary.txt):

I conduct a numerical experiment using Cartesian grid and output spectrum at some points. I found  that  the units attribute  of variables "X" and "Y"  in netcdf files are meter. In fact, it should be 'km'  according to the  values I set in namelist file.
@MatthewMasarik-NOAA
Copy link
Collaborator

Hi @Biao-Zhao, could you describe more what you're doing and what you expect? I haven't been aware of an issue with ww3_ounp.F90 in my use of it, but I admittedly I don't have as extensive of a background as some others may. If other's with more experience, please chime in.

From what I know though, values like those hard-coded into ww3_ounp.F90 should follow some standard, and input files (like namelists) should adhere to the standard decided on. What is in ww3_ounp.F90 for X/Y is meters, and is default "mks" units. So without other knowledge, I believe these are the units that X/Y should stay in. I would suggest making changes in the namelist file that account for what is in ww3_ounp.F90. Does that all make sense? Or did I misunderstand your intent?

@MatthewMasarik-NOAA
Copy link
Collaborator

Hi @Biao-Zhao, I wanted to check back with you on this PR to see if you have any comments, and if you still want to keep this PR active? I'll keep it open till the end of the week, then close it if there's no more activity. You'll be able to re-open though, if you change your mind. Thank you. Cheers

@Biao-Zhao
Copy link
Contributor Author

Hi @MatthewMasarik-NOAA . sorry for my late reply. I didn't notice your comments. Here is my situation. I have conducted numerical experiments using Cartesian coordinate. my ww3_grid.inp are listed below:
1697700904303

And here is my ww3_shel.inp file:
1697700865681

Following is my ww3_ounp.inp file:
1697700747516

So, If you look at my ww3_grid.inp file, you will find that in my case the model domain covers a 601 by 201 rectangle grid with resolution of 1 meter. And from my ww3_shel.inp file, you will find that the model will output the wave spectrum at x=62, 112, 162, 212, 313 and 412 meters along y=100 meters. After executing ww3_output, I got the netcdf file with following variables:
1697699307772
1697699335148

From the above snapshots, we can see the units of variables "x" and "y" is "m", which was absolutely not right. I have checked all the variables out in netcdf file. It seems that everything is reasonable (wave spectrum, mean wave direction and significant wave height, etc.) except the units of "x" and "y". This implies there is no problem with the setup of namelist file. Really hope my explanation will help. If you have any questions or comments, please feel free to contact me.

Cheers
Biao

@MatthewMasarik-NOAA
Copy link
Collaborator

Hi @Biao-Zhao, thank you for the details. Let me look a little closer today and I'll reply back this afternoon.

@MatthewMasarik-NOAA
Copy link
Collaborator

Hmm. I'm probably going to need to need someone from the community that has a longer history with WW3 to chime in here. I can follow your set up, and can see the x values at a factor of 10^-3 from your input values, though all the documentation in ww3_grid.inp is pointing towards the values being meters for a Cartesian grid (in particular here it emphasizes that it is meters and not kilometers,

$ Note that for Cartesian coordinates the unit is meters (NOT km).
).

Could someone from the community chime in here?

@ukmo-ccbunney
Copy link
Collaborator

ukmo-ccbunney commented Oct 31, 2023

Hi @Biao-Zhao

So you are correct - although the wave model domain is defined in metres when using Cartesian coordinates, the x and y variables are output in units of kilometres from ww3_ounp

See this line in ww3_ounp.ftn that writes the x coordinate:

IF(ORDER) IRET=NF90_PUT_VAR(NCID,VARID(4),M2KM*PTLOC(1,INDREQ(1:NREQ)),(/1,IOUT/))

Here the point location (PTLOC) is scaled by M2KM (=1e-3) to convert to km.

However, as you have pointed out, this is indeed contrary to what the stated units here!

WW3/model/src/ww3_ounp.F90

Lines 3208 to 3211 in 8eb3596

IRET=NF90_PUT_ATT(NCID,VARID(4),'long_name','x')
IRET=NF90_PUT_ATT(NCID,VARID(4),'standard_name','x')
IRET=NF90_PUT_ATT(NCID,VARID(4),'globwave_name','x')
IRET=NF90_PUT_ATT(NCID,VARID(4),'units','m')

So, I can confirm that the output units for variables x and y in Cartesian coordinates is "km" and the unit in the netCDF meta-data is incorrect.

I agree that the units attribute should be changed to "km".

Copy link
Collaborator

@ukmo-ccbunney ukmo-ccbunney left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a typo!
Values are indeed in km (see my comment).

@MatthewMasarik-NOAA
Copy link
Collaborator

@ukmo-ccbunney, thank you very much for confirming the units as @Biao-Zhao found. I'll do a check to confirm the updated output is as expected, and proceed with the review.

@Biao-Zhao
Copy link
Contributor Author

Yep. it is a typo. and thank you two guys @MatthewMasarik-NOAA @ukmo-ccbunney for checking this. Have a nice day!

@MatthewMasarik-NOAA
Copy link
Collaborator

Update: the tests came back and there are a lot of differences, which I somewhat expected for the file attribute change. To help with sorting through the results I just submitted another set of tests with the PR branch, so I can use the matrix.comp script to compare against itself and weed those out. Thanks for your patience @Biao-Zhao, this will be ready to wrap up tomorrow morning.

@ukmo-ccbunney
Copy link
Collaborator

Update: the tests came back and there are a lot of differences, which I somewhat expected for the file attribute change. To help with sorting through the results I just submitted another set of tests with the PR branch, so I can use the matrix.comp script to compare against itself and weed those out. Thanks for your patience @Biao-Zhao, this will be ready to wrap up tomorrow morning.

Hopefully the differences are all just in the spectral oupput netCDF files?

@MatthewMasarik-NOAA
Copy link
Collaborator

Update: the tests came back and there are a lot of differences, which I somewhat expected for the file attribute change. To help with sorting through the results I just submitted another set of tests with the PR branch, so I can use the matrix.comp script to compare against itself and weed those out. Thanks for your patience @Biao-Zhao, this will be ready to wrap up tomorrow morning.

Hopefully the differences are all just in the spectral oupput netCDF files?

Yes, from a quick look they all appear to be that. I'm assuming they all will be, I'm being a little lazy on checking each manually ;-)

Copy link
Collaborator

@MatthewMasarik-NOAA MatthewMasarik-NOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code review

Pass

Testing

Pass

matrix.comp: vs. develop branch
The unexpected differences here are due to the attribute change of x/y units in netcdf output from m to km.

vs.develop.matrixCompSummary.txt
vs.develop.matrixCompFull.txt
vs.develop.matrixDiff.txt

**********************************************************************
********************* non-identical cases ****************************
**********************************************************************
mww3_test_01/./work_PR2_UNO                     (1 files differ)
mww3_test_01/./work_PR1_MPI                     (1 files differ)
mww3_test_01/./work_PR3_UNO_MPI                     (1 files differ)
mww3_test_01/./work_PR3_UQ                     (1 files differ)
mww3_test_01/./work_PR3_UNO                     (1 files differ)
mww3_test_01/./work_PR1                     (1 files differ)
mww3_test_01/./work_PR2_UQ                     (1 files differ)
mww3_test_01/./work_PR2_UQ_MPI                     (1 files differ)
mww3_test_01/./work_PR3_UQ_MPI                     (1 files differ)
mww3_test_01/./work_PR2_UNO_MPI                     (1 files differ)
mww3_test_02/./work_PR1_c                     (1 files differ)
mww3_test_02/./work_PR2_UNO_c                     (1 files differ)
mww3_test_02/./work_PR3_UQ_MPI_a                     (1 files differ)
mww3_test_02/./work_PR1_MPI_d                     (1 files differ)
mww3_test_02/./work_PR3_UNO_MPI_b_c                     (1 files differ)
mww3_test_02/./work_PR3_UQ_MPI_c                     (1 files differ)
mww3_test_02/./work_PR2_UNO_MPI_d                     (1 files differ)
mww3_test_02/./work_PR2_UNO_d                     (1 files differ)
mww3_test_02/./work_PR2_UQ_MPI_a                     (1 files differ)
mww3_test_02/./work_PR3_UQ_MPI_a_c                     (1 files differ)
mww3_test_02/./work_PR3_UNO_MPI_d_c                     (1 files differ)
mww3_test_02/./work_PR1_d                     (1 files differ)
mww3_test_02/./work_PR2_UQ_c                     (1 files differ)
mww3_test_02/./work_PR3_UQ_b                     (1 files differ)
mww3_test_02/./work_PR3_UQ_a                     (1 files differ)
mww3_test_02/./work_PR1_a                     (1 files differ)
mww3_test_02/./work_PR3_UNO_MPI_d                     (1 files differ)
mww3_test_02/./work_PR3_UNO_a_c                     (1 files differ)
mww3_test_02/./work_PR2_UQ_MPI_b                     (1 files differ)
mww3_test_02/./work_PR3_UNO_d                     (1 files differ)
mww3_test_02/./work_PR3_UNO_MPI_a_c                     (1 files differ)
mww3_test_02/./work_PR2_UQ_a                     (1 files differ)
mww3_test_02/./work_PR3_UNO_MPI_b                     (1 files differ)
mww3_test_02/./work_PR3_UNO_b_c                     (1 files differ)
mww3_test_02/./work_PR1_b                     (1 files differ)
mww3_test_02/./work_PR2_UNO_b                     (1 files differ)
mww3_test_02/./work_PR2_UQ_d                     (1 files differ)
mww3_test_02/./work_PR3_UQ_c                     (1 files differ)
mww3_test_02/./work_PR3_UNO_MPI_a                     (1 files differ)
mww3_test_02/./work_PR1_MPI_c                     (1 files differ)
mww3_test_02/./work_PR3_UNO_b                     (1 files differ)
mww3_test_02/./work_PR1_MPI_b                     (1 files differ)
mww3_test_02/./work_PR3_UQ_a_c                     (1 files differ)
mww3_test_02/./work_PR3_UQ_MPI_b_c                     (1 files differ)
mww3_test_02/./work_PR3_UQ_d_c                     (1 files differ)
mww3_test_02/./work_PR1_MPI_a                     (1 files differ)
mww3_test_02/./work_PR3_UQ_MPI_d_c                     (1 files differ)
mww3_test_02/./work_PR3_UQ_MPI_d                     (1 files differ)
mww3_test_02/./work_PR3_UQ_d                     (1 files differ)
mww3_test_02/./work_PR3_UNO_d_c                     (1 files differ)
mww3_test_02/./work_PR2_UNO_MPI_b                     (1 files differ)
mww3_test_02/./work_PR3_UNO_MPI_c                     (1 files differ)
mww3_test_02/./work_PR2_UQ_b                     (1 files differ)
mww3_test_02/./work_PR3_UNO_c                     (1 files differ)
mww3_test_02/./work_PR3_UNO_a                     (1 files differ)
mww3_test_02/./work_PR2_UQ_MPI_d                     (1 files differ)
mww3_test_02/./work_PR2_UQ_MPI_c                     (1 files differ)
mww3_test_02/./work_PR2_UNO_a                     (1 files differ)
mww3_test_02/./work_PR2_UNO_MPI_c                     (1 files differ)
mww3_test_02/./work_PR2_UNO_MPI_a                     (1 files differ)
mww3_test_02/./work_PR3_UQ_b_c                     (1 files differ)
mww3_test_02/./work_PR3_UQ_MPI_b                     (1 files differ)
mww3_test_03/./work_PR1_MPI_e                     (1 files differ)
mww3_test_03/./work_PR1_c                     (1 files differ)
mww3_test_03/./work_PR2_UNO_c                     (1 files differ)
mww3_test_03/./work_PR3_UQ_MPI_e_c                     (1 files differ)
mww3_test_03/./work_PR3_UNO_e_c                     (1 files differ)
mww3_test_03/./work_PR3_UQ_MPI_a                     (1 files differ)
mww3_test_03/./work_PR1_MPI_d                     (1 files differ)
mww3_test_03/./work_PR3_UNO_MPI_b_c                     (1 files differ)
mww3_test_03/./work_PR2_UQ_e                     (1 files differ)
mww3_test_03/./work_PR3_UNO_c_c                     (1 files differ)
mww3_test_03/./work_PR3_UQ_MPI_c                     (1 files differ)
mww3_test_03/./work_PR2_UNO_MPI_d                     (1 files differ)
mww3_test_03/./work_PR2_UNO_d                     (1 files differ)
mww3_test_03/./work_PR2_UQ_MPI_a                     (1 files differ)
mww3_test_03/./work_PR3_UQ_MPI_a_c                     (1 files differ)
mww3_test_03/./work_PR3_UNO_MPI_d_c                     (1 files differ)
mww3_test_03/./work_PR1_d                     (1 files differ)
mww3_test_03/./work_PR3_UNO_MPI_e                     (1 files differ)
mww3_test_03/./work_PR2_UQ_c                     (1 files differ)
mww3_test_03/./work_PR2_UQ_MPI_e                     (1 files differ)
mww3_test_03/./work_PR3_UQ_b                     (1 files differ)
mww3_test_03/./work_PR3_UQ_a                     (1 files differ)
mww3_test_03/./work_PR1_a                     (1 files differ)
mww3_test_03/./work_PR3_UQ_e_c                     (1 files differ)
mww3_test_03/./work_PR3_UNO_MPI_d                     (1 files differ)
mww3_test_03/./work_PR2_UNO_MPI_e                     (2 files differ)
mww3_test_03/./work_PR3_UQ_e                     (1 files differ)
mww3_test_03/./work_PR3_UNO_a_c                     (1 files differ)
mww3_test_03/./work_PR3_UNO_e                     (1 files differ)
mww3_test_03/./work_PR2_UQ_MPI_b                     (1 files differ)
mww3_test_03/./work_PR3_UNO_d                     (1 files differ)
mww3_test_03/./work_PR3_UNO_MPI_c_c                     (1 files differ)
mww3_test_03/./work_PR3_UNO_MPI_a_c                     (1 files differ)
mww3_test_03/./work_PR2_UQ_a                     (1 files differ)
mww3_test_03/./work_PR2_UNO_MPI_d2                     (16 files differ)
mww3_test_03/./work_PR3_UNO_MPI_b                     (1 files differ)
mww3_test_03/./work_PR3_UNO_b_c                     (1 files differ)
mww3_test_03/./work_PR1_b                     (1 files differ)
mww3_test_03/./work_PR2_UNO_b                     (1 files differ)
mww3_test_03/./work_PR3_UQ_MPI_c_c                     (1 files differ)
mww3_test_03/./work_PR2_UQ_d                     (1 files differ)
mww3_test_03/./work_PR3_UQ_c                     (1 files differ)
mww3_test_03/./work_PR3_UNO_MPI_a                     (1 files differ)
mww3_test_03/./work_PR1_MPI_c                     (1 files differ)
mww3_test_03/./work_PR1_MPI_d2                     (9 files differ)
mww3_test_03/./work_PR3_UNO_b                     (1 files differ)
mww3_test_03/./work_PR3_UNO_MPI_d2_c                     (16 files differ)
mww3_test_03/./work_PR1_MPI_b                     (1 files differ)
mww3_test_03/./work_PR3_UQ_MPI_d2_c                     (16 files differ)
mww3_test_03/./work_PR3_UQ_a_c                     (1 files differ)
mww3_test_03/./work_PR2_UNO_e                     (1 files differ)
mww3_test_03/./work_PR3_UNO_MPI_d2                     (16 files differ)
mww3_test_03/./work_PR3_UQ_MPI_b_c                     (1 files differ)
mww3_test_03/./work_PR3_UQ_d_c                     (1 files differ)
mww3_test_03/./work_PR2_UQ_MPI_d2                     (15 files differ)
mww3_test_03/./work_PR1_MPI_a                     (1 files differ)
mww3_test_03/./work_PR3_UQ_MPI_d_c                     (1 files differ)
mww3_test_03/./work_PR3_UQ_MPI_d                     (1 files differ)
mww3_test_03/./work_PR1_e                     (1 files differ)
mww3_test_03/./work_PR3_UQ_d                     (1 files differ)
mww3_test_03/./work_PR3_UNO_d_c                     (1 files differ)
mww3_test_03/./work_PR3_UQ_c_c                     (1 files differ)
mww3_test_03/./work_PR3_UQ_MPI_e                     (1 files differ)
mww3_test_03/./work_PR2_UNO_MPI_b                     (1 files differ)
mww3_test_03/./work_PR3_UNO_MPI_c                     (1 files differ)
mww3_test_03/./work_PR2_UQ_b                     (1 files differ)
mww3_test_03/./work_PR3_UNO_c                     (1 files differ)
mww3_test_03/./work_PR3_UNO_a                     (1 files differ)
mww3_test_03/./work_PR2_UQ_MPI_d                     (1 files differ)
mww3_test_03/./work_PR3_UNO_MPI_e_c                     (2 files differ)
mww3_test_03/./work_PR2_UQ_MPI_c                     (1 files differ)
mww3_test_03/./work_PR2_UNO_a                     (1 files differ)
mww3_test_03/./work_PR2_UNO_MPI_c                     (1 files differ)
mww3_test_03/./work_PR2_UNO_MPI_a                     (1 files differ)
mww3_test_03/./work_PR3_UQ_b_c                     (1 files differ)
mww3_test_03/./work_PR3_UQ_MPI_b                     (1 files differ)
mww3_test_03/./work_PR3_UQ_MPI_d2                     (14 files differ)
mww3_test_04/./work_PR1_MPI_e                     (1 files differ)
mww3_test_04/./work_PR3_UQ_MPI_e_c                     (1 files differ)
mww3_test_04/./work_PR3_UQ_g                     (1 files differ)
mww3_test_04/./work_PR1_MPI_d                     (1 files differ)
mww3_test_04/./work_PR2_UQ_f                     (1 files differ)
mww3_test_04/./work_PR3_UNO_MPI_b_c                     (1 files differ)
mww3_test_04/./work_PR3_UQ_MPI_c                     (1 files differ)
mww3_test_04/./work_PR2_UNO_MPI_d                     (1 files differ)
mww3_test_04/./work_PR3_UNO_g                     (1 files differ)
mww3_test_04/./work_PR3_UNO_MPI_d_c                     (1 files differ)
mww3_test_04/./work_PR3_UNO_MPI_e                     (1 files differ)
mww3_test_04/./work_PR2_UQ_MPI_e                     (1 files differ)
mww3_test_04/./work_PR3_UQ_b                     (1 files differ)
mww3_test_04/./work_PR3_UQ_a                     (1 files differ)
mww3_test_04/./work_PR1_a                     (1 files differ)
mww3_test_04/./work_PR3_UNO_g_c                     (1 files differ)
mww3_test_04/./work_PR3_UNO_MPI_d                     (1 files differ)
mww3_test_04/./work_PR2_UNO_MPI_e                     (1 files differ)
mww3_test_04/./work_PR3_UNO_a_c                     (1 files differ)
mww3_test_04/./work_PR2_UQ_MPI_b                     (1 files differ)
mww3_test_04/./work_PR3_UNO_MPI_c_c                     (1 files differ)
mww3_test_04/./work_PR2_UQ_a                     (1 files differ)
mww3_test_04/./work_PR2_UNO_f                     (1 files differ)
mww3_test_04/./work_PR3_UNO_MPI_b                     (1 files differ)
mww3_test_04/./work_PR3_UNO_b_c                     (1 files differ)
mww3_test_04/./work_PR1_b                     (1 files differ)
mww3_test_04/./work_PR2_UNO_b                     (1 files differ)
mww3_test_04/./work_PR1_g                     (1 files differ)
mww3_test_04/./work_PR3_UQ_MPI_c_c                     (1 files differ)
mww3_test_04/./work_PR1_MPI_c                     (1 files differ)
mww3_test_04/./work_PR3_UNO_b                     (1 files differ)
mww3_test_04/./work_PR1_MPI_b                     (1 files differ)
mww3_test_04/./work_PR3_UQ_a_c                     (1 files differ)
mww3_test_04/./work_PR3_UQ_MPI_b_c                     (1 files differ)
mww3_test_04/./work_PR3_UQ_f_c                     (1 files differ)
mww3_test_04/./work_PR3_UQ_g_c                     (1 files differ)
mww3_test_04/./work_PR3_UQ_MPI_d_c                     (1 files differ)
mww3_test_04/./work_PR3_UQ_MPI_d                     (1 files differ)
mww3_test_04/./work_PR3_UQ_MPI_NC_b_c                     (1 files differ)
mww3_test_04/./work_PR3_UQ_MPI_e                     (1 files differ)
mww3_test_04/./work_PR3_UNO_f                     (1 files differ)
mww3_test_04/./work_PR3_UNO_f_c                     (1 files differ)
mww3_test_04/./work_PR2_UNO_MPI_b                     (1 files differ)
mww3_test_04/./work_PR1_f                     (1 files differ)
mww3_test_04/./work_PR3_UNO_MPI_c                     (1 files differ)
mww3_test_04/./work_PR2_UQ_b                     (1 files differ)
mww3_test_04/./work_PR2_UQ_g                     (1 files differ)
mww3_test_04/./work_PR3_UNO_a                     (1 files differ)
mww3_test_04/./work_PR2_UQ_MPI_d                     (1 files differ)
mww3_test_04/./work_PR3_UNO_MPI_e_c                     (1 files differ)
mww3_test_04/./work_PR2_UQ_MPI_c                     (1 files differ)
mww3_test_04/./work_PR2_UNO_a                     (1 files differ)
mww3_test_04/./work_PR2_UNO_MPI_c                     (1 files differ)
mww3_test_04/./work_PR3_UQ_f                     (1 files differ)
mww3_test_04/./work_PR3_UQ_b_c                     (1 files differ)
mww3_test_04/./work_PR2_UNO_g                     (1 files differ)
mww3_test_04/./work_PR3_UQ_MPI_b                     (1 files differ)
mww3_test_09/./work_MPI_ASCII                     (0 files differ)
ww3_tbt1.1/./work_BT9                     (1 files differ)
ww3_tbt1.1/./work_BT9_MPI                     (1 files differ)
ww3_tbt1.1/./work_BT8_MPI                     (1 files differ)
ww3_tbt1.1/./work_BT8                     (1 files differ)
ww3_tbt2.1/./work_BT9                     (1 files differ)
ww3_tbt2.1/./work_BT9_MPI                     (1 files differ)
ww3_tbt2.1/./work_BT8_MPI                     (1 files differ)
ww3_tbt2.1/./work_BT8                     (1 files differ)
ww3_tic1.2/./work_IC3_A0.5k_MPI                     (1 files differ)
ww3_tic1.2/./work_IC3_B0.5k_MPI                     (1 files differ)
ww3_tic1.2/./work_IC3_V1_G                     (1 files differ)
ww3_tic1.2/./work_IC3_B2.5k_MPI                     (1 files differ)
ww3_tic1.2/./work_IC3_A2.5k                     (1 files differ)
ww3_tic1.2/./work_IC3_A1.0k                     (1 files differ)
ww3_tic1.2/./work_IC3_A2.5k_MPI                     (1 files differ)
ww3_tic1.2/./work_IC3_CHENG                     (1 files differ)
ww3_tic1.2/./work_IC3_B2.5k                     (1 files differ)
ww3_tic1.2/./work_IC3_B0.5k                     (1 files differ)
ww3_tic1.2/./work_IC3_V1_h                     (1 files differ)
ww3_tic1.2/./work_IC3_B1.0k_MPI                     (1 files differ)
ww3_tic1.2/./work_IC3_B1.0k                     (1 files differ)
ww3_tic1.2/./work_IC3_A0.5k                     (1 files differ)
ww3_tic1.2/./work_IC3_A1.0k_MPI                     (1 files differ)
ww3_tic1.3/./work_IC3_2.5k_PR3_UQ                     (1 files differ)
ww3_tic1.3/./work_IC3_V1_G                     (1 files differ)
ww3_tic1.3/./work_IC3_2.5k_PR1                     (1 files differ)
ww3_tic1.3/./work_IC3_CHENG                     (1 files differ)
ww3_tic1.3/./work_IC3_0.5k_PR3_UNO                     (1 files differ)
ww3_tic1.3/./work_IC3_2.5k_PR3_UNO                     (1 files differ)
ww3_tic1.3/./work_IC3_0.5k_PR3_UQ                     (1 files differ)
ww3_tic1.3/./work_IC3_2.5k_PR2_UNO                     (1 files differ)
ww3_tic1.3/./work_IC3_V1_h                     (1 files differ)
ww3_tic1.3/./work_IC3_0.5k_PR2_UQ                     (1 files differ)
ww3_tic1.3/./work_IC3_0.5k_PR2_UNO                     (1 files differ)
ww3_tic1.3/./work_IC3_0.5k_PR1                     (1 files differ)
ww3_tic1.3/./work_IC3_2.5k_PR2_UQ                     (1 files differ)
ww3_tic1.4/./work_IC1IS2_1000                     (2 files differ)
ww3_tic1.4/./work_IC2IS2_IC2d                     (2 files differ)
ww3_tic1.4/./work_IC2IS2_IC2b                     (2 files differ)
ww3_tic1.4/./work_IC0IS2_1000                     (2 files differ)
ww3_tic2.1/./work_IC1                     (1 files differ)
ww3_tic2.2/./work_IC2IS2                     (1 files differ)
ww3_tic2.3/./work_IC2IS2creep                     (1 files differ)
ww3_tic2.3/./work_IC2IS2scat                     (1 files differ)
ww3_tic2.3/./work_IC2IS2dissip                     (1 files differ)
ww3_tp1.4/./work_PR2_UNO                     (1 files differ)
ww3_tp1.4/./work_PR3_UQ                     (1 files differ)
ww3_tp1.4/./work_PR3_UNO                     (1 files differ)
ww3_tp1.4/./work_PR1                     (1 files differ)
ww3_tp1.4/./work_PR2_UQ                     (1 files differ)
ww3_tp1.5/./work_PR2_UNO                     (1 files differ)
ww3_tp1.5/./work_PR3_UQ                     (1 files differ)
ww3_tp1.5/./work_PR3_UNO                     (1 files differ)
ww3_tp1.5/./work_PR1                     (1 files differ)
ww3_tp1.5/./work_PR2_UQ                     (1 files differ)
ww3_tp1.6/./work_PR2_UNO                     (1 files differ)
ww3_tp1.6/./work_PR3_UQ                     (1 files differ)
ww3_tp1.6/./work_PR3_UNO                     (1 files differ)
ww3_tp1.6/./work_PR1                     (1 files differ)
ww3_tp1.6/./work_PR2_UQ                     (1 files differ)
ww3_tp1.8/./work_PR3_UQ                     (1 files differ)
ww3_tp1.9/./work_PR3_UQ                     (1 files differ)
ww3_tp1.9/./work_PR3_UQ_MPI                     (1 files differ)
ww3_tp2.10/./work_MPI_OMPH                     (6 files differ)
ww3_tp2.16/./work_MPI_OMPH                     (4 files differ)
ww3_tp2.19/./work_1B_a                     (1 files differ)
ww3_tp2.19/./work_1A_a                     (1 files differ)
ww3_tp2.19/./work_1C_a                     (1 files differ)
ww3_tp2.6/./work_ST4_ASCII                     (0 files differ)
ww3_ts1/./work_NL5                     (1 files differ)
ww3_ts2/./work_ST6_PR3_UQ                     (1 files differ)
ww3_ts2/./work_ST3_PR3_UNO                     (1 files differ)
ww3_ts2/./work_ST4_PR1                     (1 files differ)
ww3_ts2/./work_ST4_PR3_UNO                     (1 files differ)
ww3_ts2/./work_ST6_PR2_UNO                     (1 files differ)
ww3_ts2/./work_ST6_PR2_UQ                     (1 files differ)
ww3_ts2/./work_ST3_PR2_UNO                     (1 files differ)
ww3_ts2/./work_ST1_PR1                     (1 files differ)
ww3_ts2/./work_ST3_PR1                     (1 files differ)
ww3_ts2/./work_ST2_PR3_UQ                     (1 files differ)
ww3_ts2/./work_ST2_PR3_UNO                     (1 files differ)
ww3_ts2/./work_ST3_PR2_UQ                     (1 files differ)
ww3_ts2/./work_ST4_PR3_UQ                     (1 files differ)
ww3_ts2/./work_ST1_PR2_UNO                     (1 files differ)
ww3_ts2/./work_ST2_PR1                     (1 files differ)
ww3_ts2/./work_ST6_PR1                     (1 files differ)
ww3_ts2/./work_ST3_PR3_UQ                     (1 files differ)
ww3_ts2/./work_ST6_PR3_UNO                     (1 files differ)
ww3_ts2/./work_ST2_PR2_UNO                     (1 files differ)
ww3_ts2/./work_ST4_PR2_UQ                     (1 files differ)
ww3_ts2/./work_ST4_PR2_UNO                     (1 files differ)
ww3_ts2/./work_ST2_PR2_UQ                     (1 files differ)
ww3_ts2/./work_ST1_PR2_UQ                     (1 files differ)
ww3_ts2/./work_ST1_PR3_UNO                     (1 files differ)
ww3_ts2/./work_ST1_PR3_UQ                     (1 files differ)
ww3_ufs1.3/./work_a                     (3 files differ)
 
**********************************************************************
************************ identical cases *****************************
**********************************************************************

The PR branch was run against itself to confirm this is the case.

matrix.comp: vs. PR branch
Comparing the PR branch against itself, there are only the known non-b4b differences.

vs.pr.matrixCompSummary.txt
vs.pr.matrixCompFull.txt
vs.pr.matrixDiff.txt

**********************************************************************
********************* non-identical cases ****************************
**********************************************************************
mww3_test_03/./work_PR1_MPI_e                     (1 files differ)
mww3_test_03/./work_PR3_UQ_MPI_e_c                     (1 files differ)
mww3_test_03/./work_PR3_UNO_MPI_e                     (1 files differ)
mww3_test_03/./work_PR2_UQ_MPI_e                     (1 files differ)
mww3_test_03/./work_PR2_UNO_MPI_e                     (1 files differ)
mww3_test_03/./work_PR2_UNO_MPI_d2                     (9 files differ)
mww3_test_03/./work_PR1_MPI_d2                     (8 files differ)
mww3_test_03/./work_PR3_UNO_MPI_d2_c                     (10 files differ)
mww3_test_03/./work_PR3_UQ_MPI_d2_c                     (17 files differ)
mww3_test_03/./work_PR3_UNO_MPI_d2                     (17 files differ)
mww3_test_03/./work_PR2_UQ_MPI_d2                     (14 files differ)
mww3_test_03/./work_PR3_UQ_MPI_d2                     (16 files differ)
mww3_test_09/./work_MPI_ASCII                     (0 files differ)
ww3_tp2.10/./work_MPI_OMPH                     (6 files differ)
ww3_tp2.16/./work_MPI_OMPH                     (4 files differ)
ww3_tp2.6/./work_ST4_ASCII                     (0 files differ)
ww3_ufs1.3/./work_a                     (3 files differ)
 
**********************************************************************
************************ identical cases *****************************
**********************************************************************

@MatthewMasarik-NOAA MatthewMasarik-NOAA merged commit f702a8f into NOAA-EMC:develop Nov 2, 2023
@MatthewMasarik-NOAA
Copy link
Collaborator

@Biao-Zhao thank you, and nice work catching this attribute bug!

@Biao-Zhao
Copy link
Contributor Author

@MatthewMasarik-NOAA I'm honored to be involved!

miguelsolanocordoba added a commit to wavespotter/WW3 that referenced this pull request Apr 19, 2024
* Bugfix - initialised VD and VS to zero in w3srcemd. (NOAA-EMC#1037)

* More efficient test for binary files in matrix.comp (NOAA-EMC#1035)

* Tidy up of pre-processor directives and unused variables in w3srcemd.F90 (NOAA-EMC#1010)

* Correct typo in w3srcemd.F90 pre-processor directive. (NOAA-EMC#1039)

* minor bugfix for matrix grepping on keywords (NOAA-EMC#1049)

* Stop masking group 1 output where icec > icen (NOAA-EMC#1019)

* Doxygen documentation added, 8th subset.(NOAA-EMC#1046)

* NC4 ,F90 ,XX0 switches removed from ww3_tp2.19 regtest (NOAA-EMC#1054)

* CI:  Fix for Intel scripts. GNU scripts updated. (NOAA-EMC#1064)

* correct the computation of QP parameter, add QKK output parameter, change UST scale factor (NOAA-EMC#1050)

* correct issue with ww3_multi when requesting restart2 and using nml file instead of inp file (NOAA-EMC#1070)

* correct calendar for track netcdf output (NOAA-EMC#1079)

* Fix missing mod_def.ww3 file in multigrid regression tests for track output (NOAA-EMC#1091)

* STAB3: fix cmake build for ST4 or ST3 (NOAA-EMC#1086)

* new feature to output out_grd.ww3, out_pnt.ww3 and mod_def.ww3 both in binary and ascii format using switch ASCII. (NOAA-EMC#1089)

* Update local unit number arrays (NDS, MDS) to be same size of array defined in w3odatmd (size=15). Also, defined unit numbers for NDS(14) and NDS(15). (NOAA-EMC#1098)

* Removed code referencing PHIOC in output section for PHICE in ww3_ounf (NOAA-EMC#1093)

* implementation of the GQM (Gaussian Quadrature Method) to replace the DIA in NL1 or NL2. (NOAA-EMC#1083)

* update logic to ensure you are not accessing uninitialized dates (NOAA-EMC#1114)

* Initialised S and D arrays in W3SDB1 before potential early return if zero energy. (NOAA-EMC#1115)

* ww3_ounp.F90:  x/y units attribute corrected from 'm' to 'km' (NOAA-EMC#1088)

* Bugfix: Assign unit numbers to ASCII gridded/point output in multi-grid mode. (NOAA-EMC#1118)

* correct bugs to run correctly GQM implementation (NOAA-EMC#1127)

* Adding documentation to w3iopo() in preparation for code for NOAA-EMC#682. (NOAA-EMC#1131)

* NCEP regtest module updates: uses spack-stack/1.5.0, includes scotch/7.0.4 (NOAA-EMC#1137)

* Minor update to ncep regtests (NOAA-EMC#1138)

* Updated intel workflow to install oneapi compilers from new location. (NOAA-EMC#1157)

* Add unit test for points I/O code. (NOAA-EMC#1158)

* Update Intel CI (relocate /usr/local; ensure intel-oneapi-mpi; use ubuntu-latest) (NOAA-EMC#1161)

* remove lookup table for ST4 to speed up computation and clean up the ST4 code (NOAA-EMC#1124)

Co-authored-by: Fabrice Ardhuin <[email protected]>

* initialize USSP_WN for mod_def (NOAA-EMC#1165)

* Introduce IC4M8 and IC4M9 to WW3 (NOAA-EMC#1176)

* clean up and add ST4 variables (NOAA-EMC#1181)

* w3fld1md.F90: fix divide by zero in CRIT2 parameter (NOAA-EMC#1184)

* ww3_prnc.F90: fix out-of-scope grid index write statement (NOAA-EMC#1185)

* Bugfix: address potential divide-by-zero in APPENDTAIL (NOAA-EMC#1188)

Co-authored-by: Denise Worthen <[email protected]>

* Provide initial drying of cells with depth < ZLIM for SMC grid. (NOAA-EMC#1192)

* Output OMP threading info to screen when running ww3_shel/ww3_multi compiled with the OMPG switch. Also fixes truncation of build.log when running run_cmake_build. (NOAA-EMC#1191)

* Added screen output showing number of threads when OMP enabled.

* update build to get more info in logs (NOAA-EMC#46)

---------

Co-authored-by: Jessica Meixner <[email protected]>

* update run_cmake_test to catch build errors and exit (NOAA-EMC#1194)

* fix merge conflicts

* Fix gustiness bug, as suggst by Pieter

* Change USTARsigma to WAM implementation

---------

Co-authored-by: Chris Bunney <[email protected]>
Co-authored-by: Mickael Accensi <[email protected]>
Co-authored-by: Benoit Pouliot <[email protected]>
Co-authored-by: Matthew Masarik <[email protected]>
Co-authored-by: Ghazal-Mohammadpour <[email protected]>
Co-authored-by: Jessica Meixner <[email protected]>
Co-authored-by: Biao Zhao <[email protected]>
Co-authored-by: Edward Hartnett <[email protected]>
Co-authored-by: Alex Richert <[email protected]>
Co-authored-by: Fabrice Ardhuin <[email protected]>
Co-authored-by: W. Erick Rogers <[email protected]>
Co-authored-by: Denise Worthen <[email protected]>
Co-authored-by: Camille Teicheira <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants