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

Fms2 io implementation #74

Merged

Conversation

laurenchilutti
Copy link
Contributor

@laurenchilutti laurenchilutti commented Mar 11, 2021

Description
This pull request implements fms2io into the GFDL_atmos_cubed_sphere code. In a coming release of FMS, the modules mpp_io_mod and fms_io_mod are being deprecated and replaced by the new fms2_io_mod. These changes go hand in hand with the changes to the physics in PR6.

Fixes # (issue)

How Has This Been Tested?
These changes have been tested with SHiELD and do not change answers. Using FMS 2021.02-beta2 tag and SHiELD_driver laurenchilutti:user/lec/fms2io
Specific tests run are:

  • C48 grid test with coarse grained restarts and intermediate restarts and with external_ic=true and nggps_ic=true (No nests)
  • C48 grid test with coarse grained restarts and intermediate restarts and warm start from RESTARTS (No nests)
  • C48 grid test with external_ic=true and nggps_ic=true (No nests)
  • C48 grid test with external_ic=true and nggps_ic=true and warm start from RESTARTS (No nests)
  • C48 grid test with external_ic=true and nggps_ic=true and 1 nested grid
  • C768 grid test with external_ic=true and nggps_ic=true (No nests)
  • C768 grid test with external_ic=true and nggps_ic=true and 1 nested grid
  • Regional 3km test with external_ic=true and nggps_ic=true (No nests)

Checklist:

Please check all whether they apply or not

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules

…cing the necessary functions with fms2_io_mod functions
…name when needed and removing unneccessary code in fv_io_mod
@lharris4
Copy link
Contributor

lharris4 commented Mar 11, 2021 via email

@laurenchilutti
Copy link
Contributor Author

Lucas - I can run some tests and compare the timing.

@bensonr
Copy link
Contributor

bensonr commented Mar 11, 2021 via email

@bensonr
Copy link
Contributor

bensonr commented Apr 22, 2021

@laurenchilutti - This PR was opened prior to a template being in place. There is a lot of good work here, but I want to make sure we've tested to the largest extent that we can. Could you list the tests you've run with the fms2_io to give an idea of the code coverage? In particular, it would be good to list the IC type (GFS, HRRR, ECMWF, SHiELD), model type (nested, regional, etc.) and whether restarts (intermediate writing and functional test) were a part of the testing as well. Also, are there changes coming/needed within the SHiELD_driver project?

@laurenchilutti laurenchilutti force-pushed the fms2_io_implementation branch from 9063a74 to fb96053 Compare April 28, 2021 13:18
Copy link
Contributor

@bensonr bensonr left a comment

Choose a reason for hiding this comment

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

Can you remove any references to the use association of write_version_number from fms_io_mod. I think the only place it appears is in tools/fv_diagnostics.F90 where it is also use associated via fms_mod.

@laurenchilutti
Copy link
Contributor Author

@bensonr My apologies for not directly responding to the comment from 6 days ago. I am putting a list of all tests run and will update the description of this PR to include that. SHiELD_drivers will also require updates to fms2io that has not been finished yet. For now, the branch: user/lec/fms2io from my fork is needed to test fms2io with SHiELD.

I will go ahead and clean up the use of write_version_mod.

@lharris4
Copy link
Contributor

lharris4 commented Apr 28, 2021 via email

@laurenchilutti
Copy link
Contributor Author

Can you remove any references to the use association of write_version_number from fms_io_mod. I think the only place it appears is in tools/fv_diagnostics.F90 where it is also use associated via fms_mod.

@bensonr I do not see any use statements from fms_io_mod anywhere in this new code. When you look at tools/fv_diagnostics.F90 it used to use write_version_number from fms_io_mod, but I removed and replaced that with fms_mod. I may be misunderstanding your request.

@bensonr
Copy link
Contributor

bensonr commented Apr 28, 2021

@laurenchilutti thanks for confirming. I was looking at the current code and didn't realize you'd fixed it as part of this PR.

@bensonr bensonr self-requested a review April 28, 2021 16:39
@bensonr
Copy link
Contributor

bensonr commented Apr 29, 2021

@laurenchilutti - do you feel ready for a formal review?

@laurenchilutti
Copy link
Contributor Author

@bensonr Yes, I am ready for a formal review. I updated the description to include testing completed. Note that I have not been able to test a nested run warm-starting from restarts - I am working with Joseph on this.

@bensonr
Copy link
Contributor

bensonr commented Apr 30, 2021 via email

Copy link
Contributor

@uramirez8707 uramirez8707 left a comment

Choose a reason for hiding this comment

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

Thanks @laurenchilutti. It all looks good to me.

@laurenchilutti laurenchilutti requested a review from lharris4 May 5, 2021 11:58
Copy link
Contributor

@lharris4 lharris4 left a comment

Choose a reason for hiding this comment

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

This looks good. I am really glad we can get rid of the INTERNAL_FILE_NML. One question: has nggps_ic been tested with these changes?

@bensonr
Copy link
Contributor

bensonr commented May 6, 2021

@lharris4 - there is a "How this has been tested" section in the description of the PR (thanks to the PR template we appropriated from the NOAA-GFDL/FMS project). Please let us know if there is untested functionality that needs to be addressed.

Copy link
Contributor

@bensonr bensonr left a comment

Choose a reason for hiding this comment

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

I believe you still have an instance of INTERNAL_FILE_NML in fv_diag_column.F90

…ter_axis in fv_ada_nudge. Reintroducing flush function and updating namelist read in fv_diag_column
@laurenchilutti laurenchilutti merged commit 5d8ef5e into NOAA-GFDL:master May 10, 2021
binli2337 added a commit to binli2337/GFDL_atmos_cubed_sphere that referenced this pull request Oct 20, 2022
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