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

Add Accumulated Snow, Graupel and Freezing Rain to Grib2 Output #568

Closed
ericaligo-NOAA opened this issue Oct 5, 2022 · 17 comments · Fixed by #600
Closed

Add Accumulated Snow, Graupel and Freezing Rain to Grib2 Output #568

ericaligo-NOAA opened this issue Oct 5, 2022 · 17 comments · Fixed by #600
Assignees

Comments

@ericaligo-NOAA
Copy link
Contributor

ericaligo-NOAA commented Oct 5, 2022

The surface accumulated snow, graupel and freezing rain will be added to RRFS and GFS output files. Examples of the accumulated fields are shown in the PDF attached.
New Precipitation Ice Density_Accumulated Surface Winter Diags Prelim Results.pdf

Related to Issue#1449

@ericaligo-NOAA
Copy link
Contributor Author

The snowfall (ASNOW) has units of meters while the freezing rain (FRZR) and sleet/graupel (FROZR) units are in kg/m^2 (mm). Do we keep this inconsistency or do we make sure all units are the same? These diagnostics have units of meters in FV3.

@WenMeng-NOAA
Copy link
Collaborator

@ericaligo-NOAA It would be good to keep the the same category parameters having the consistent units. Would you consider to use different parameter name for snow fall, e.g. TSNOWP?

@ericaligo-NOAA
Copy link
Contributor Author

@WenMeng-NOAA, sure. I was able to find TSNOWP in /parm/params_grib2_tbl*:
0 1 50 0 TSNOWP
I didn't see any reference to field '050' in /sorc/ncep_post.fd. Do you know what name we'd give it in /sorc/ncep_post.fd and would we be able to add accumulated and bucket values of this field to SURFCE.f?

@WenMeng-NOAA
Copy link
Collaborator

@ericaligo-NOAA TSNOWP is not defined in UPP yet. You need to add it for bucket and continuous accumulated ones via following the procedure of adding new variable in UPP at
https://upp.readthedocs.io/en/latest/AddNewVariable.html
The good thing is grib2 parameter name is already available. You might start from modifying post_abvlfld.xml. Please let me know if you need further information.

@ericaligo-NOAA
Copy link
Contributor Author

ericaligo-NOAA commented Oct 17, 2022

I noticed in the operational HRRR, the precipitation ice density is read into INITPOST.f (see code below), however, it's not listed in any of the xml files in the parm directory and it's not in the HRRR output. I followed the HRRR approach in RRFS meaning the precip ice density is read in, but it won't be in the grib2 output. Do we want this field in output? Would it be a lot of trouble to do this? Is reading it in sufficient and we decide down the road what to do? @EricJames-NOAA @barlage

! snowfall density
VarName='RHOSNF'
call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, &
IM,1,JM,1,IM,JS,JE,1)
do j = jsta_2l, jend_2u
do i = 1, im
SNFDEN ( i, j ) = max(0.,dummy ( i, j ))
end do
end do
print *,' MIN/MAX SNFDEN ',minval(SNFDEN),maxval(SNFDEN)

@ericaligo-NOAA
Copy link
Contributor Author

Wen, I have another question. The 7 new winter diagnostics will be present only when running with the Thompson, NSSL or GFDL microphysics schemes. They will be absent if any other microphysics scheme is used. Will this cause a problem if INITPOST_NETCDF.f tries to read in 7 fields that are not available in the history files? Would it cause any issues for both the offline and inline UPP? @JacobCarley-NOAA @yangfanglin

@WenMeng-NOAA
Copy link
Collaborator

@ericaligo-NOAA You might add a threshold for reading 7 new fields based on specified MP. A sample in UPP at
https://github.com/NOAA-EMC/UPP/blob/develop/sorc/ncep_post.fd/INITPOST_NETCDF.f#L1046

@ericaligo-NOAA
Copy link
Contributor Author

Wen, I'm making changes to the inline UPP now. I'm in the parm directory. From what I can see in the makefile, I only need to make changes to post_avblflds.xml and fv3lam_rrfs.xml?

