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

Write configurable paths of out_grd, out_pnt, and restarts #1221 #1369

Merged
merged 10 commits into from
Feb 14, 2025

Conversation

mingchen-NOAA
Copy link
Contributor

Pull Request Summary

Add options to define output paths for out_grd, out_pnt, and restarts in ww3_shel.nml.

Description

Implemented configurable paths for raw outputs and restart files to meet requirements. The path namelists are defined in ww3_shel.nml and will be recorded in ww3_shel.nml.log. Two new subroutines are added in w3nmlshelmd.F90 to handle the path namelists. Several files were modified to integrate this functionality, including w3odatmd.F90, w3iogomd.F90, w3iopomd.F90, w3iorsmd.F90, and ww3_shel.F90. Additionally, model/nml/ww3_shel.nml was updated to provide an example configuration.

Issue(s) addressed

Addressing issue #1221

Commit Message

User-defined path feature development

Check list

Testing

  • How were these changes tested?
    In matrix
  • Are the changes covered by regression tests? (If not, why? Do new tests need to be added?)
    No, this is a user-defined path that varies depending on the environment.
  • Have the matrix regression tests been run (if yes, please note HPC and compiler)?
    Orion, Intel
  • 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):

The ww3_shel.nml.log files in the following cases differ between the two versions due to the newly recorded path namelists, resulting in non-identical in these log files. In addition, some differences arise from spacing changes in w3nmlshelmd.F90.


********************* non-identical cases ****************************


ww3_tnc1/./work (1 files differ)
ww3_ts1/./work_T707GQM (1 files differ)
ww3_ts1/./work_Romero (1 files differ)
ww3_ts1/./work_ST4_T500 (1 files differ)
ww3_ts1/./work_ST4_CAP (1 files differ)
ww3_ts1/./work_T701 (1 files differ)
ww3_ts1/./work_T713GQM (1 files differ)
ww3_ts1/./work_T702 (1 files differ)
ww3_ts1/./work_ST4_T700 (1 files differ)

The full non-identical cases are listed below:


********************* non-identical cases ****************************


