Software method for enhancing IR satellite sensor cloud images
CROSS-REFERENCE TO RELATED 
     This application is a continuation-in part in application Ser. No. 07/359,351, filed May 31, 1989, (now abandoned) and entitled &#34;SOFTWARE METHOD FOR SATELLITE CLOUD IMAGE ENHANCEMENT&#34;. 
    
    
     BACKGROUND OF THE INVENTION 
     I. Field of the Invention 
     This invention relates generally to the field of meteorology, and more particularly to a software method of processing two-dimensional (2-D), infrared (IR) cloud temperature data, gathered from a weather satellite, to a three-dimensional (3-D) video image which, through meteorological imaging time-lapse animation techniques, adds a fourth dimension (time) to greatly enhance the information content of the video display. 
     II. Discussion of the Prior Art 
     For well over a decade, IR imagery from Geostationary Operational Environmental Satellites (GOES) has been available for use in weather forecasting. The GOES satellites look down on cloud formations from an altitude of approximately 23,000 miles which tends to create a planar, 2-D picture of the earth. While showing paths of cloud movement, it conveys limited information relating to convective activity, cloud height, cloud overshoot, and other forms of turbulence important to forecasting and flight plan preparation. Moreover, the 11 micron window IR temperatures available from the satellite can be misinterpreted due to the presence of snow cover on the ground as the temperature emitted by the snow closely resembles cloud temperatures. Likewise, cold bodies of water may be misinterpreted as low clouds or fog when, in fact, the skies are clear in the area of question. This is because the cold water temperatures are in such contrast to warmer land areas. Thus, when converted to raster scan data for video display, the display fails to distinguish between clouds and snow-covered ground or very cold bodies of water. Thus, on a clear day, the video image may display what appears to be cloud cover when, in fact, it is the snow on the ground or a key cold body of water giving misleading information. Another drawback of conventional IR displays is that outbreaks of cold air near the surface, typically following an advancing cold front, may give the appearance of low cloud cover. That is because the conventional displays cannot distinguish between cold, cloud-free air and cold air where clouds do, in fact, exist. 
     OBJECTS 
     Accordingly, it is a principal object of the present invention to provide a more realistic and accurate video display of satellite-sensed cloud information. 
     Another object of the invention is to provide a software method of processing IR satellite image data in combination with weather information from other sources to improve the realism of the video display. 
     Still another object of the present invention is to provide a software method of processing GOES IR satellite imagery with high-resolution surface thermodynamic parameters in addition to water temperatures to aid in determining the existence of clouds and to determine the height of the cloud base at plural contiguous points in the region being displayed. 
     A further object of the invention is to provide a software method of deriving from IR satellite image data and interpolated observed surface and observed and forecasted upper-atmospheric (radiosonde) data, the height profile and movement of cloud formations at a large plurality of matrix locations to create raster scan information for video display. 
     SUMMARY OF THE INVENTION 
     In achieving the foregoing objects and advantages, satellite image coordinate IR temperature data comprising 1,820 horizontal lines of 8-bit values (256 shades) is converted to a Cartesian coordinate (Lambert Conformal projection) representation using a commercially available software program available through the Control Data Corporation (CDC) and referred by it as the AMIGAS software. Taking into account such parameters as the satellite characteristics, e.g., spin rate, number of elements per line, etc., and so-called &#34;navigation parameters&#34;, which consist of information relating to the orbit and attitude of the satellite, as well as information regarding east-west centering of the earth in the image frame, a coordinate transformation between image and earth coordinate systems takes place. 
     Following the transformation of the 2-D GOES satellite data into Cartesian coordinates, a number of thermodynamic parameters from multiple sources are sampled, digitized and fed into a main-frame type digital computer for processing. Among the thermodynamic parameters which are utilized are the current surface air temperatures at various gridded locations on the map. Then through interpolation, fairly exact surface temperature information at each possible pixel location can be determined. In the same fashion, gridded values of surface dew point temperatures are gathered and interpolated so that the exact dew point temperatures at each such pixel location can be determined. Still other thermodynamic parameters factored into the enhancement algorithm include current &#34;mandatory&#34; and &#34;significant&#34; level radiosonde temperatures from which current temperatures at predetermined levels in the atmosphere can be determined, via log-pressure interpolation of the radiosonde data. These temperatures are adjusted using forecast information provided by the National Meteorological Center (NMC) such that a forecasted rate of temperature change, into the future, for each level can be calculated. 
     Next in the process, the location of &#34;cloudy&#34; areas is established by calculating the temperature of the Lifted Condensation Level (LCL). That information, together with water temperatures over large bodies of water, the surface air temperature, and the surface dew point temperature, is used to make a cloud/no-cloud determination at each pixel location. 
     When cloud presence is determined, the next step is to establish the vertical characteristics of that cloud. With cloud-top temperatures obtained from the transformed GOES IR data and theoretical cloud-base temperatures computed from the meteorological parameters which are sampled, it is possible to assign altitude values thereto. Once this is accomplished, individual pseudo-cloud columns at each pixel location are generated. 
     Finally, a 3-D image is constructed by processing the assembled image from top to bottom and converting same through a scaling/rotate subroutine to a raster scan bit stream for initial storage in computer memory and subsequent read-out to a CRT display. A convolution process is then applied to the image effectively highlighting certain cloud features. 
    
    
     DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a general software system diagram illustrating the input parameters which are computer processed to provide an enhanced 3-D satellite raster scan image of cloud formations within a predetermined region; 
     FIG. 2 is a general software flow diagram comprising the processing algorithm of FIG. 1; 
     FIG. 3 comprises a detailed flow diagram of the steps involved in block 1.0 in FIG. 2; 
     FIG. 4 is a more detailed block diagram of the steps performed in the operation of block 2.0 in FIG. 2; 
     FIG. 5 is a more detailed flow diagram of the operational steps carried out in performing the operation of block 2.1 of FIG. 4; 
     FIG. 6 is a more detailed flow diagram of the operational steps carried out in performing the step 2.2 in FIG. 4; 
     FIG. 7 is a more detailed flow diagram of the operational steps carried out in performing the operation of step 1, 2.4 in FIG. 6; 
     FIG. 8 is a more detailed block diagram of the operational steps used in effecting the operation represented by block 2.2.7 in FIG. 6; 
     FIG. 9 is a more detailed block diagram of the steps for effecting the operations represented by step 3.0 in FIG. 2; 
     FIG. 10 is a more detailed block diagram of the steps for effecting the operations represented by step 3.2 in FIG. 9. 
     FIG. 11 is a more detailed flow diagram of the operational steps used in carrying out the operation of step 3.2.3 in FIG. 10 when over land area; 
     FIG. 12 is a more detailed block diagram of the operational steps for effecting the operations represented by step 3.2.3 in FIG. 10 when over water; 
     FIG. 13 is a more detailed flow diagram of the operational steps used in carrying out the operation of step 4.0 in FIG. 2; 
     FIG. 14 is a more detailed flow diagram of the operational steps used to carry out step 5.0 in FIG. 2; 
     FIG. 15 is a more detailed flow diagram of the steps used in carrying out step 5.1 in FIG. 14; 
     FIG. 16 is a more detailed block diagram of the operational steps used in carrying out step 5.2 in FIG. 14; 
     FIG. 17 is a more detailed block diagram of the steps for effecting the operations represented by step 5.3 in FIG. 14; 
     FIG. 18 is a more detailed flow diagram of the operational steps used in carrying out step 6.0 in FIG. 2; 
     FIG. 19 is a more detailed flow diagram of the operational steps used in carrying out step 6.1 in FIG. 18; 
     FIG. 20 is a more detailed block diagram of the operational steps used in carrying out the operation of step 7.0 in FIG. 2; 
     FIG. 21 is a photograph of satellite cloud images using prior art display techniques; 
     FIG. 22 is a photograph of cloud images created using the method of the present invention; and 
     FIG. 23 is a photograph of cloud images using the method of the present invention when a 3-D viewing perspective with a curved horizon is generated. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring to FIG. 1, illustrated is a system diagram showing the data inputs to the processing algorithm comprising the present software method for performing satellite cloud image enhancement. A high-speed digital computer is used to process the data and produce a 3-D satellite raster scan image for display on a video screen. With no limitation intended, the processing involved may be carried out on a CDC Cyber 840A Computer. As shown by block 10 in FIG. 1, one set of inputs to the process comprise 2-D IR temperature data available from the GOES satellite which, as those skilled in the art appreciate, comprises 1,820 horizontal lines of 8-bit values, the 8-bit values capable of representing 256 colors representing a full disc of the earth&#39;s atmosphere as viewed from a geostationary orbit. The 2-D satellite data is originally in satellite image coordinates. This satellite sensed IR data provides cloud top temperature information 24 hours per day at 30 minute intervals. 
     In addition to the data from the GOES satellite, the processing algorithm of the present invention also utilizes observed weather conditions on the earth&#39;s surface (block 12) including, temperature and dew point temperature, etc. Gridded values of the above information are generated using observations available via the Federal Aviation Agency (FAA) 604 circuit and the National Weather Service (NWS) domestic circuit utilizing Surecast™ Regional Analyses available through Kavouras Inc. of Minneapolis, Minn., applicant&#39;s assignee. 
     A third input to the processing algorithm (block 14) pertains to upper-air temperature and is also available through the NWS and the FAA circuits. In particular, the NWS periodically releases weather balloons which carry instrumentation packages called radiosondes aloft to provide pressure, temperature and moisture information at &#34;mandatory&#34;, i.e., at the earth&#39;s surface, and at altitudes where air pressure values of 1,000, 850, 700, 500, 400, 300, 250, 200, 150, and 100 millibar exist, as well as at &#34;significant&#34; intermediate levels. Because this radiosonde information only becomes available at 12-hour intervals and because upper-atmospheric temperatures can easily change significantly over this 12-hour period, there is always a likelihood that the change will be enough to make the vertical cloud profiles being generated obsolete. To obviate this problem, in accordance with the present invention, a further input to the processing algorithm is an objective analysis of observed upper-air temperatures generated at many equidistant points. Next, access to the NWS forecast model information is obtained and the results are utilized in conjunction with the aforementioned data fields in forecasting the changes in temperature expected from the observed values. 
     A fifth input to the processing algorithm are water temperature measurements of large bodies of water (i.e., the Great Lakes, Atlantic Ocean, etc.) The water temperatures are utilized by the cloud detection algorithm, over bodies of water, described below. 
     Thus, with continued reference to FIG. 1, the processing algorithm of the present invention utilizes actual GOES monitored cloud temperature information, surface weather observations at plural points within a region and forecasted upper-air temperature profiles to arrive at an enhanced cloud image as compared to what can be realized utilizing only the GOES IR data. 
     A sixth input to the processing algorithm are surface elevations above mean sea level (AMSL). The surface elevations are used to ensure accurate calculation of cloud base/top altitudes. The forecast environmental temperatures at known altitudes AMSL are assembled along with a surface temperature. A cloud temperature is compared against the environmental temperatures and, through interpolation, the precise altitude AMSL of the cloud can be determined. The surface elevation AMSL is required for maximum precision. 
     Referring next to FIG. 2, there is set out a general block diagram of the processing steps comprising the method of the present invention. Being a general block diagram, it should be understood that each of the steps labeled 1.0 through 7.0 actually comprises a number of substeps which, themselves, are set out in greater detail in FIGS. 3 through 20 of the drawings. 
     As indicated in block 1.0, the first step in the processing algorithm is to transform the GOES satellite data from satellite coordinates into a Cartesian coordinate representation and, specifically, a Lambert Conformal projection. The transformation itself is accomplished using commercially available software developed by the Control Data Corporation of Minneapolis, Minnesota, as a part of its Advanced Meteorological Image and Graphics Analysis System (AMIGAS). This software takes into account navigational information including the orbit, attitude and gamma information embedded in the GOES satellite navigation data, to compute image-to-earth coordinate transforms for any and all images received from the satellite on a particular day in a Cartesian coordinate format. This greatly enhances the ability of the computer to further manipulate the data when it is considered that the other data on surface weather and weather aloft is provided in a gridded format of similar coordinate representation. 
     Rather than merely rely upon the IR temperature data supplied by the GOES satellite in identifying cloud formations, in the method of the present invention, a number of thermodynamic parameters are factored into the processing operations. The real-time combination of satellite imagery with high-resolution surface thermodynamic parameters is used not only to help determine the existence of cloud formations, but also to determine the height to the cloud base. More particularly, in the method of the present invention, a calculation is made of the exact surface air temperature and surface dew point temperature at each of 640×480 points within a defined region. Next the LCL temperature is computed. The LCL temperature represents the theoretical warmest temperature a cloud can exist at in the atmosphere at that point in time and space based on the current surface conditions and standard upper-atmospheric conditions. The satellite sensed IR temperature is compared with an air/cloud temperature cutoff threshold computed utilizing the LCL temperature, the surface temperature and the surface dew point temperature. If the satellite temperature is sufficiently colder than the air/cloud temperature cutoff, the conclusion is made that a cloud is present. Over bodies of water, the air temperature value is replaced with the observed water temperature. 
     While the GOES provides both visible spectrum imagery and IR imagery, the present invention utilizes only the IR imagery which allows the consistent 24-hour generation of enhanced cloud imagery. In assembling the thermodynamic parameters (FIG. 2, step 2.0), the facilities of the NWS and the FAA are relied upon to provide hourly weather observations from over 2,000 North American locations with temperature and dew point measurements being the primary surface weather observations required for performing the cloud imagery enhancements. Coded information from the NWS sites is fed into the NMC facility in Suitland, Md., and made available on a subscription basis to interested parties. Likewise, the FAA receives weather information from various airports across the country and it is funneled through the FAA facility in Kansas City and made available on the FAA 604 data link to subscribers as well. 
     Not only are surface conditions taken into account, but also the algorithm of the present invention relies upon upper-atmospheric data from radiosondes and forecasts based thereon to construct vertical profiles of upper-air temperatures. Just how those parameters are employed in the method of the present invention will become more apparent as the description continues. 
     The next step in the process (step 3.0) is to establish, on a pixel-by-pixel basis whether, in fact, a cloud is present. Because it is known that clouds are typically colder than the LCL and the surface air temperature beneath them and because cloud-top temperature information is available from the GOES IR satellite imagery and the surface air temperature and surface dew point temperature information is available through the NWS and FAA 604 circuits and are transformed into precise values at gridded locations, a computation can be made to establish whether or not a cloud exists at any given location with the 640×480 pixel domain. Please note that special cloud determination processing is performed over water. Certain instances may occur where clear skies over a very cold body of water (i.e., Lake Superior) surrounded by warm land surface temperatures could be misinterpreted as being a low cloud or fog bank. The consideration of water temperatures precludes this from happening. 
     Once it is determined that clouds exist at a particular location, the vertical characteristics of those clouds are determined (step 4.0). As already mentioned, the cloud-top temperature can be related to the clouds vertical height. To assess the height of the cloud&#39;s base, however, the temperature of the LCL is further utilized. Also a part of the vertical characteristics of clouds is whether there exists any over-shoot of the cloud top through the tropopause, typically, a good indicator of severe weather and/or extreme turbulence. 
     Having determined where the cloudy areas exist as well as the vertical characteristics of those clouds, the next step in the process (step 5.0) is to generate individual pseudo-cloud columns at each of the possible pixel locations. Because the base temperature and top temperature of those cloud columns have already been determined (step 4.0), a display brightness count can be assigned to each and then intermediate brightness counts can be arrived at through linear interpolation. In the approach used, there are 64 possible shades of gray corresponding to the count values with the whiter shades being reserved for the higher altitudes and the grayer or darker shades for the lower altitudes. By filling the cloud columns with brightness values that are a function of cloud height, a more realistic representation of cloudiness in the atmosphere can be depicted. 
     Once the individual pseudo-cloud columns have been generated for all pixel locations, the next step is to construct a 3-D image thereof (step 6.0). This is accomplished by writing out an entire line of vertical cloud columns beginning at the top of the image (line 1) and then incrementing the line count to move downward in the image and writing out successive lines of vertical cloud columns and overwriting any previous information. This process is continued until all 480 lines comprising a frame have been treated. Then, to reduce the ultimate data transmission load, a standard 6-bit, run-length encoding compression technique is used to avoid the necessity of transmitting strings of serial identical data. 
     To provide an improved 3-D viewing perspective with a curved &#34;horizon&#34;, a scale and rotate algorithm is executed with the transformation factors being chosen such that the X (right-left) orientation of the image is held constant from front to back while tilting it about its bottom input image line axis to an angle of 30°. The Y (top-bottom) orientation of the image is changed in the output image such that pseudo-cloud columns are positioned lower on the output image as the edge of the display is approached. A further lowering of the output image display position is calculated as the right/left edges of the display are approached. This technique, utilizing equations of a circle, produces a curved-horizon presentation in the output image providing the viewer a sense of seeing the clouds from outer space. This effectively enhances the perception of depth to the image (step 7.0). Furthermore, by processing the image, one line at a time, from top to bottom, the pseudo-cloud columns in the background are effectively overwritten, providing more prominence to pseudo-cloud columns in the foreground, thus providing a visual illusion of depth. The final step in the construction of the 3-D image is the application of the imagery to an image processing technique called convolution. This post-processing step effectively enhances certain cloud features and renders a more realistic image. The convolution process is explained in greater detail later in this document. 
     FIG. 3 illustrates by means of a flow diagram the operations used in transforming the 2-D GOES satellite data into Cartesian coordinates. As indicated in block 1.1, the GOES provides infrared (temperature) information in terms of 8-bit brightness or radiance counts. Specifically, the data stream supplied by the National Environmental Satellite Data and Information Service (NESDIS) provides the brightness counts in a satellite image coordinate presentation. Embedded within the NESDIS data stream is all of the necessary &#34;navigation&#34; parameters which are also required to perform transformations between satellite image coordinates and various other coordinate systems. The basic &#34;navigation&#34; information that allows such transformations consists of (1) satellite characteristics, such as spin rate, number of elements per line, data resolution, etc. and (2) navigation parameters which consist of orbit and attitude of the satellite, as well as information regarding east-west centering of the earth in the image frame. Because the orbit of the GOES is not perfect, the navigation parameters may change with each image and must be updated accordingly. The commercially-available AMIGAS software used in carrying out steps 1.1 and 1.2 in FIG. 3 utilizes the navigation parameters embedded in the GOES data stream to perform &#34;quick navigation&#34; as that term is used in the descriptive software support publications available through CDC, the supplier of the AMIGAS software. 
     In remapping the image data from satellite image projection into a Lambert conformal projection (step 1.3), a display is created where at the center of the display, north is always at the top of the screen, east to the right, west to the left and south at the bottom. This is a more usable display, obviating the need for the viewer to subjectively compensate for the inherent image distortions near the earth edge. Thus, by converting the satellite image data to Cartesian coordinates user interpretation of the display is facilitated. 
     The operations involved in assembling the thermodynamic parameters (step 2.0 in FIG. 2) are further expanded with reference to FIGS. 4 through 8 of the drawings. As illustrated in FIG. 4, the thermodynamic parameters involved include (1) surface conditions, (2) upper-air conditions and (3) water temperatures for large bodies of water. Each of these operational steps is further broken down into a series of substeps reflected in FIGS. 5 through 8. 
     As mentioned earlier, the surface weather conditions include surface air temperatures and dew point temperatures obtained from fixed geographical locations throughout the country and supplied on the NWS domestic circuit and the FAA 604 circuit. Where it is desired to obtain either surface air temperature or dew point temperatures at locations other than those being directly reported by the NWS or FAA, a bilinear interpolation of the SURECAST™ gridded fields is executed. More particularly, the four previously calculated temperature grid point values and the four previously calculated dew point temperature grid point values surrounding an intermediate pixel location are utilized in a bilinear interpolation algorithm to determine the exact surface air temperature and the exact dew point temperature at that pixel location. In this way, the surface weather conditions at intermediate locations within a region can be established with considerable precision from the weather data that is available at four gridded locations surrounding the particular location in question. 
     In creating a raster scan display for video presentation, an input image is considered to comprise a matrix of 307,200 separate and distinct elements or points arranged 640 across and 480 down. There are, of course, many fewer actual grid points available from the temperature objective analysis field. By using a high speed computer running the bilinear interpolation algorithm, the surface temperature and dew point temperature at each of the 307,200 points can be computed on a real-time basis. 
     In much the same manner, the current upper-air vertical temperature profiles can be computed. With reference to FIG. 6, those skilled in the art are aware that the NWS, at 12-hour intervals, releases weather balloons carrying a radiosonde instrumentation package which radios back to earth pressure (geopotential height), temperature and moisture information from a plurality of &#34;mandatory&#34; pressure levels, namely at the surface and at the 1000, 850, 700, 500, 400, 300, 250, 200, 150 and 100 millibar pressure levels. The term &#34;significant&#34; levels refers to important changes encountered between the mandatory levels and they vary with every report provided. To obtain temperature information in between the telemetered mandatory and significant levels, a log-pressure interpolation is made to generate an indication of current temperatures at any level in question. 
     In that the availability of radiosonde data only occurs at 12-hour intervals and given the fact that upper-air conditions can change significantly over such a long period of time, improved accuracy is achieved by also retrieving from the NMC in Suitland, Md., the 12-hour forecast temperatures for each of the mandatory reporting levels. The initial temperatures are calculated by interpolation of the actual mandatory and significant radiosonde data. Next, a calculation is made to derive the forecast rate of temperature change for each mandatory level. Following that, the forecast rate of temperature change so computed is applied to the corresponding initial radiosonde-derived temperatures at eleven discrete levels to create the &#34;current&#34; temperature profile for each image period. 
     Next, this temperature profile is scanned in order, from lowest to highest altitude, to determine if a temperature &#34;inversion&#34; exists within it. A temperature inversion is said to exist whenever the temperature increases with increasing altitude between any two adjacent levels. If an inversion is found within the profile, it is removed by decreasing the temperature at the higher altitude to a point where it is cooler than the temperature at the lower altitude. The scan then continues to check the remainder of the profile, removing any other inversions that exist within it, in order to produce a profile where the temperature continually decreases from the bottom altitude through the top. 
     To establish the &#34;cloudy&#34; areas within a region (step 3.0), the further operations set out in FIGS. 9 and 10 are performed in the sequence indicated. The software is operating to determine for every pixel location if, in fact, a cloud is present. Referring to step 3.1 in FIG. 9, those skilled in the art appreciate that the LCL is the level in the atmosphere at which condensation will occur in an air parcel that has been lifted. Specifically, the LCL temperature represents the temperature of the theoretical cloud base. Following that, the air/cloud temperature cut-off is established. Over land areas, the cutoff temperature is set dependent upon the time of day in relation to sunrise/sunset times, surface air temperature, surface air dew point and LCL. Over water, the time of day dependence does not apply. This method of cloud determination allows relatively warm summertime cumuliform cloudiness to be detected and yet does not produce erroneous low clouds on clear, cool nights when the satellite sensed IR temperature may, in fact, be cooler than the observed surface air temperature. Thus, by looking at the LCL temperature, the surface air temperature, the surface dew point temperature and the time of day in relation to sunrise/sunset, a determination is made as to how cold it would have to be for a cloud to exist. If the temperature that is observed from outer space is sufficiently cold, i.e., is as cold as the cut-off temperature or colder, then the algorithm determines that a cloud is present. With reference to FIG. 10, over large bodies of cold water, it might normally be possible to mistake the cold satellite sensed IR temperatures of the water (with clear sky conditions) as clouds. The algorithm of this invention compensates for this by utilizing water temperature information, updated on a regular basis and available from coastal observation stations and buoys. These water temperature reports, received over the NWS circuits, take the place of the air temperature int eh cloud determination section over water. 
     Referring next to step 3.3, when it is considered that the satellite sensed IR data or brightness counts correspond to discrete temperatures, a table look-up operation si conducted to determine the corresponding temperatures in degrees Centigrade at differing altitudes. Set forth below in tabular format is a portion of the conversion table which converts IR radiance into black-body temperature. 
     
                       TABLE I                                                     