@WenMeng-NOAA
Copy link
Collaborator

@ericaligo-NOAA There are two user define control files for RRFS, fv3lam_rrfs.xml and fv3lam.xml, You need to update both for RRFS. In the future, we will unify them.

@WenMeng-NOAA
Copy link
Collaborator

@ericaligo-NOAA From the UPP regression tests, I saw these six winter diag. variables are output in GRIB2 for GFS and RRFS as:

RRFS:
[Wen.Meng@hfe12 fv3r_2022030200]$ pwd
/scratch1/NCEPDEV/stmp2/Wen.Meng/fv3r_2022030200
[Wen.Meng@hfe12 fv3r_2022030200]$ wgrib2 PRSLEV10.tm00 -match TSN
858:4068164470:d=2022030200:TSNOWP:surface:0-10 hour acc fcst:
865:4079143186:d=2022030200:TSNOWP:surface:9-10 hour acc fcst:
[Wen.Meng@hfe12 fv3r_2022030200]$ wgrib2 PRSLEV10.tm00 -match FR
856:4065469558:d=2022030200:FROZR:surface:0-10 hour acc fcst:
857:4066817014:d=2022030200:FRZR:surface:0-10 hour acc fcst:
863:4076448274:d=2022030200:FROZR:surface:9-10 hour acc fcst:
864:4077795730:d=2022030200:FRZR:surface:9-10 hour acc fcst:

GFS:
[Wen.Meng@hfe12 gfs.20190830]$ pwd
/scratch1/NCEPDEV/stmp2/Wen.Meng/gfs.20190830
[Wen.Meng@hfe12 gfs.20190830]$ wgrib2 gfs.t00z.master.grb2f006 -match TSN
867:2293027015:d=2019083000:TSNOWP:surface:0-6 hour acc fcst:
871:2296382027:d=2019083000:TSNOWP:surface:0-6 hour acc fcst:
[Wen.Meng@hfe12 gfs.20190830]$ wgrib2 gfs.t00z.master.grb2f006 -match FR
865:2291846961:d=2019083000:FROZR:surface:0-6 hour acc fcst:
866:2292436988:d=2019083000:FRZR:surface:0-6 hour acc fcst:
869:2295201973:d=2019083000:FROZR:surface:0-6 hour acc fcst:
870:2295792000:d=2019083000:FRZR:surface:0-6 hour acc fcst:

Now both bucket and continuous accumulated variables are written in correct grib2 head message . You may access my tests on Hera at /scratch1/NCEPDEV/stmp2/Wen.Meng. The model history files from GFS and RRFS in my tests do not include six winter diag. variables, so the UPP just output them as undefined values in GRIB2 files. It would great if you can provide me the sample model history files including new winter diag. variables. Thanks!

@ericaligo-NOAA
Copy link
Contributor Author

ericaligo-NOAA commented Dec 22, 2022 via email

@WenMeng-NOAA
Copy link
Collaborator

@ericaligo-NOAA Please see my tests at
RRFS: /scratch1/NCEPDEV/stmp2/Wen.Meng/post_rrfs_2020011712 -- PRSLEV
GFS: /scratch1/NCEPDEV/stmp2/Wen.Meng/gfs.2021032206 -- master
Let me you know if you see issues. Thanks!

@ericaligo-NOAA
Copy link
Contributor Author

ericaligo-NOAA commented Dec 22, 2022 via email

@WenMeng-NOAA
Copy link
Collaborator

@ericaligo-NOAA Good suggestion. Please see the new test for RRFS at
/scratch1/NCEPDEV/stmp2/Wen.Meng/post_rrfs_2020011712

@ericaligo-NOAA
Copy link
Contributor Author

ericaligo-NOAA commented Dec 23, 2022 via email

@WenMeng-NOAA
Copy link
Collaborator

@ericaligo-NOAA Please see the new 1-hour bucket test at
/scratch1/NCEPDEV/stmp2/Wen.Meng/post_rrfs_2020011712

@ericaligo-NOAA
Copy link
Contributor Author

ericaligo-NOAA commented Dec 23, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants