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

Make chgres_cube.fd read operational GFS FV3 IC to generate FV3 WAM IC #165

Closed
HenryJuang-NOAA opened this issue Oct 5, 2020 · 26 comments
Closed
Assignees
Labels
enhancement New feature or request

Comments

@HenryJuang-NOAA
Copy link
Contributor

HenryJuang-NOAA commented Oct 5, 2020

We have done the checking on reading GFS GSM IC with tracers of spfh, clwmr, o3mr to WAM IC with the same kinds of tracers. We have to make chgres_cube can read current GFS IC (FV3 IC) and possible to add more tracers, such as o and o2 for WAM IC.

@HenryJuang-NOAA HenryJuang-NOAA changed the title Make chgres_cube,fd read operational FGS FV3 IC to generate FV3 WAM IC Make chgres_cube.fd read operational GFS FV3 IC to generate FV3 WAM IC Oct 5, 2020
@HenryJuang-NOAA
Copy link
Contributor Author

With the help from Kate Friedman, I can get GFS initial condition (IC) of FV3GFS v15 or v16. With the help from George Gayno, I had all the required configure nml files for GSM, v15, and v16 ICs to run chgres_cube. With the works have been tested by me in issues #163 and #164, we can run chgres_cube with different ICs to generate WAM IC.
The next work is to pull request and commit my working version merged to develop branch with regressing test.

HenryJuang-NOAA added a commit to HenryJuang-NOAA/UFS_UTILS that referenced this issue Dec 2, 2020
…ity#164, and ufs-community#165.

It uses namelist parameters wam_cold_start and wam_start_date to
control the chgres_cube to run WAM IC or not.
One subroutine VINTG_WAM is coded to generate o, o2, and
temperature over thermosphere by a group of subroutines
in a file called wam_climo_data.f90
And it can read GSM, FV3v15 and v16 ICs to generate WAM IC.
HenryJuang-NOAA added a commit to HenryJuang-NOAA/UFS_UTILS that referenced this issue Dec 3, 2020
…into udhmhj.01

conflict fixed. relate to issue ufs-community#165 before reg tests merging with develop.
@edwardhartnett
Copy link
Collaborator

We also need a test.

@edwardhartnett edwardhartnett added the enhancement New feature or request label Feb 5, 2021
@HenryJuang-NOAA
Copy link
Contributor Author

HenryJuang-NOAA commented Feb 5, 2021 via email

HenryJuang-NOAA added a commit to HenryJuang-NOAA/UFS_UTILS that referenced this issue Feb 8, 2021
For ufs-community#163, 164 and ufs-community#165 with up to dated from upstream develop.
@HenryJuang-NOAA
Copy link
Contributor Author

The issues 0f #163 and #164 and this issue #165 have been resolved with newly created WAM IC tested successfully in FV3 WAM.
The WAM IC is from my branch called udhmhj.02 under
https://github.com/HenryJuang-NOAA/UFS_UTILS.git
And the FV3WAM is in my branch called udhmhj.06 under
https://github.com/HenryJuang-NOAA/ufs-weather-model
https://github.com/HenryJuang-NOAA/fv3atm
https://github.com/HenryJuang-NOAA/GFDL_atmos_cubed_sphere
https://github.com/HenryJuang-NOAA/ccpp-physics

To create WAM IC, use my branch udhmhj.02, the test location is ud/chgres_wam. There are three nml files point to gsm, v15, and v16 IC datasets and the run.sh can be submitted to get WAM IC from these nml files, one by one as needed.

@HenryJuang-NOAA
Copy link
Contributor Author

This issue has been finished and ready for pull request.
What is the unit test? something like regression test?

@edwardhartnett
Copy link
Collaborator

OK I don't think we can expect unit testing from this code. We need to provide better examples of what unit testing is first.

So if we have adequate regression testing, we can go with that.

@HenryJuang-NOAA
Copy link
Contributor Author

I didn't build a regression test for it, but I have GSM, V15, and V16 IC and workflow to run chgres)cube with WAM option to create WAM IC, with G. Gayno's help. Ed, do you want WAM regression build?

@edwardhartnett
Copy link
Collaborator

I don't understand much of what you are asking.

You don't have a regression test or unit testing? We certainly need one or the other.