______________________________________                                    
Brightness Count                                                          
                Temp. °C.                                          
______________________________________                                    
00000000        70.0                                                      
00000001        56.0                                                      
00000010        56.0                                                      
00000011        55.0                                                      
.               .                                                         
.               .                                                         
.               .                                                         
10000000        -7.2                                                      
.               .                                                         
.               .                                                         
.               .                                                         
11111111        -96.0                                                     
______________________________________                                    
 
    
     Having established both the temperature of the LCL, the air/cloud temperature cutoff and the temperatures at various altitudes, a cloud/no-cloud determination can be made, as previously described based on the surface air temperature, surface dew point temperature, LCL temperatures, water temperatures (over water areas) and time of day (over land areas). 
     In regards to the computation of the LCL, the temperature in degrees Centigrade of the LCL is a function of surface air temperature and surface dew point temperature. If it is determined that the air temperature is less than the temperature of the LCL, then the two are set equal. The program determines that cloudiness exists if the temperature of the cloud is less than or equal to the calculated temperature cutoff value and the temperature of the cloud is less than or equal to the temperature of the LCL and the pixel in question is located over land (not water). The calculation of the LCL may be expressed by the following FORTRAN statements: 
     Calculate temperature of LCL 
     
         SVAR=TCAIR-TCDEW 
    
     
         TVAR=TCAIR ##EQU1## 
    
     
         TCLCL=TVAR-TCLCL 
    
     
         IF (TCAIR.LT.TCLCL) TCAIR=TCLCL 
    
     
         IF (over water) TCAIR=TCWATER 
    
     where 
     TCAIR is temperature of air in degrees C 
     TCDEW is dew point in degrees C 
     TCLCL is temperature of LCL 
     FIG. 13 illustrates the substeps executed in the determination of vertical characteristics of a cloud (step 4.0). Using the aforementioned look-up table, the satellite IR brightness counts are converted to temperatures representing the cloud top temperature values. The cloud base temperature (step 4.2) is set equal to the temperature of the LCL as previously computed. The altitude of the cloud base and normal cloud tops are arrived at by performing a log interpolation of cloud temperature between adjacent profile temperature levels by executing the following short FORTRAN routine: 
     
         ______________________________________                                    
DATA SHGT/1, 6000, 9000, 12000, 180000, 24000, 30000, 34000,              
39000, 45000, 53000/                                                      
OUTHGT = 0                                                                
IF (elevation.LT. 6000) THEN                                              
 Bottom = 1                                                               
else IF (elevation.LT.9000) THEN                                          
 Bottom = 2                                                               
else IF (elevation.LT.12000) THEN                                         
 Bottom = 3                                                               
else                                                                      
 Bottom = 4                                                               
end if                                                                    
UPATEMP(bottom) = TCAIR                                                   
SHGT (bottom) = elevation                                                 
DO 100 I = 2,11                                                           
IF (UPATEMP(I).LE.TCLOUD) THEN                                            
TEMPA = UPATAEMP(I)                                                       
TEMPB = UPTAEMP(I-1)                                                      
HGTA = SHGT(I)                                                            
HGTB = SHGT(I-1)                                                          
TEMPM = TCLOUD                                                            
HGTM = EXP(ALOG(HGTA)-                                                    
  (ALOG(HGTA)-ALOG(HGTB))*                                                
  (TEMPA-TEMPM) / (TEMPA-TEMPB)                                           
OUTHGT = NINT(HGTM*100)                                                   
RETURN                                                                    
     END IF                                                               
100  CONTINUE                                                             
______________________________________                                    
 
    
     In the above routine, the first line comprises the sampling heights at the surface and at altitudes of 6,000 ft., 9,000 ft. . . . 53,000 ft. Using this interpolation algorithm, the cloud temperature between two known temperatures is arrived at. The surface elevation AMSL is used to accurately set the lowest level altitude within the vertical profile. 
     As set out in step 4.6 of FIG. 13, the altitude of convective overshooting cloud tops is determined in accordance with the following: 
     When the cloud-top temperature is colder than the coldest profile temperature, the coldest profile temperature is decremented at a rate of 3° C. per 1,000 ft. until the cloud-top temperature is reached. It has been found that if a straight-forward extrapolation approach were to be used, an erroneous result would be reached because the cloud height becomes grossly exaggerated. In a thunderstorm situation, when the cloud tops reach the tropopause and very vigorous convection occurs, the cloud tops sometimes overshoot and become very cold due to the high rate of evaporative cooling taking place. Rather than merely extrapolating to determine a height value based strictly on temperature, the program effectively &#34;lifts&#34; a cloud parcel at the dry adiabatic lapse rate which is the rate at which a near moisture-free air parcel will cool as it is elevated. Starting at the top of the profile (53,000 ft.), for every 1,000 ft. above that level, 3° is subtracted from the 53,000 ft. profile temperature until the satellite observed cloud-top temperature is reached. The AMSL of the over-shooting cloud top is then established. 
     The flow diagrams of FIGS. 14 through 17 illustrate the computational steps carried out by the program for generating individual pseudo-cloud columns (step 5.0 in FIG. 2). 
     Once the cloud-top and cloud-base altitudes have been determined at all pixel locations, color values are assigned in accordance with FIG. 16. That is, the display color of the cloud top is arrived at by dividing the cloud-top height by 1,000 and adding 12. The cloud base display color is arrived at by dividing cloud-base height by 1,000 and adding 7. Thus, for example, if it is determined that the cloud-top height of a particular cloud column above a given pixel location is 20,000 ft., it would be assigned a display color value of 32 (20+12). Likewise, if the cloud base is at an altitude of 4,000 ft., it would be assigned a display color value of 11 (4+7). Then, using linear interpolation, display color values are applied to the intermediate levels of the cloud column. Step 5.1.2 depicts the control of the vertical sizing of resultant columns using a 640×480 pixel screen, and when using the size of the geographical areas that is normally employed (28° longitude width), it has been found that no matter what size or height a cloud feature, it is best represented as having a vertical scale of 1.725 pixels per 1000 feet. In other words, a 17,500 ft. thick cloud would occupy 10 vertical pixels on the display screen. 
     To further enhance realism, cloud base colors are dynamically darkened as large convective clouds grow. The bases of cloud columns thicker (from top to base) than 10,000 feet and with cloud bases below 5,000 feet AMSL are darkened one color count per 10,000 feet of cloud thickness. For example, the cloud base of a cloud column with a base of 4,000 feet AMSL and top 34,000 feet AMSL (30,000 feet thick) will be darkened three additional color values. 
     Once the pseudo-cloud columns have been generated for each pixel location and assembled into memory in a raster scan format, they can be read out for display in accordance with the flow diagrams of FIGS. 18 and 19. The scale and rotate algorithm then effectively tips the display back at an angle of 30°, to fill less than the entire screen and leaving the impression of a curved &#34;horizon&#34; between cloud tops and outer space increasing the impression of depth. 
     Finally, the scaled and rotated image is subjected to a convolution image processing algorithm (FIG. 20) that further enhances cloud edges and, in this application, produces an effect of a artificial light source shining the clouds from the west. 
     Convolution is an area process used in image processing applications as a means of highlighting or suppressing certain aspects and/or features of a digital image. The process employed in this application uses a 3×3 matrix (called a mask or kernel) of predetermined values which then is applied over the digitized image (the center element of the matrix corresponds to the current pixel on the image being analyzed). The process then calculates the weighted sum of all the surrounding neighbors multiplied by their relative partner in the convolution matrix. From this weighted sum, the determination is made as to what features are suppressed or highlighted at that position in the image. With the appropriate 3×3 matrix, certain features can be extracted from the image and then added back into the original. The resulting output image is the original image, plus the highlighted features. 
     The convolution used in the production of 4-D satellite imagery consists of a 3×3 mask with the following values: ##EQU2## The weighted sum produced by convolution for a given pixel is scaled according to its original value. Original values greater than or equal to 33 are scaled by dividing the weighted sum by 1.2, while the weighted sum for those original pixels under 33 are divided by 1.7. The scaled weighted sums are then added into the original image, completing the convolution process. The flexibility also exists to adjust these scalars at any time in order to fine-tune the finished image. 
     The photos of FIGS. 21 and 22 provide a comparison between normal satellite imagery of the prior art and the cloud imagery obtained using the method of the present invention. Where the prior art satellite imagery tends to present a flat two-dimensional display, the method of the present invention, by effectively providing shading as a function of cloud height, yields the illusion of depth and more of a &#34;pilot&#39;s eye view&#34;. When time lapse techniques are employed, movement patterns including the clouds building-up and churning supplies significantly greater amounts of information, at a glance, to meteorologists, thereby enhancing their ability to make more accurate forecast presentations. 
     It is seen then that the method of the present invention allows GOES imagery to be enhanced by combining it with tropospheric thermodynamic profiles, surface-based weather observations and sea surface temperature information so as to create strikingly realistic computer-generated 3-D pseudo-cloud images. 
     Those skilled in the art will be able to implement the method of the present invention from the detailed flow charts and explanation provided herein. Accordingly, it is deemed unnecessary to include herewith the specific machine code comprising the satellite cloud image enhancement program which, of course, will vary depending upon the computing system on which the software is actually run. 
     This invention has been described herein in considerable detail in order to comply with the Patent Statutes and to provide those skilled in the art with the information needed to apply the novel principles and to construct and use such specialized components as are required. However, it is to be understood that the invention can be carried out by specifically different equipment and devices, and that various modifications, both as to the equipment details and operating procedures, can be accomplished without departing from the scope of the invention itself.