Frequently Asked Questions about GOES-PRWEB


Dear Folks,
This site is under construction.  Over the next couple of months this page will grow in size.  There are many questions that could be asked about GOES-PRWEB, and I hope to answer most of them.  If you don’t find what you are looking for on this page, please email me your question and I will try to promptly answer it.

Eric Harmsen
GOES-PRWEB Developer

1. How is the water balance estimated. First, the surface energy balance is calculated which consists of equating the net radiation with the latent and sensible heat fluxes. Net radiation is derived from solar radiation using the method described in the FAO Irrigation and Drainage Paper No. 56 (Allen et al., 1998). The latent and sensible heat flux terms are expanded into their gradient expressions. The final energy balance expression is a function of the effective surface temperature only, which is estimated implicitly using a root-finding function in Matlab.  The latent heat flux is converted to the actual evapotranspiration (ET) using the latent heat of vaporation (2.45 MJ/kg of water).  The water balance equation is then used to esitmate soil moisture:  S2 = Rain – Runoff – ET – Recharge + S1, where S is soil moisture, Rain is precipitation, Runoff is surface runoff, Recharge is aquifer recharge or percolation past the root zone, and the subscript 1 and 2 refer to times 1 and 2 (e.g., 2=today and 1=yesterday).  Rainfall comes from the National Weather Service’s Advanced Hydrologic Prediction Service.  Runoff is obtained from the curve number method.  Recharge is obtained from a modified form of the water balance equation:  S2 = Rain – Runoff – ET + S1.  If S2 is greater than the soil field capacity (FC), then Recharge = S2-FC, and the final S2= FC.   If the equation yields S2 < FC, then there is no aquifer recharge and the S2 obtained is the final moisture content.  See Harmsen et al. (2010) for details.