Can you explain to me how this code should be tested, if it has to change?

@HenryJuang-NOAA
Copy link
Contributor Author

This issue is to create a WAM IC(initial condition) from operational GS or FV3 GFS V15, or V16 IC. WAM is a whole atmospheric model based on FV3 GFS with model top up into thermosphere (model top pressure is about 10^-7 pascal). To have the WAM IC, we need temperature profile and O, O2, O3, and remain N2 profiles from current GFS model top to WAM model top. There is a new file contains all necessary data and routines to create the vertical temperature and compositions profiles in function of latitudes and height.
I created a subdirectory called ud/ to have workflow to test WAM IC, I have some GFS IC in my own directory. Thus, if we want to create a regression test for WAM in chgres_cube then we need to move the workflow of WAM IC and save GFS IC as an example under UFS_UTILS regression test system. It is what I was asking.

@edwardhartnett
Copy link
Collaborator

Then yes, we need the regression test.

@HenryJuang-NOAA
Copy link
Contributor Author

Do we have any document which describes how to create baseline and do reg test?
The subdirectory reg_tests/chgres_cube should be the place I can add reg_test into driver.xxx.sh with c96.fv3.wam.sh which I can follow c96.fv3.restart.sh etc to create. But I can access only some machines, for example, I have no account on jet. I can establish in hera first, is that okay?

@GeorgeGayno-NOAA
Copy link
Collaborator

Do we have any document which describes how to create baseline and do reg test?
The subdirectory reg_tests/chgres_cube should be the place I can add reg_test into driver.xxx.sh with c96.fv3.wam.sh which I can follow c96.fv3.restart.sh etc to create. But I can access only some machines, for example, I have no account on jet. I can establish in hera first, is that okay?

Yes, go ahead and get it working on Hera for now.

@HenryJuang-NOAA
Copy link
Contributor Author

I will create baseline in my directory and ask to save into HOMEreg later.

HenryJuang-NOAA added a commit to HenryJuang-NOAA/UFS_UTILS that referenced this issue Mar 9, 2021
HenryJuang-NOAA added a commit to HenryJuang-NOAA/UFS_UTILS that referenced this issue Mar 9, 2021
HenryJuang-NOAA added a commit to HenryJuang-NOAA/UFS_UTILS that referenced this issue Mar 11, 2021
HenryJuang-NOAA added a commit to HenryJuang-NOAA/UFS_UTILS that referenced this issue Mar 11, 2021
HenryJuang-NOAA added a commit to HenryJuang-NOAA/UFS_UTILS that referenced this issue Mar 11, 2021
merge with current develop and fix coflict. issue ufs-community#165
HenryJuang-NOAA added a commit to HenryJuang-NOAA/UFS_UTILS that referenced this issue Mar 24, 2021
@HenryJuang-NOAA
Copy link
Contributor Author

I believe I have done all places to document. Really don't know how to debug it to finish.... help!!

@GeorgeGayno-NOAA
Copy link
Collaborator

I believe I have done all places to document. Really don't know how to debug it to finish.... help!!

@HenryJuang-NOAA Please merge the latest updates from 'develop'. Then I can look for doxygen warnings.

HenryJuang-NOAA added a commit to HenryJuang-NOAA/UFS_UTILS that referenced this issue Mar 24, 2021
merged with updated develop. issue ufs-community#165
@HenryJuang-NOAA
Copy link
Contributor Author

HenryJuang-NOAA commented Mar 24, 2021 via email

@HenryJuang-NOAA
Copy link
Contributor Author

George,
I checked the last push for udhmhj.02, there is no fail jobs. Doxygen doc is passed, right?
Since this a dry-run, and I had a ud/ which I don't need to merge back to develop. What should I do next?
How about create a new branch without ud/, then do real pull request to merge back to master develop?
The regress test for wam ic can be another issue for future pull request, what do you think?

@GeorgeGayno-NOAA
Copy link
Collaborator

George,
I checked the last push for udhmhj.02, there is no fail jobs. Doxygen doc is passed, right?
Since this a dry-run, and I had a ud/ which I don't need to merge back to develop. What should I do next?
How about create a new branch without ud/, then do real pull request to merge back to master develop?
The regress test for wam ic can be another issue for future pull request, what do you think?