mww3_test_03/./work_PR1_MPI_d2 (19 files differ)
mww3_test_03/./work_PR3_UNO_MPI_e_c (1 files differ)
mww3_test_03/./work_PR3_UQ_MPI_d2 (15 files differ)
mww3_test_03/./work_PR2_UNO_MPI_d2 (15 files differ)
mww3_test_03/./work_PR3_UNO_MPI_d2 (19 files differ)
mww3_test_03/./work_PR2_UQ_MPI_d2 (16 files differ)
mww3_test_03/./work_PR3_UQ_MPI_e (1 files differ)
mww3_test_03/./work_PR3_UQ_MPI_d2_c (15 files differ)
mww3_test_03/./work_PR2_UNO_MPI_e (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_PR1_MPI_e (1 files differ)
mww3_test_03/./work_PR3_UNO_MPI_d2_c (15 files differ)
mww3_test_09/./work_MPI_ASCII (0 files differ)
ww3_tnc1/./work (1 files differ)
ww3_tp2.10/./work_MPI_OMPH (6 files differ)
ww3_tp2.14/./work_OASACM4 (1 files differ)
ww3_tp2.16/./work_MPI_OMPH (4 files differ)
ww3_tp2.6/./work_ST4_ASCII (0 files differ)
ww3_ts1/./work_T707GQM (1 files differ)
ww3_ts1/./work_Romero (1 files differ)
ww3_ts1/./work_ST4_T500 (1 files differ)
ww3_ts1/./work_ST4_CAP (1 files differ)
ww3_ts1/./work_T701 (1 files differ)
ww3_ts1/./work_T713GQM (1 files differ)
ww3_ts1/./work_T702 (1 files differ)
ww3_ts1/./work_ST4_T700 (1 files differ)
ww3_ufs1.3/./work_a (3 files differ)

matrixCompFull.txt
matrixCompSummary.txt
matrixDiff.txt

@MatthewMasarik-NOAA
Copy link
Collaborator

Thank you for submitting this @mingchen-NOAA. I'll start the testing.

@JessicaMeixner-NOAA
Copy link
Collaborator

@aerorahul do you have a recommendation for how long the path for the output path should be? Would 80 characters be enough for a file path for operations?

@aerorahul
Copy link

@aerorahul do you have a recommendation for how long the path for the output path should be? Would 80 characters be enough for a file path for operations?

I can't say 80 will be enough. It might be on WCOSS. It might be cutting it close on some of the other machines.

@JessicaMeixner-NOAA
Copy link
Collaborator

@aerorahul I tried to see how big you made the FV3_ATM variable but struggled to find where you actually defined it. How many characters did you use for that? At least we can try to be consistent with that.

@aerorahul
Copy link

@aerorahul I tried to see how big you made the FV3_ATM variable but struggled to find where you actually defined it. How many characters did you use for that? At least we can try to be consistent with that.

https://github.com/NOAA-EMC/fv3atm/blob/e71cf1a1a1d0ef688c0f8f9795e7eb657edadfe8/io/module_fv3_io_def.F90#L41
I think esmf_maxstr might be 256, but I don't know for sure.

@JessicaMeixner-NOAA
Copy link
Collaborator

@mingchen-NOAA - Let's change the character lengths of 80 -> 256 just to be safe.

@JessicaMeixner-NOAA
Copy link
Collaborator

Thanks for the updates @mingchen-NOAA

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.

Hi @mingchen-NOAA I've looked through the code and had one request to make for documentation. Could you add a header for each of the two subroutines added, READ_OUTPUT_PATH_NML and REPORT_OUTPUT_PATH_NML?

@MatthewMasarik-NOAA
Copy link
Collaborator

Thanks for adding the headers and updating the character lengths @mingchen-NOAA. Just wanted to check if this is ready for final review at this point?

@mingchen-NOAA
Copy link
Contributor Author

mingchen-NOAA commented Feb 13, 2025 via email

@MatthewMasarik-NOAA
Copy link
Collaborator

If no additional comments or requests, I am ok for the final review.

Awesome, thank you. I'll do the final testing.

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

My testing confirm the authors test results. The differences are due only to the known non-b4b tests, and the regtests ww3_tnc1 and ww3_ts1, where the newly added paths and space formatting cause differences in ww3_shel.nml.log.

**********************************************************************          
********************* non-identical cases ****************************          
**********************************************************************          
mww3_test_03/./work_PR1_MPI_e                     (1 files differ)              
mww3_test_03/./work_PR3_UNO_MPI_e                     (1 files differ)          
mww3_test_03/./work_PR2_UNO_MPI_d2                     (18 files differ)        
mww3_test_03/./work_PR1_MPI_d2                     (10 files differ)            
mww3_test_03/./work_PR3_UNO_MPI_d2_c                     (16 files differ)      
mww3_test_03/./work_PR3_UQ_MPI_d2_c                     (16 files differ)       
mww3_test_03/./work_PR3_UNO_MPI_d2                     (15 files differ)        
mww3_test_03/./work_PR2_UQ_MPI_d2                     (14 files differ)         
mww3_test_03/./work_PR3_UQ_MPI_e                     (1 files differ)           
mww3_test_03/./work_PR3_UQ_MPI_d2                     (16 files differ)         
mww3_test_09/./work_MPI_ASCII                     (0 files differ)              
ww3_tnc1/./work                     (1 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_ts1/./work_Romero                     (1 files differ)                      
ww3_ts1/./work_ST4_CAP                     (1 files differ)                     
ww3_ts1/./work_T701                     (1 files differ)                        
ww3_ts1/./work_ST4_T700                     (1 files differ)                    
ww3_ts1/./work_T702                     (1 files differ)                        
ww3_ts1/./work_ST4_T500                     (1 files differ)                    
ww3_ts1/./work_T707GQM                     (1 files differ)                     
ww3_ts1/./work_T713GQM                     (1 files differ)                     
ww3_ufs1.3/./work_a                     (3 files differ)                        
                                                                                
**********************************************************************          
************************ identical cases *****************************          
**********************************************************************

matrixCompSummary.txt
matrixCompFull.txt
matrixDiff.txt

Approved.

@MatthewMasarik-NOAA MatthewMasarik-NOAA merged commit aaff457 into NOAA-EMC:develop Feb 14, 2025
@MatthewMasarik-NOAA
Copy link
Collaborator

Thank you providing this new feature giving flexibility for output paths, @mingchen-NOAA! I believe this is your 1st PR to WW3, congratulations! ⭐

@mingchen-NOAA
Copy link
Contributor Author

Thank you! I really appreciate the support and encouragement! Excited to contribute to WW3 and looking forward to more collaborations! @MatthewMasarik-NOAA

@MatthewMasarik-NOAA
Copy link
Collaborator

That's great to hear @mingchen-NOAA, I'm looking forward to more of your contributions to WW3 as well!

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.

4 participants