I've been looking for the cloud cover estimates provided in the NOAA GFS models. This page discusses all their weather products and one of the few I find that includes cloud cover data "Total Cloud Cover [%]" (variable TCDC) is gfs.t00z.pgrb2.0p25.f006 which you can find in its product description.

Upon extracting that file using the grib filter tool generated URL selecting for the proper layers and variables, this data appears to be just initial values (1 for cloud cover) and 9999 for many of the other values. I read a lot of gfs grib & cloud details here that suggest the .fxxx files like "gfs.t00z.pgrb2.0p25.f006" are

The cloud % field is probably output from some of the model physics (microphysics I guess) routines, which may not be setup to write out the fields after the very first model time step (the f00 files denote fields after the first model time step, not the actual analysis/initial condition). We do in fact initialize the cloud condensate field, however

My question is where are the TCDC cloud data numbers in the GFS grib models? They don't seem to be in the analysis files (gfs.t00z.pgrb2.0p25.anl) or the FH000 file.

Note: I'm using grib_api tools to read these fields (grib_ls and grib_get). I've used them successfully for currents and winds, but I can't seem to find the right GFS data for TCDC cloud cover.

EDIT: I've been testing the full files from http://nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/

the gfs.t12z.pgrb2.0p25.anl file didn't contain cloud data, so I tried one of the .fxxx files (gfs.t12z.pgrb2.1p00.f384). There appeared to be fields set, but they were at initial values according to grib_ls tool. Here's a snippet:

[3036] => 260130      Total ozone  9999
[3037] => 228164      Total Cloud Cover  9999
[3038] => 228164      Total Cloud Cover  9999
[3039] => 228164      Total Cloud Cover  9999
[3040] => 228164      Total Cloud Cover  9999
[3041] => 54          Pressure    9999
[3042] => 54          Pressure    1
[3043] => 54          Pressure    9999
[3044] => 54          Pressure    1
[3045] => 54          Pressure    9999
[3046] => 54          Pressure    1
[3047] => 54          Pressure    9999
[3048] => 54          Pressure    1
[3049] => 130         Temperature  1
[3050] => 130         Temperature  9999
[3051] => 130         Temperature  1
[3052] => 228164      Total Cloud Cover  1
[3053] => 228164      Total Cloud Cover  1

I'm using a little older version of grib_api on my server: 1.10.0

I get a little different response with grib_api 1.14.4:

3054 Precipitable water 34.4
260102 Cloud water 0
157 Relative humidity 39
260130 Total ozone 283.1
228164 Total Cloud Cover 4
228164 Total Cloud Cover 0
228164 Total Cloud Cover 5
228164 Total Cloud Cover 9
54 Pressure 9999
54 Pressure 90670.4
54 Pressure 9999
54 Pressure 13200.4
54 Pressure 9999
54 Pressure 88060
54 Pressure 9999
54 Pressure 11470.4
130 Temperature 288.9
130 Temperature 9999
130 Temperature 198.2
228164 Total Cloud Cover 0
228164 Total Cloud Cover 2

But it still seems a bit odd for the results. Lots of 9999's and whole percentages like 0 or 2.

Edit 2: It appears that computing the cloud cover has to be done from the GFS layer data however it appears how it is done is unclear based on an old message from 2007: http://www.weather-watch.com/smf/index.php/topic,20158.msg216087.html#msg216087

  • 1
    $\begingroup$ Are you getting the GFS files from NCEP or NCDC? $\endgroup$ Apr 10, 2017 at 18:36
  • $\begingroup$ @BarocliniCplusplus From NCEP because they dynamically resize the 0.25 degree gribs to something smaller. I not sure where the 0.25 deg NCDC version is ncdc.noaa.gov/data-access/model-data/model-datasets/… Why do you ask? $\endgroup$
    – user6972
    Apr 10, 2017 at 23:44
  • $\begingroup$ Because I know that the NCDC files have cloud cover, with the exception of hour 0.I just checked the fields from NCEP. They do have them, try using wgrib2. $\endgroup$ Apr 11, 2017 at 0:27
  • $\begingroup$ Good to know. Can you help point me to the 0.25 deg GFS gribs you're using? Via ERDDAP api they only have sst, and winds. $\endgroup$
    – user6972
    Apr 11, 2017 at 0:52
  • $\begingroup$ nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/prod $\endgroup$ Apr 11, 2017 at 1:01

1 Answer 1


This is not an explicit answer but might give you an idea. The US National Weather Service forecasters use a tool called GFE to create gridded forecasts, largely starting from raw model data. For most models, even those that have TCDC as an output field, the model sky cover grids are computed by GFE using RH at various levels. For a few of the high resolution mesoscale models, the sky grids use the model cloud cover field and the resulting values are either 0% or 100%. Thus a blend of these differing sources can be used to get a more nuanced output forecast.


Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.