1
$\begingroup$

The question

NOAA helpfully provides model outputs from the Global Data Assimilation System (GDAS) for the past 10 days (https://nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/). Products include netCDF files with 3D profiles (e.g., gdas.t00z.atmf000.nc) and GRB files with 696 2D fields (e.g., gdas.t00z.pgrb2.0p25.f000) with fields described here: https://www.nco.ncep.noaa.gov/pmb/products/gfs/gdas.t00z.pgrb2.0p25.f000.shtml. The netCDF files are at about 2 mrad (0.117°) and the GRB files are 0.25° (about 4.36 mrad).

The GRB files contain a "CWAT" field or total column Cloud Water [kg m-2], which is what I am trying to reproduce from the netCDF cloud water profiles [kg kg-1]. I'm interested in the finer resolution and separating out Cloud Ice as well. How do I go about converting kg kg-1 to kg m-2 for cloud water, matching what NOAA is doing?

What I've tried

This question is similar to How to convert the units of specific cloud liquid water from ERA5 (kg/kg) to kg/m2? but I can't quite get my results to match the GRB files.

Some of the fields in the netCDF files include profiles (127 layers) of cloud water qCL [kg kg-1], difference in geopotential altitude Δz [m], difference in pressure Δp [Pa], cloud ice qCI [kg kg-1], specific humidity q [kg kg-1], and temperature (K) as well as profiles of things like wind, ozone, rain, snow, and graupel. Arrays that are 2D include lat, lon, surface pressure, and surface geopotential altitude.

I obtain pressure p with a cumulative sum of Δp from the top of the atmosphere. TCCW is total column cloud water.

Mdry air = 28.9644 g mol-1

Mwater = 18.01528 g mol-1

ε = Mwater / Mdry air = 0.62198

εrto = (1 - ε) / ε = 0.60777

R = 8.3144598 J mol-1 K-1

Rdry = R/Mdry air = 0.28706 J g-1 K-1

ρ = p/(T Rdry (1 + εrto q) ) × 10-3 kg m-3

TCCW = Σ ρ(qCL + qCI)Δz kg m-2

I perform 2D interpolation to match the coarser grid. My inner 95 percentile results are up to a factor of 2 off on the low end and up to about 30% off on the high end.

Parts I'm unsure on, may not matter or may point to user error

  • I'm assuming the denominator in cloud water is for moist air. Though it could also be dry air, or total air (including gas phase and condensed phases - the latter doesn't seem to make much difference). I've tried all of these.
  • I think the GRB "CWAT" field is for liquid and ice in clouds because that matches better.
  • Summing up the Δp profiles does not equal the surface pressure. Differences are both positive and negative.
  • Summing up the Δz profiles leads to a maximum of about 10 km, but I would have expected closer to 40 km assuming a minimum pressure around 0.01 Pa.

Of course a coding bug is always a possibility too.

Other places I've looked

Lots of NOAA webpages. I also tried looking through the help pages associated with the United Forecast System (UFS) model. I saw there is a github (https://github.com/ufs-community/ufs-weather-model) and help pages, but it seems more geared towards data producers rather than users.

$\endgroup$

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.