ufs-community / UFS_UTILS

Utilities for the NCEP models.
Other
21 stars 104 forks source link

Add smoke density from RAP files as an optional output from chgres #851

Open DavidHuber-NOAA opened 1 year ago

DavidHuber-NOAA commented 1 year ago

To support RRFS-Smoke and Dust (SD) sub-CONUS experiments, it would be very helpful to have boundary conditions for smoke concentration. The RAP and HRRR output this parameter (MASSDEN, GRIB2 octet 10/11 = 20/0). RRFS-SD smoke concentrations are calculated as a mixing ratio (μg·kg$^{-1}$) while the RAP output is in mass density (kg·m$^{-3}$), so this conversion will also need to be applied.

GeorgeGayno-NOAA commented 5 months ago

@DavidHuber-NOAA there was a PR issued for this option (#923). Were you aware of this?

DavidHuber-NOAA commented 5 months ago

No, but that's great! I'm glad to hear it was picked up.

MichaelLueken commented 1 month ago

@DavidHuber-NOAA, @jordanschnell, and @GeorgeGayno-NOAA -

I've been attempting to run PR #923 through the SRW App (fundamental tests only, no RRFS-SD testing) and noted an issue:

If the RAP or HRRR external model file doesn't contain smoke data (which is the case for the majority of the currently staged HRRR files), chgres_cube will fail while attempting to read in the smoke data with an I/O error code (makes sense because there is no data to read in).

Should the modifications in PR #923 be controlled by a namelist variable (or some other method), so that the smoke data will only be pulled for RRFS-SD testing, or will it be a case that RAP and HRRR files will no longer be able to run through chgres_cube unless they contain smoke data?

jordanschnell commented 1 month ago

@MichaelLueken This is a good point and we had not considered this. So yes, there should be additional controls for this situation. I will look into it. Thanks!

GeorgeGayno-NOAA commented 1 month ago

@MichaelLueken This is a good point and we had not considered this. So yes, there should be additional controls for this situation. I will look into it. Thanks!

The read of GRIB2 data is controlled by the varmap file: https://github.com/ufs-community/UFS_UTILS/tree/develop/parm/varmap_tables