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

GitHub Issue NOAA-EMC/GSI#280. Add code to GSI IO interface with fv3lam to handle subdomain restart files #285

Merged
merged 1 commit into from
Feb 4, 2022

Conversation

hu5970
Copy link
Collaborator

@hu5970 hu5970 commented Jan 8, 2022

This PR is to solve issue # 280.

A new namelist fv3_io_layout_y is added.

When fv3_io_layout_y=1, the GSI is identical to current function.
When fv3_io_layout_y=n, the GSI will expects multiple restart files covering subdomains.

The code is currently used in GSL NA 3km real-time runs.

In this PR, the build.comgsi is updated for JET application when parallel IO are needed for background and ensemble IO.

The calculate of GSD PBL is also updated for FV3LAM model.

@TingLei-daprediction
Copy link
Contributor

@hu5970 when , on hera, I cloned this branch and built it, I got the error message:
^
[ 95%] Building Fortran object src/enkf/CMakeFiles/enkfdeplib.dir/enkf_obsmod.f9 0.o
../../lib/libgsilib_wrf.a(read_obs.F90.o): In function read_obsmod_mp_read_obs_ ': /scratch2/NCEPDEV/fv3-cam/Ting.Lei/dr-mhu-pr/GSI/src/gsi/read_obs.F90:1835: unde fined reference to read_sst_viirs_'
[ 95%] Linking Fortran static library ../../lib/libenkfdeplib.a
make[2]: *** [bin/gsi.x] Error 1
make[1]: *** [src/gsi/CMakeFiles/gsi.x.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 98%] Built target enkfdeplib
make: *** [all] Error 2

V
Did I miss anything?

@hu5970
Copy link
Collaborator Author

hu5970 commented Jan 10, 2022 via email

@TingLei-daprediction
Copy link
Contributor

@hu5970 Thanks. Seems read_sst_viirs doesn't exist in the master branch and hence I had such an error message when I did make using the build dir generated in the master branch.

@hu5970
Copy link
Collaborator Author

hu5970 commented Jan 11, 2022

@TingLei-daprediction read_sst_viirs is in file "read_viirs.f90". Could you check if you have this file?
I have this file in the branch. Seems Hera is down today. I will build this branch when Hera is back.

@TingLei-NOAA
Copy link
Contributor

TingLei-NOAA commented Jan 11, 2022 via email

@hu5970
Copy link
Collaborator Author

hu5970 commented Jan 11, 2022

@TingLei-daprediction: I can see the read_viirs.f90 file from GitHub NOAA-EMC/GSI master branch. Did you see it?

@TingLei-NOAA
Copy link
Contributor

TingLei-NOAA commented Jan 11, 2022 via email

@hu5970
Copy link
Collaborator Author

hu5970 commented Jan 11, 2022 via email

@TingLei-NOAA
Copy link
Contributor

TingLei-NOAA commented Jan 11, 2022 via email

end if

thetav(k) = ges_tv(i,j,k)*(r1000/pbk(k))**rd_over_cp_mass
if (wrf_mass_regional) then
Copy link
Contributor

Choose a reason for hiding this comment

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

This part bring significant changes . I suspect this part (for fv3_regional) also caused the differences in my comparison test, in which , the new codes with this subdomain function is supposed to give the identical results for the single domain case. Would @hu5970 give some documentation on why the changes are expected to be more accurate?

Copy link
Contributor

@TingLei-NOAA TingLei-NOAA left a comment

Choose a reason for hiding this comment

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

This current PR has passed my test case, in which , it gave the identical results for the original "whole domain" background files.
The algorithm in this PR dealing with the subdomain cases are practically simple while creative (each MPI process reads multiple background files in subdomains in a serially) and the developer has shown it would only cause extra wall clock time in several seconds. So, this PR for GSI provides a solution to deal with the UFS model 's slowing with the "whole domain" option, though the current fv3-lam interface would make even harder for future expansions like incorporation of the dual resolutions interface in the HAFS GSI repository.
The coding of this algorithm is clean and efficient.

@MichaelLueken
Copy link
Contributor

Hi @hu5970,

I have completed my review of these changes. I saw no issues with the changes you made. The regression tests were run, and all passed. The code was compiled in debug and no new warning messages appeared. The debug tests were run, and all ran through to completion. Before I submit this work to the review committee, please reduce the number of commit messages from two to one using the following:

  1. git reset --soft HEAD~1
  2. git commit --amend
  3. Please include:
    GitHub Issue NOAA-EMC/GSI#280.
    at the start of the current commit message, for proper tracking.
  4. git push origin fv3lam_subdomain_restart --force

Once this is complete, I will be able to submit this work to the review committee.

Please let me know if you have any questions.

@hu5970
Copy link
Collaborator Author

hu5970 commented Jan 26, 2022

@MichaelLueken-NOAA Thanks for reviewing the PR. I have merged the two commit messages into one.

@MichaelLueken MichaelLueken changed the title Add code to GSI IO interface with fv3lam to handle subdomain restart files GitHub Issue NOAA-EMC/GSI#280. Add code to GSI IO interface with fv3lam to handle subdomain restart files Feb 4, 2022
@MichaelLueken
Copy link
Contributor

There was no feedback from the review committee, so I will now give final approval to these changes and merge them to the authoritative NOAA-EMC/GSI repository.

@MichaelLueken MichaelLueken merged commit 1caf75a into NOAA-EMC:master Feb 4, 2022
@hu5970 hu5970 deleted the fv3lam_subdomain_restart branch August 30, 2023 19:12
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.

Enhance GSI IO interface with FV3LAM to handle subdomain restart files
4 participants