2. How is the wind speed estimated? Wind speed is obtained from NOAA’s National Digital Forecast Database (   Eight 3-hour values of wind speed for Puerto Rico are averaged to obtain the daily average 10-m wind speed (u), and are then adjusted to the “virtual instrument height”, depending on the height of the vegetation. The virtual instrument height is taken to be within the inertial sublayer and equal to 1.5(zo/0.13), where zo is the roughness length.  The term (zo/0.13) is equivalent to the canopy height (h).  The roughness lengths by land cover, along with other non-transient paratmers used in the algorithm are presented at the following link:

3. How are the maximum, minimum and average air temperatures estimated? Air temperatues are estimated using a lapse rate method developed by Goyal et al. (1988) for Puerto Rico. This method gives estimates of the long-term average minimum, maximum and average air temperature as functions of surface elevation. The temperatures are adjusted everyday using a “nudging” technique, which corrects for errors in the long-term average estimates, relative to the current forecasted temperatures. The 5am, 11am and 2pm air temperatures are downloaded each day from the NDFD website ( The 5 am air temperature is assumed to be the daily minimum temperature. The 11am and 2pm air temperatures are inspected and the one with higher temperatures is taken to be the maximum air temperatures. The algorithm derives total island average values of the minimum and maximum air temperatures for the Goyal and NDFD methods (estimated from averaging approximately 9000 pixels across the island). Then, the ratios of the NDFD averages to the Goyal averages are used as correction factors for the Goyal method. The NDFD temperatures were not used directly because we observed some numerical oscillation problems with the data. Goyal’s method, on the other hand, is stable. If, for example, considering the minimum daily temperature, a cold front from the U.S. moves across Puerto Rico, the colder temperatures will be reflected in the NDFD minmum temperature data, and the correction factor will force all minimum temperatures in all pixels obtained using the Goyal method to be adjusted downward to account for the cooler conditions, relative to the long term average temperature.

Average daily temperature is estimated by taking the arithmetic mean of the minimum and maximum daily temperatures.

4. How is the dew point temperature estimated? Dew point temperature is obtained in a similar manner as the mimimum and maximum air temperature described above. In this case, we use the corrected Goyal minimum air temperature because it is usually quite close to the dew point temperature. We then obtain the ratios of the NDFD dew point temperature and corrected Goyal minimum temperature. Finally we multiply the value of the ratio (i.e., correction factor) by every pixel value of the minimum temperature to obtain an estimate of the dew point temperature. In most cases the dew point temperature is slightly less than the minimum air temperature.

5. How is the rainfall obtained?  Rainfall is obtained from the National Weather Service’s Advanced Hydrologic Prediction Service. According to the NWS: “NDFD is a mosaic of forecast grids produced at over 120 Weather Forecast Offices nationwide. Grids for Puerto Rico are produced by the NWS forecast office in San Juan ( ). Forecasters study guidance grids from multiple numerical models when producing these forecasts.” (David Ruth, NWS, personal communcation, April 6, 2012). For Puerto Rico, rainfall is obtained from the NEXRAD Radar in Cayey, PR. Adjustments may be made to the radar data if the NWS deams it necessary.

6. At what hour each day will the results for yesterday be available?  The National Weather Service’s Advanced Hydrologic Prediction Service produces the previous 24-hour rain at approximately 1200 UTC or 8am Puerto Rico Time, therefore, we wait until 9am to run Python script (the computer code that downloads the input data, runs the Matlab program and uploads the results to the web). Frequently, one of the input data sets from the NWS is not ready and if this is the case, the Python script is forced to wait an additional 1 hour. After 1 hour, the script querries the NWS websites again for the input data and if any data is still missing, it waits another hour, and so on. Typically, the input data sets are all available by 12:00 noon Puerto Rico time, and the GOES-PRWEB results will be available a few minutes later. In some cases however, the results may appear later in the day. In some unusual cases, the the results may not appear on the website at all on a given day. This may be due to, for example, a power outage on the UPRM campus. In this case I recieve an email with the error log and I will try to get the results back online as soon as possible.

7. On what type of platform is the algorithm run? The algorithm is run on a Dell 8300 Dimension PC with 4 Gbytes of RAM. GOES-PRWEB was coded using the MatLab computing language. The automated script used to download input data from the web, excute the Matlab program and then upload the rusults to the web, was written in the Python computing language.  The Python script is run each day using Windows Scheduler.

8. Are the results on the website the “final” results?  No!  There are several reaons for this.  Over time, we will incorporate improvements to the algorithm.  Our initial philosophy was to build a “vehicle” that works.  This initial effort could be compared to an economy car.  It gets you where you want to go, but it is a bit rough and is not nearly as nice of a luxury car.  Over time we will be making improvement to the calculational methods and the interface for downloading data.

A second reason that the results are not final is because the National Weather Service (NWS) provides “provisional” data.  They may issue a data set, but then a week later for example, issue an updated data set. We use the first data set as input to GOES-PRWEB as soon as it becomes available. However, periodically we redownload data from the NWS and rerun the water and energy balance to incorporate the new and improved input data.

9. Is GOES-PRWEB accurate?  GOES-PRWEB is a computer algorithm that is based on numerous calculations.  Virtually all of the daily results are estimated as opposed to directly measured, and therefore, there is uncertainty in these estimates.  How much uncertainty?  It is hard to say at this time, however, in the future we will be conducting studies to quantify the accuracy of selected parameters and variables.  We have previously conducted a calibration/validation study for solar radiation (see Calibration of Selected Pyranometers and Satellite derived Solar Radiation in Puerto Rico.)

What are some of the sources of uncertainty in the model?  Here are some examples:

  • The surface solar radiation is derived from the GOES satellite visible channel and albedo data. (The GOES satellite is located in orbit some 40,000 km above the surface of the earth.) These data are input into a relatively simple radiative transfer model, which attempts to quantify partitioning of electromagnetic radiation in the atmosphere.  The model ignores the presence of aerosols and makes other simplifying assumptions.  (see Calibration of Selected Pyranometers and Satellite derived Solar Radiation in Puerto Rico.)
  • Latent and sensible heat flux depend on effective surface temperature, which is estimated implicitly from a surface energy balance.  The effective surface temperature is an average temperature of all the surfaces within a model pixel.
  • Surface runoff is based on the NRCS Curve Number (CN) method.  This is an empirical method that depends on the land cover, soil type and moisture conditions.  Soil texture can varies significantly over short distances in Puerto Rico.  As in the case of effective surface temperature, the parameters used in the CN  method are averaged within each model pixel.
  • Minimum, maximum, average and dew point temperatures are obtained from a lapse rate method, which is then adjusted by forecast data.
  • Wind speed is obtained from forecast data.

Another source of uncertainty, and alluded to above, relates to the spatial resolution of the model.  We know that many of the physical properties of the land surface vary over short distances.  For example, soil texture can change significantly over distances of tens of meters.  However, the model uses a 1-km pixel resolution, so it can only use one soil texture over the area of the pixel (1,000,000 sq. m).  Soil texture has a direct influence on the soil moisture.  In other words, if two soils profiles, with different soil texture have identical amounts of water in them,  their volumetric soil moisture content will be different.  The issue raised here with soil texture also applies to other model parameters (e.g., CN, land use, albedo, rooting depth, surface roughness, etc.).

So what is the bottom line, is GOES-PRWEB accurate?  This depends on what you want to use the data for and how much uncertainty your application can tolerate.  In general the results appear to be quite reasonable.  In any case the user of these results should always be cautious and know that in certain situations the results may be misleading.  A former professor of mine, Dr. Mary P. Anderson at the University of Wisconsin-Madison Campus, published an valuable article about modeling and what our attitudes towards model results should be.  In the article she discusses examples from the field of groundwater and contaminant transport modeling.  Nevertheless, the message of the paper can be generalized to apply to any type of model.  You can download and read the paper if you are interested: GROUND-WATER MODELING — THE EMPEROR HAS NO CLOTHES.

Over time, we will be calibrating/validating selected parameters/variables in GOES-PRWEB.  The results will be made available to the public via this website and in scientific publications.

10. Working with csv files. Click here

Go to GOES-PRWEB page


4 thoughts on “Frequently Asked Questions about GOES-PRWEB

  1. My husband and i ended up being now glad Chris could complete his researching through your ideas he came across out of your site. It is now and again perplexing to simply possibly be freely giving tips which usually many people could have been selling. We really already know we need you to give thanks to because of that. All of the explanations you’ve made, the easy web site navigation, the friendships you aid to create – it’s all impressive, and it’s assisting our son and the family consider that this theme is entertaining, which is certainly wonderfully indispensable. Thank you for everything!

  2. I’m graduate student on Interamerican University, Bayamon Campus and I’m researching in solar panels and the areas with more solar radiation in Puerto Rico. The images are helpful but I wish to create maps for GIS programs such ArcGIS and QGIS. If is possible can I know more about the programs use to created this maps so I can create similar maps for my GIS programs.

    • Daniel,
      The maps (images) were created with Matlab. If you want I can give you the matlab data files (not images) and you can write a script in matlab to convert them to GIS shape files. Within a couple of months, we are going to make the data available in csv format (like Excel), which you will be able to download for any date range. I believe that ArcGIS can read a csv file. I will release a post as soon as the new product is available, so keep an eye out for that. If you want to fast track this, email me and I can arrange to make the five years of data available in matlab binary file format.


      • Thank you for the time you spend reading my comment. I will greatfull if you can pass me at least the five years data, but sadly I don’t know anything about Matlab program. In that part I really will need some help to get the data into the cvs format for me to work. I hope is not to much problem if can write the script or point me any tutorial for that part. Thank you for the time.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.