The ./ud directory must be deleted before merging. You can either keep those files locally or add them to another branch in your fork that won't be merged.

A regression test should be included in this PR.

HenryJuang-NOAA added a commit to HenryJuang-NOAA/UFS_UTILS that referenced this issue Mar 26, 2021
@HenryJuang-NOAA
Copy link
Contributor Author

George,
I am doing to create reg_test for wam ic. What input data do you think I should use? or I have to have all different ic for wam ic? I need cold start wam ic from any archived data, say GFS GSM or GFS FV3, maybe for future cases, we should use operational GFS FV3 restart files or analyzed data ic? need your suggestion...

@GeorgeGayno-NOAA
Copy link
Collaborator

George,
I am doing to create reg_test for wam ic. What input data do you think I should use? or I have to have all different ic for wam ic? I need cold start wam ic from any archived data, say GFS GSM or GFS FV3, maybe for future cases, we should use operational GFS FV3 restart files or analyzed data ic? need your suggestion...

Initially, I would not create a test for every possible input data type. You can pick the input data you think most folks will use. Another consideration: the v16 data has a much higher model top than v15. Which is the better test of your algorithm?

@HenryJuang-NOAA
Copy link
Contributor Author

HenryJuang-NOAA commented Mar 26, 2021 via email

@GeorgeGayno-NOAA
Copy link
Collaborator

Agree. Which input in your input_data directory is v16?

/scratch1/NCEPDEV/da/George.Gayno/noscrub/reg_tests/chgres_cube/input_data/fv3.netcdf

@HenryJuang-NOAA
Copy link
Contributor Author

HenryJuang-NOAA commented Mar 26, 2021 via email

HenryJuang-NOAA added a commit to HenryJuang-NOAA/UFS_UTILS that referenced this issue Mar 29, 2021
Need create baseline for c96.fv3.netcdf2wam just added reg_test/
@HenryJuang-NOAA
Copy link
Contributor Author

George,
I have done reg_tests for this issue by adding c96.fv3.netcdf2wam.sh into all drivers, but only tested in hera. The netcdf2wam baseline data I saved to compare is under
/scratch1/NCEPDEV/global/Henry.Juang/baseline_data/c96_fv3_netcdf2wam
Please copy to your baseline_data place, then I will modify sh file to point to your baseline location. I think this issue can be done with PR as into a final step.

HenryJuang-NOAA added a commit to HenryJuang-NOAA/UFS_UTILS that referenced this issue Mar 29, 2021
@HenryJuang-NOAA
Copy link
Contributor Author

HenryJuang-NOAA commented Apr 8, 2021 via email

HenryJuang-NOAA added a commit to HenryJuang-NOAA/UFS_UTILS that referenced this issue Apr 12, 2021
update from upstream/develop to develop to udhmhj.02 for issue ufs-community#165.
GeorgeGayno-NOAA added a commit to HenryJuang-NOAA/UFS_UTILS that referenced this issue Apr 13, 2021
HenryJuang-NOAA added a commit to HenryJuang-NOAA/UFS_UTILS that referenced this issue Apr 14, 2021
HenryJuang-NOAA added a commit to HenryJuang-NOAA/UFS_UTILS that referenced this issue Apr 14, 2021
HenryJuang-NOAA added a commit to HenryJuang-NOAA/UFS_UTILS that referenced this issue May 17, 2021
GeorgeGayno-NOAA added a commit to HenryJuang-NOAA/UFS_UTILS that referenced this issue May 20, 2021
Adjust consistency test to only process the atmosphere.

Fixes ufs-community#165
GeorgeGayno-NOAA added a commit to HenryJuang-NOAA/UFS_UTILS that referenced this issue May 20, 2021
@HenryJuang-NOAA
Copy link
Contributor Author

HenryJuang-NOAA commented May 24, 2021 via email

@GeorgeGayno-NOAA GeorgeGayno-NOAA added this to To do in Version 1.4.0 via automation Jun 3, 2021
@GeorgeGayno-NOAA GeorgeGayno-NOAA moved this from To do to Done in Version 1.4.0 Jun 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
No open projects
Development

No branches or pull requests

3 participants