-
Notifications
You must be signed in to change notification settings - Fork 157
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
dimension change in sfc restart files #344
Comments
After looking at the restart files in the baseline, the changes come from the fv3 PR#285, committed on 5/27 @climbfuji |
Thanks, @junwang-noaa! This issue/change was found/identified when conduct HAFS DA testing after syncing with the support/HAFS branch the latest ufs-weather-model develop branch. Also, @ericaligo-NOAA noticed this change in their FV3CAM DA testing as well. |
I think I know what happened. The variable I had to "add" the variable to get b4b identical results for restart runs. Since it was already in the restart files, I am wondering which of my other code changes (e.g. the block |
When you remove the redundant zorl variable, can you check if the time
dimension for other fields will go back? Or could it be something else that
messed up the time dimension for those fields.
…On Thu, Jul 15, 2021 at 11:03 AM Dom Heinzeller ***@***.***> wrote:
I think I know what happened. The variable zorl is already written to the
restart files, now it is written twice. The I/O layer somehow thinks
interprets this as two time indices (why?!?). It should have also thrown an
error that this variable is already registered for restarts ...
I had to "add" the variable to get b4b identical results for restart runs.
Since it was already in the restart files, I am wondering which of my other
code changes (e.g. the block compute_tsfc_zorl_for_colstart in
FV3GFS_io.F90) fixed the b4b mismatch for restart runs. Let me try to
simply remove the redundant zorl variable and see what happens.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#344 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AI7D6TILMG2PE3CLGCQOWTDTX32FLANCNFSM5ANVSMEQ>
.
|
Sure, I will check. |
So, the problem is NOT writing redundant zorl. The problem is that the existing code - before my changes - is reading a netCDF variable called I can of course change the name of that variable, but we need to check carefully for unintended side effects. |
I don't get this part. It looks to me there is no issue about read/write a data array zorlw as zorl, that should not change the time dimension. Also previous code does not change time dimension. So again, we write out two zorl fields from two different data array, that is the cause messing up the time dimension, is this correct? So if we give two different field name for "zorlw" and "zorl", will that resolve the issue? |
Yes, correct. we write out two zorl fields from two different data array. |
@climbfuji and @junwang-noaa, we previously also noticed that it is very confusing about using the zorl variable to store the zorlw value in the sfc_data.nc file. It will be definitely better to correct this (say having the correct zorl and zorlw, together with zorll and zorli in the restart sfc_data.nc files). |
Yep, that is what I am doing now. Ideally, they should be listed one after the other in FV3GFS_io.F90. |
zorlw is supposed to over water. zorl is for the total grid. zorll is
over land.
…On Thu, Jul 15, 2021 at 1:23 PM Dom Heinzeller ***@***.***> wrote:
@climbfuji <https://github.com/climbfuji> and @junwang-noaa
<https://github.com/junwang-noaa>, we previously also noticed that it is
very confusing about using the zorl variable to store the zorlw value in
the sfc_data.nc file. It will be definitely better to correct this (say
having the correct zorl and zorlw, together with zorll and zorli in the
restart sfc_data.nc files).
Yep, that is what I am doing now. Ideally, they should be listed one after
the other in FV3GFS_io.F90.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#344 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALLVRYQZ6MMKONLHGN5ACQTTX4KPPANCNFSM5ANVSMEQ>
.
--
Dr. Shrinivas Moorthi
Research Meteorologist
Modeling and Data Assimilation Branch
Environmental Modeling Center / National Centers for Environmental
Prediction
5830 University Research Court - (W/NP23), College Park MD 20740 USA
Tel: (301)683-3718
e-mail: ***@***.***
Phone: (301) 683-3718 Fax: (301) 683-3718
|
@SMoorthi-emc, Yes, zorl, zorll, and zorli were already there in sfc_data.nc restart files previously. Only the zorlw was missing and zorl used wrong values (zorlw). But, I think @climbfuji is trying to fix this. Also agree with @climbfuji that these four variables should be listed one after the other in FV3GFS_io.F90.
|
Unfortunately, there are two "zorl"
" sfc_name2(5) = 'zorl'" and
" sfc_name2(38) = 'zorl' !zorl composite"
Well, they are not together because the first one was with non fractional
grid and fractional grid was added only recently.
…On Thu, Jul 15, 2021 at 2:04 PM Bin Liu ***@***.***> wrote:
@SMoorthi-emc <https://github.com/SMoorthi-emc>, Yes, zorl, zorll, and
zorli were already there in sfc_data.nc restart files previously. Only
the zorlw was missing and zorl used wrong values (zorlw). But, I think
@climbfuji <https://github.com/climbfuji> is trying to fix this. Also
agree with @climbfuji <https://github.com/climbfuji> that these four
variables should be listed one after the other in FV3GFS_io.F90.
double zorl ( Time, yaxis_1, xaxis_1 )
long_name : zorl
units : none
checksum : 7B1F22BE4A631212
double zorll ( Time, yaxis_1, xaxis_1 )
long_name : zorll
units : none
checksum : CD4121999996E7E2
double zorli ( Time, yaxis_1, xaxis_1 )
long_name : zorli
units : none
checksum : BC00000000000000
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#344 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALLVRYVXEC6KQPHG2AKDCODTX4PMFANCNFSM5ANVSMEQ>
.
--
Dr. Shrinivas Moorthi
Research Meteorologist
Modeling and Data Assimilation Branch
Environmental Modeling Center / National Centers for Environmental
Prediction
5830 University Research Court - (W/NP23), College Park MD 20740 USA
Tel: (301)683-3718
e-mail: ***@***.***
Phone: (301) 683-3718 Fax: (301) 683-3718
|
Dom is going to correct that |
I's not that straightforward. If I simply require Sfcprop%zorlw to be zorlw without making it an optional variable, the code will fail with
with existing initial conditions. So what I really have to do is read |
Good news. If I make this change to read This is for uncoupled/binary landmask runs, haven't tried coupled runs w/ fractional landmask yet yet.
AND:
|
@climbfuji how about other fields besides zorl, do they have dimension ((Time, yaxis_1, xaxis_1) too? Did the restart test reproduce control? |
All variables have the same dimensions, yes. I created new baselines and verified against them on gaea.intel, all tests pass. |
Merge HAFSv0.2 configuration into develop and sync HAFS submodules This PR tries to: *Bring the HAFSv0.2 configuration used in 2021 HFIP HAFS real-time parallel experiments back in the HAFS develop branch *Sync HAFS submodules including hafs_forecast.fd (as of 07/12/2021), and hafs_utils.fd (as of 07/09/2021), hafs_gsi.fd (as of 07/09/2021), and hafs_post.fd (as of 07/09/2021) with their corresponding authoritative branches. Notes: *The HAFSv0.2 configuration were recently finalized for 2021 HFIP HAFSv0.2A real-time experiment based on the retrospective tests for 2019/2020 NATL storms. This HAFSv0.2A experiment also serves as the control experiment/configuration for the HAFSv0.2B/D/E real-time experiments. The development, testing and evaluation of the HAFSv0.2A configuration is one of the important HAFS development milestones. *Thanks to @danrosen25, @uturuncoglu, and @ChunxiZhang-NOAA for helping solve the conflicts when syncing the support/HAFS branch with the latest ufs-weather-model develop branch. *There is a known issue from the ufs-weather-model side: NOAA-EMC/fv3atm/issues/344, which changed the Time dimension and contents of the sfc_data.nc restart files. This broke the HAFS DA capability since DA/GSI need to read these sfc_data restart files. Fixing is ongoing from the ufs-weather-model side. And this HAFS DA capability will be restored next time when we sync ufs-weather-model develop branch after the fix. Currently, if you want to run the HAFS DA configurations/experiments, please keep using the feature/hafs_ensda branch instead.
Sync HAFS submodules with their corresponding authoritative branches: - hafs_forecast.fd as of 08/05/2021 - hafs_gsi.fd as of 08/06/2021 plus the dual-resolution 3DEnVar bug fix - hafs_post.fd as of 08/02/2021 - hafs_utils.fd as of as of 07/23/2021 - hafs_graphics.fd/hrd_gplot as of 08/10/2021 - hafs_graphics.fd/emc_graphics as of 08/10/2021 Besides application level changes were made accordingly with the updated submodules. This PR addresses issue #80. Notes: - The [bug of wrong Time dimension in FV3 restart sfc_data files](NOAA-EMC/fv3atm#344) has been fixed in ufs-weather-model through this ufs-weather-model [PR](ufs-community/ufs-weather-model#702). - The bug fix in for the dual-resolution EnVar analysis in GSI (hafs_gsi.fd) contributed from OU collaborators has also been included in this PR. With that the HAFS ENSDA configurations can now work properly. - As for the hafs_forecast.fd submodule, support/HAFS branch is identical to the ufs-weather-model develop branch as of 08/05/2021. More information can be found through this PR (ufs-community/ufs-weather-model#715)
Description
This is reported by Bin Liu.
After syncing with the ufs-weather-model develop as of 07/12/2012. I notice there is a change in the model output sfc_data restart files.
It looks to me there was a change of the "Time" dimension size from 1 into 2, and also only the zorl variable has the Time dimension now.
double tg3 ( yaxis_1, xaxis_1 )
long_name : tg3
units : none
checksum : 90839D8A4C3CC0C1
In contrast, previously, all the surface variables have the Time dimension and the Time dimension size is 1.
double tg3 ( Time, yaxis_1, xaxis_1 )
long_name : tg3
units : none
checksum : F9DF63348B3CECF2
Not sure if this is an expected change. If so, could you point us to the related background/context for this change?
Also, I checked that in the new sfc_data.nc restart file, for the zorl variable, the first dimension is actually not really Time. zorl(1,:,:) is actually zorlo (which has missing value on land), and zorl(2,:,:) has actual zorl value for both land and water points.
So, this might be introduced improperly. A better solution would be adding the zorlo variable in the sfc_data.nc (since there are zorli, zorll variables already). Also, Time dimension should be restored properly as in other fv_core and phy_data files.
To Reproduce:
What compilers/machines are you seeing this with? on all the platforms
Testing:
Dependent PRs:
The text was updated successfully, but these errors were encountered: