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

Use the global 127L B-Matrix in regional FV3 DA (FV3LAMDA) #175

Closed
xyzemc opened this issue Jun 16, 2021 · 6 comments · Fixed by #199
Closed

Use the global 127L B-Matrix in regional FV3 DA (FV3LAMDA) #175

xyzemc opened this issue Jun 16, 2021 · 6 comments · Fixed by #199
Assignees

Comments

@xyzemc
Copy link
Contributor

xyzemc commented Jun 16, 2021

@JacobCarley-NOAA
FV3LAM DA currently still uses the old NAM B-Matrix, which needs to upgrade to FV3 model-based B-Matrix. Current GSI code m_berror_stats_reg.f90 is not able to directly read in the global 127L B-matrix. So GSI code needs to be changed for both reading the 127L B and correctly handling the B for regional FV3.

@jderber-NOAA
Copy link
Contributor

OK. I will try to fix.

@jderber-NOAA
Copy link
Contributor

After several false paths, it was found that to use the global statistics in the regional model, there are 3 basic issues.

  1. The global file is missing the second record that has the latitudes and sigmas of the statistics.
  2. Some of the arrays are dimensioned a bit differently in the global and regional files. In the global, all arrays go from 1 to mlat. In some of the regional arrays, they go from 0 to mlat+1. This is not true of all arrays in the regional.
  3. The global contains some additional variables (sst, ozone and cw) that are not available in the regional file.

To address these issues several changes were made.

  1. A global file containing the latitudes and sigmas was constructed. A namelist variable was included to allow it the user to supply the name of the input statistics file. The default was not changed. Also, a new namelist variable, usenewgfsberror logical namelist variable was included to allow the file with the extra record to be used in the global. The same namelist variable was used for the regional to specify that the new global statistics file is being used for the regional.
  2. Based on usenewgfsberror, the arrays are dimensioned to handle the global dimensions in the regional run.
  3. The additional variables in the global file are not used. The sst values are read in and put in the arrays, but are then overwritten with what is currently used in the regional runs. So to use the global sst values, you should just be able to delete the additional code overwriting the stats. For the ozone and cw, the test scripts I was given did not use these variables as control variables. But I believe they can be done similarly.

After applying these changes, the global runs reproduced results when compared to the head of the trunk. The regional did not. A lot of time was spent trying to find the source of these differences. A few errors in the original code were found. These changes will probably change the regional fv3 results. Even after these fixes, the results were different. The differences appeared to be at the level of round-off errors.

@jderber-NOAA
Copy link
Contributor

The problem with the regional test was found to be that the same input file was being used for the output file. Thus, the guess was changing with each run. When this was fixed, the results for the regional input file was identical.

The changes are in branch fv3nam.

The updated global file is in /scratch2/NCEPDEV/stmp3/John.Derber/Exp0C775-Gens-Coldstart/tmpnwprd-2021062700/gsianl_tm06_00/berror_stats_new.

An updated gsiparm.anl file to use the global berror file is in /scratch2/NCEPDEV/stmp3/John.Derber/Exp0C775-Gens-Coldstart/tmpnwprd-2021062700/gsianl_tm06_00/gsiparm2.anl

The stdout and fort.* files were compared between the global and regional run. The results are similar.

@jderber-NOAA
Copy link
Contributor

Xiaoyan produced single observation plots using the global statistics. The results did not look good and the univariate analysis did not work. Two bugs were found. After fixing these two bugs, the code appears to be working properly. Xiaoyan produced the following single ob plots.

image
image

Now time to move forward to inserting changes into trunk.

@jderber-NOAA
Copy link
Contributor

Code will be updated to remove commented out code to create new global stats file.

@jderber-NOAA
Copy link
Contributor

From a suggestion from Jacob C. the code was modified so that for the global case, it can determine whether the input berror file is a new version or an old version without any namelist variables being specified. For the regional, the newgfsberror variable still needs to be changed when the new file is used.

Regression tests run and passed.

jderber-NOAA added a commit to jderber-NOAA/GSI that referenced this issue Aug 13, 2021
jderber-NOAA added a commit to jderber-NOAA/GSI that referenced this issue Aug 24, 2021
jderber-NOAA added a commit to jderber-NOAA/GSI that referenced this issue Aug 24, 2021
jderber-NOAA added a commit to jderber-NOAA/GSI that referenced this issue Sep 2, 2021
MichaelLueken added a commit that referenced this issue Sep 3, 2021
 GitHub Issue #175. Use the global 127L B-Matrix in regional FV3 DA (FV3LAMDA)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants