Abstract:
A method and system for determining the accuracy of a mesoscale weather model comprising at least one processor having at least one input for inputting a preexisting weather model and initial weather data comprising surface level and upper air temperatures and wind conditions, and actually measured surface level and the upper-air level weather conditions; the at least one processor operating to use the mesoscale weather model to generate output data comprising forecasted temperatures, wind conditions, and predicted weather conditions; the at least one processor operating to compare the output data to actually measured data obtained when same or similar initial weather data were present and subsequent resulting temperatures, wind conditions and weather conditions were measured; and the at least one processor operating to generate an accuracy rating reflecting the deviation of temperature, wind conditions and weather conditions predicted by the mesoscale weather model as compared to those actually measured.

Description:
GOVERNMENT INTEREST 
       [0001]    The invention described herein may be manufactured, used and licensed by or for the U.S. Government. 
     
    
     FIELD OF INVENTION 
       [0002]    Embodiments of the present invention generally relate to software applications and, more particularly, to a method and system for determining accuracy of mesoscale weather models. 
       BACKGROUND OF THE INVENTION 
       [0003]    Mesoscale modeling refers to weather models for domain areas from 10-1000 kilometers, used for predicting future weather conditions. Generally, there are several current popular weather models including Fifth Generation Mesoscale Model (MM5), Weather Research and Forecasting-Advanced Research Weather Research Forecasting (WRF-ARW), Weather Research and Forecasting-Nonhydrostatic Mesoscale Model (WRF-NMM) and Advanced Regional Prediction System (ARPS). Currently, determining the “best” model over the most recent 24 hour period based on accuracy of the model output parameters involves extensive scripting and setup, creating a high possibility of error, and minimizing repeatability of the model execution. 
         [0004]    Creating input meteorological data files for mesoscale modeling is a daunting task for the uninitiated researcher working on a case study. The researcher/user is required to know what data should be acquired and where to obtain it from and to run a complex sequence of scripts, modifying variables and file locations, C and FORTRAN code modifications and recompilations. Specifically, as part of the C gridded binary (GRIB) decoder, the user must indicate where the output decoded GRIB file should be placed. In the FORTRAN file, edits are required regarding central latitude and longitude, output file names, etc. Each of these code changes would be followed by recompilation. If the user mistypes any of the parameters, additional changes and recompilations must be made, leading to a highly error-prone and time consuming process. 
         [0005]    Therefore, there is a need in the art for a method and apparatus for determining accuracy of mesoscale weather modelsin an easy-to-use and efficient manner. 
       BRIEF SUMMARY OF THE INVENTION 
       [0006]    Embodiments of the present invention relate to a computer implemented method for determining accuracy of mesoscale weather models. A preferred embodiment comprises selecting user parameters, extracting data corresponding to the selected user parameters from initialization data, executing each of the plurality of mesoscale weather models using the data to generate output data, comparing the output data to expected truth data and selecting at least a first mesoscale weather model ascertained for a surface level and a second mesoscale weather model ascertained for an upper-air level from the plurality of mesoscale weather models, wherein the first and second selected mesoscale weather models of the plurality of mesoscale weather models have a lowest error at the surface level and the upper-air level based on the selected user parameters. 
         [0007]    Another embodiment of the present invention relates to apparatus for selecting a mesoscale weather model from a plurality of mesoscale weather models comprising selecting user parameters and extracting data corresponding to the selected user parameters from initialization data, executing each of the plurality of mesoscale models based on the selected user parameters to generate output data, comparing the output data to actual data and selecting at least a first mesoscale weather model ascertained for a surface level and/or a second mesoscale weather model ascertained for an upper-air level from the plurality of mesoscale weather models, wherein the first and/or second mesoscale weather models have a lowest error at the surface level and/or the upper-air level based on the selected user parameters. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0008]    So that the manner in which the above recited features of the present invention can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments. 
           [0009]      FIG. 1  depicts a functional block diagram of an apparatus for determining an ideal mesoscale weather model in accordance with at least one exemplary embodiment of the present invention; 
           [0010]      FIG. 2  depicts a block diagram of an exemplary embodiment of a computer system in accordance with an exemplary embodiment of the present invention; 
           [0011]      FIG. 3  depicts a flow diagram of an overview of the operation of the apparatus of  FIG. 1  in accordance with an exemplary embodiment of the present invention; 
           [0012]      FIG. 4  depicts a functional block diagram of the operation of obtaining initialization data in the apparatus of  FIG. 1  according to an exemplary embodiment of the present invention; 
           [0013]      FIG. 5  depicts a functional block diagram depicting the generation of a domain model according to user selection in accordance with embodiments of the present invention; 
           [0014]      FIG. 6  depicts an illustration of an HTML website representing a users operation of the Model Tool Kit (MTK) for determining an ideal mesoscale weather model implemented in accordance with one or more aspects of the present invention; 
           [0015]      FIG. 7  depicts a block diagram of the selection module of  FIG. 1  according to an exemplary embodiment of the present invention; 
           [0016]      FIG. 8  depicts a functional block diagram showing the operation for converting sigma level analyses of executed mesoscale models to pressure level analyses of executed mesoscale models according to an exemplary embodiment of the present invention; 
           [0017]      FIG. 9  depicts a functional block diagram representing storing truth data into the database of the apparatus in  FIG. 1 . 
           [0018]      FIG. 10  illustrates a schematic overview of a preferred embodiment program menu showing menu tabs  1 - 3 . 
           [0019]      FIG. 11  illustrates a schematic overview of a preferred embodiment program menu showing menu tabs  4 - 6 (part 1 ). 
           [0020]      FIG. 12  illustrates a schematic overview of a preferred embodiment program menu showing menu tabs  6  (part  2 ) and  7 . 
           [0021]      FIG. 13  illustrates a schematic overview of a preferred embodiment program menu showing menu tabs  8  and  9 . 
           [0022]      FIG. 14  is a schematic depiction of the program section “Determine Best Model” depicting both surface and upper-air inputs. 
           [0023]      FIG. 15  depicts part  1  of a flow chart for program section “Generate Statistics/Graphics.” 
           [0024]      FIG. 16  depicts part  2  of a flow chart for program section “Generate Statistics/Graphics.” 
           [0025]      FIG. 17  depicts part  3  of a flow chart for program section “Generate Statistics/Graphics.” 
           [0026]      FIG. 18  depicts part  4  of a flow chart for program section “Generate Statistics/Graphics.” 
           [0027]      FIG. 19  depicts part  5  of a flow chart for program section “Generate Statistics/Graphics.” 
           [0028]      FIG. 20  depicts part  6  of a flow chart for program section “Generate Statistics/Graphics.” 
           [0029]      FIG. 21  depicts part  7  of a flow chart for program section “Generate Statistics/Graphics.” 
           [0030]      FIG. 22  depicts part  1  of a flow chart for program section “Determine Best Model.” 
           [0031]      FIG. 23  depicts part  2  of a flow chart for program section “Determine Best Model.” 
           [0032]      FIG. 24  depicts part  3  of a flow chart for program section “Determine Best Model.” 
           [0033]      FIG. 25  depicts part  4  of a flow chart for program section “Determine Best Model.” 
       
    
    
     DETAILED DESCRIPTION 
       [0034]    Embodiments of the present invention comprise a method and apparatus for determining an ideal mesoscale weather model by executing each model using a grouping of parameters and comparing each weather model to determine which has a lowest error according to the selected parameters and user-selected statistical metric. 
         [0035]      FIG. 1  is a functional block diagram of an apparatus  100  for determining an ideal mesoscale weather model in accordance with at least one exemplary embodiment of the present invention. Apparatus  100  comprises an internal database  102 , a user interface (UI)  104 , model data  106 , a selection module  108 , a compiler  110 , a validator  112  and a model processing module  114 . The model processing module  114  comprises a model executor  124  and a model comparator  126 . The model comparator  126  further comprises a statistical error module  128 . The apparatus  100  requests and receives initialization data  116  and truth data  118 , respectively, from an external initialization data source  120 , and truth data sources  122  and  123  across a network  101 . The apparatus  100  outputs the determined ideal model  130  as well as graphical plots  132  representing the comparisons. 
         [0036]    The user interface  104  allows a user to drive the apparatus  100  to determine a best model of mesoscale weather data. The selection module  108  determines the selections of the geographical area for performing the mesoscale models, the selection of weather parameters to optimize the models for, the selection of physics packages to apply for each model, the selection of an error metric and model resolution (coarser/finer). The database  102  stores information relating to model data as well as data corresponding to the selection options available to users in the user interface  104 . Model data  106  is extracted from the database  102  and the model is compiled by the compiler  110 . Both the compiled model data  110  and the selection parameters in the selection module  108  are validated by the validator  112 . The validator  112  first confirms that the selection parameters and the model are compatible. Then the validator  112  confirms that the selection parameters are compatible between themselves. For example, if the user selects a physics package which does not align with a certain model, then the UI  104  displays an error. In an exemplary embodiment, the models used in model data  106  comprise at least two of the Fifth Generation Mesoscale Model (MM5), Weather Research and Forecasting-Advanced Research Weather Research Forecasting (WRF-ARW), Weather Research and Forecasting-Nonhydrostatic Mesoscale Model (WRF-NMM) or Advanced Regional Prediction System (ARPS), and the like. 
         [0037]      FIG. 2  is a block diagram of an exemplary embodiment of a computer system  200  in accordance with one or more aspects of the present invention. The computer system  200  may be used to implement the apparatus  100  (shown in  FIG. 1 ). The computer system  200  includes a processor  202 , various support circuits  204 , and memory  206 . The processor  202  may include one or more microprocessors known in the art. The support circuits  204  for the processor  202  include conventional cache, power supplies, clock circuits, data registers, I/O interfaces  208 , and the like. The I/O interface  208  may be directly coupled to the memory  206  or coupled through the supporting circuits  204 . The I/O interface  208  may also be configured for communication with input devices and/or output devices  210 , such as, network devices, various storage devices, mouse, keyboard, display, and the like. 
         [0038]    The memory  206 , or computer readable medium, stores non-transient processor-executable instructions and/or data that may be executed by and/or used by the processor  202 . These processor-executable instructions may comprise firmware, software, and the like, or some combination thereof. Modules having processor-executable instructions that are stored in the memory  206  comprise a Model Tool Kit (MTK) module  211  which further comprises a selection module  108 , a validation module  112 , and a model processing module  114  comprising a model executor  124  and a model comparator  126 . The memory  206  also stores selected user parameters  224 , comprising weather parameters  228 , physics package  230  and statistical error metric  128 , the mesoscale weather models  226  and the grid resolution  232 . The computer system  200  may be programmed with one or more operating systems (generally referred to as operating system (OS)  218 ), which may include OS/2, Java Virtual Machine, Linux, Solaris, Unix, HPUX, AIX, Windows, Windows95, Windows98, Windows NT, and Windows2000, WindowsME, WindowsXP, Windows Server, among other known platforms. At least a portion of the operating system  218  may be disposed in the memory  206 . The memory  206  may include one or more of the following random access memory, read only memory, magneto-resistive read/write memory, optical read/write memory, cache memory, magnetic read/write memory, and the like, as well as signal-bearing media, excluding non-transitory signals such as carrier waves and the like. 
         [0039]      FIG. 3  is a flow diagram depicting a method  300  of operation of the apparatus  100  in accordance with embodiments of the present invention.  FIG. 3  represents an implementation of the method for Model Tool Kit module  211 , stored in memory  206  and executed by the processor  202  in  FIG. 2 . The method  300  starts at step  302  and proceeds to step  304 . At step  304  a user selects a mesoscale region as part of the domain model upon which the mesoscale models will be executed. At step  306 , the user selects weather parameters, physics packages for each mesoscale model, a grid resolution, and a statistical error metric for the domain model. At step  308 , the validation module  112  performs validations on the selected user parameters. This entails confirming that the selected weather parameters, physics packages and the like are all compatible with each other. At step  310 , the initialization data  116  is retrieved from the local database  102  required for execution of the mesoscale models. At step  311 , the mesoscale models are modified according to the selected user parameters and compiled into executable computer programs. At step  312 , the mesoscale model computer programs are executed by the model executor  124 . At step  314 , the executed mesoscale model outputs are compared with each other as well as truth data  118 . At step  316 , based on the chosen error metric, grid resolution, and model parameter grouping from step  306 , an idealmesoscale weather model is determined for both the surface level and the upper level. The method  300  ends at step  318 . 
         [0040]      FIG. 4  is a functional block diagram of the operation of obtaining initialization data in the system  100  according to an exemplary embodiment of the present invention. The initialization data  402  is obtained from several sources. According to an exemplary embodiment, the initialization data  116  comprises Global Forecast System (GFS)  404 , North America Model (NAM)  406  and Navy Operational Global Atmospheric Prediction System (NOGAPS)  408 , and provides background fields that serve as a model starting point. To establish the ideal mesoscale model, the apparatus  100  examines all of the model runs (ex. MM5 run with GFS for initialization, WRF-ARW run with NAM, etc.). Both the GFS and NAM models are obtained from the National Center for Environmental Prediction (NCEP) data source  410  while NOGAPS is obtained from the Navy at the Fleet Numerical Meteorology and Oceanography Center (FNMOC) data source  412 . The MM5 and WRF models are “community” models, i.e., the developers come from both the National Center for Atmospheric Research and academia. The ARPS model is developed by the University of Oklahoma. The servers  414   1 . . . n  perform TCP/IP requests across the network  416  to obtain the initialization data  116  from the various sources, through file transfer protocol (FTP) and other means. According to an exemplary embodiment, the servers  414   1 . . . n  are a part of a Linux cluster, allowing for parallel execution and thus making feasible a 3 km/1 km domain nesting scenario. 
         [0041]      FIG. 5  is a functional block diagram depicting the generation of a domain model according to user selection in accordance with embodiments of the present invention. Initially, a user launches user interface  104  displaying a website  502  for MTK. The website  502  is divided into a header  504 , a menu  506  and a main content area  508 . From the menu  506 , the user selects the set model domain tab. In the content area  508 , the user selects a sub-area of the world (e.g. US/CANADA) which triggers a display of that particular sub-map of the world with latitude and longitudinal lines. The user uses the cursor  510  to select a domain center point  512  on the map. Based on the user&#39;s selection, a domain model  514  is generated which comprises grid point parameters  516  and domain center point information  512 . The grid point parameters  516  contain latitudinal and longitudinal information and land-use/elevation information, according to an exemplary embodiment. The user is also able to select a coarse-grain domain (a coarser-grained domain with a nested coarse-grained domain) or a fine-grained domain (a finer-grained domain with a nested fine-grained domain). The domain model  514  allows the apparatus  100  to generate a “terrain.deck” file  520  where the domain is designated and the number of grid-points in the x and y direction for both the outer and nested grid are listed along with the type of map projection (Mercator, Equidirectional, and the like) and grid resolution. 
         [0042]    The “terrain.deck” file  520  is executed by processor  202  to generate a “TERRAIN_DOMAIN1” file  524 , “TERRAIN_DOMAIN2” file  526  and the “TER.PLT” (plot) file  528 . The plot file  528  consists of 15 plots depicting various aspects of the two selected domains, such as the domains displayed separately and with contoured height fields. In order to extract the desired frame, the National Center for Atmospheric Research (NCAR) Command Language (NCL) graphics binary med  530  is first executed using the processor  202  to split the plot file into 15 separate frames  532 . The metafile information in the desired frame amongst the frames  532  is converted from a metafile using an NCL binary “ctrans”  534 , running on processor  202 . Ctrans  534  converts the metafile for the desired frame (frame  8 ) into a raster format of the generated image file  536  so a user can view the geometry of the nested domains in the main content area  508  of website  502 . 
         [0043]      FIG. 6  is an illustration of an HTML website representing a user&#39;s operation of the model tool kit for determining an ideal mesoscale weather model implemented in accordance with one or more aspects of the present invention. In other exemplary embodiments, the operations of the present invention are made available as web-services, mobile applications and the like. The user initially launches the user interface  104 , with a website  602  comprising a header  604 , a menu  606  and a content area  608 . The content area  608  loads the first tab of the Model Tool Kit application, where a user selects weather parameters. A user can select weather parameters through select box  610  to optimize r, including, but not limited to, temperature (T), relative humidity (RH), the u-component of the wind, the v-component, winds overall (the average of u-,v-component) or all the parameters (the average of T, RH, u-, and v-components). In another exemplary embodiment, select box  610  is a multiple select box allowing a user to select multiple weather parameters. The user then selects a statistical metric using select box  612 . The statistical metric is used to determine the ideal weather model numerically. Three different statistical measures are used in Model Tool Kit: the mean absolute error (MAE), the root mean square error (RMSE) and Newbold-Granger (N-G) weighting coefficients. For each grid domain and for each hour, a MAE and a RMSE are calculated. Ascertaining the relative strengths and weaknesses of each model when run with the different initialization data is important. Newbold-Granger weighting coefficients enable determining strengths and weaknesses and are used by MTK to determine a normalized weight for each model group ((1) MM5 run with GFS, NAM, and NOGAPS, and (2) WRF-ARW run with the same models) in reference to one of the 4 forecasted parameters. 
         [0044]    The mean absolute error is determined using the following formula: 
         [0000]    
       
         
           
             
               M 
                
               
                   
               
                
               A 
                
               
                   
               
                
               E 
             
             = 
             
               
                 1 
                 / 
                 n 
               
                
               
                 
                   ∑ 
                   
                     k 
                     = 
                     1 
                   
                   n 
                 
                  
                 
                    
                   
                     
                       y 
                       k 
                     
                     - 
                     
                       o 
                       k 
                     
                   
                    
                 
               
             
           
         
       
     
         [0045]    Where (y k , o k ) is the kth of n pairs of forecasts and observations, and the MAE is the arithmetic average of the absolute values of the differences between the members of each pair. The root mean square error is determined according to the following formula: 
         [0000]    
       
         
           
             
               
                 1 
                 / 
                 N 
               
                
               
                 
                   ∑ 
                   
                     n 
                     = 
                     1 
                   
                   N 
                 
                  
                 
                   
                     ( 
                     
                       
                         y 
                         k 
                       
                       - 
                       
                         o 
                         k 
                       
                     
                     ) 
                   
                   2 
                 
               
             
           
         
       
     
         [0046]    Where y k  and o k  are as described for MAE. N is the total number of data pairs. Finally, Newbold-Granger is determined according to the following formula: 
         [0000]    
       
         
           
             
               
                 
                   
                     w 
                     jf 
                   
                   = 
                   
                     [ 
                     
                       
                         ∑ 
                         
                           t 
                           = 
                           
                             T 
                             - 
                             v 
                           
                         
                         
                           T 
                           - 
                           1 
                         
                       
                        
                       
                         ( 
                         
                           
                             X 
                             Tf 
                           
                           - 
                           
                             X 
                             jf 
                           
                         
                         ) 
                       
                     
                     ) 
                   
                 
                 ] 
               
               
                 - 
                 2 
               
             
             / 
             
               
                 ∑ 
                 k 
               
                
               
                 
                   [ 
                   
                     ( 
                     
                       
                         
                           ∑ 
                           
                             t 
                             = 
                             
                               T 
                               - 
                               v 
                             
                           
                           
                             T 
                             - 
                             1 
                           
                         
                          
                         
                           X 
                           Tf 
                         
                       
                       - 
                       
                         X 
                         kf 
                       
                     
                     ) 
                   
                   ] 
                 
                 
                   - 
                   2 
                 
               
             
           
         
       
     
         [0047]    Thus, the weight for one ensemble member (jf) equals the inverse square of the differences between the truth for the forecast (TO and the input forecast (jf) value summed over a given time window divided by the inverse square of the difference between the truth for the forecast and the ensemble member (kf) value summed over a given time window. This inverse square component in the denominator is then summed over all ensemble members. By virtue of introducing the term in the denominator, these weights are normalized. 
         [0048]    The user also has the option to select either coarse-grained (36 km resolution outer domain and 12 km resolution nest) or fine-grained (3 km resolution outer domain and 1 km resolution nest) using selection box  614  according to an exemplary embodiment. The user selects tab  611  next to select the physics packages for each mesoscale model. For every mesoscale model executed by the system, the user must select appropriate physics packages, which will be validated by validator  112 . Once a user has selected the weather parameters, the user selects the next tab  611  to select physics packages for each mesoscale model. Each model has its own set of physics “packages” which are parameterizations that model some physical aspect of the atmosphere, including, but not limited to radiation (shortwave and long-wave), the planetary boundary layer (typically the lowest 1 km of the atmosphere), soil moisture and temperature, cloud dynamics, and the like. 
         [0049]    When the user selects tab  613 , the MTK will determine the best model to use over the selected model parameters and physics packages according to the selected statistical error metric and grid resolution. The MTK displays calculated statistics  618  for each model in content area  608  according to the error metric for each model and are compared to determine the ideal model. In addition, the user selects tab  615  to view the associated graphical plots  620  for each model. Finally, a user selects tab  617  for calculating which mesoscale model is the ideal mesoscale model from the plurality of mesoscale models in the system  100  for both surface level and upper level analyses. 
         [0050]      FIG. 7  is a block diagram of the selection module  108  of  FIG. 1  according to an exemplary embodiment of the present invention. The selection module  108  contains the user selections from the user interface as described with reference to  FIG. 6  above. The weather parameters or model parameters  228  are stored, representing which model parameters the models will execute over. The statistical error metric  128  represents the user selected error determination method to help in establishing the best mesoscale model. Finally, the physics packages selection  230  represents the physics packages selected per mesoscale weather model and the grid resolution  232  represents fine or coarse grained resolution selected by the user. 
         [0051]      FIG. 8  is a functional block diagram showing the operation for converting sigma-level analyses of executed mesoscale models to pressure-level analyses of executed mesoscale models according to an exemplary embodiment of the present invention. MM5 model output is on “sigma” levels. The coordinate system for MM5 is (x, y, sigma). The x and y are a regular lattice of equally spaced points (delta-x=delta-y=horizontal grid spacing in kilometers) forming rows and columns. Sigma is a terrain-following vertical coordinate that is a function of the pressure at the point on the grid (in hydrostatic runs) or the reference state pressure (in non-hydrostatic runs), the surface pressure at the grid point, and the pressure at the top of the model. Sigma varies from 1 at the surface to 0 at the top of the model. The influence of the terrain on the sigma structure diminishes with height, so that the sigma surfaces near the top of the model are nearly parallel. Lacking MM5 data at pressure surfaces, a transformation of MM5 output must be carried out before it can be compared to radiosonde observation (RAOB) data. For example, there is MM5 sigma level output data  802  based on execution of the MM5 model interpolation for backend postprocessing (INTERPB)  804  which is an application provided with the MM5 model to enable transformation from model sigma levels to pressure levels. INTERPB  804  performs the following: 1) computes pressure values, 2) computes relative humidity and height values for the pressure surfaces, 3) computes 2-d values of surface pressure, sea-level pressure, latitude, and longitude and finally, 4) interpolates to pressure levels. The INTERPB module  804  produces MM5 pressure output data  806 , which is then comparable with RAOB data reports. 
         [0052]    Both WRF-ARW and WRF-NMM also produce output on native sigma levels that must be converted to pressure levels for comparison to RAOB truth data. WRF Post Processor  812 , developed by the National Center for Environmental Prediction (NCEP) performs vertical interpolations onto pressure levels and allows for the WRF-ARM sigma-level output data  808  and WRF-NMM sigma-level output data  810  to be processed and transformed into WRF-ARW pressure-level data  814  and WRF-NMM pressure-level data  816 . 
         [0053]      FIG. 9  is a functional block diagram representing storing truth data into the database  102  of the apparatus  100 . The apparatus  100  requests (surface) mesonet and METAR data from Meteorological Assimilation Data Ingest System (MADIS) data source  122  and (upper-air) RAOB data from University of Wyoming data source  123  through network  101 . A script  908  for bilinear interpolation maps and merges this data along with Surface-Level model output data  912  and pressure-level model output data  914  into merged data  910 . The merged data  910  is then stored in the database  102 . According to an exemplary embodiment, the data from data sources  902  and  904  comprises sets of hourly surface reports spanning a 24-h period and the current RAOB reports for the most recent 0000 UT and 1200 UT times. RAOB data is atmospheric balloon sounding data used to evaluate models at upper levels. The bilinear interpolation defines the following variables: 
         [0054]    X=longitude of the observation 
         [0055]    Y=latitude of the observation 
         [0056]    X1=longitude of the left hand side of model grid box 
         [0057]    X2=longitude of the right hand side of model grid box 
         [0058]    Y1=latitude of the bottom of the model grid box 
         [0059]    Y2=latitude of the top of the model grid box 
         [0060]    Z1=observation value at lower left hand corner of model grid box 
         [0061]    Z2=observation value at lower right hand corner of model grid box 
         [0062]    Z3=observation at top left hand corner of model grid box 
         [0063]    Z4=observation value at top right hand corner of model grid box 
         [0064]    Z_B=the interpolated value returned to the main program. 
         [0065]    The main portion of the subroutine function is as follows: 
         [0000]    
       
         
               
               
             
               
             
           
               
                   
               
             
             
               
                 SUBROUTINE 
                 BILINEAR_INTERP(Z,Y,X1,Y1,X2,Y2,Z1,Z2, 
               
               
                   
                 Z3,Z4,Z_B) 
               
               
                 INTEGER ZD,ZDD 
               
             
          
           
               
                   ZD=Z1+((Z2−Z1)/(X2−X1))*(X−X1) 
               
               
                   ZDD=Z3+((Z4−Z3)/(X2−X1))*(X−X1) 
               
               
                   Z_B=ZD+(ZDD−ZD)/(Y2−Y1)*(Y−Y1) 
               
               
                 END 
               
               
                   
               
             
          
         
       
     
         [0066]    The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the present disclosure and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as may be suited to the particular use contemplated. 
         [0067]    As used herein, the data sets which serve as “truth” for the statistical generation: 
         [0068]    (1) the surface “truth” data set is composed of “mesonet” and “METAR” reports pulled from the “Meteorological Assimilation Data Ingest System” (MADIS) FTP site at 2100 MST daily. Datasets for hours 0000-2300 MST are gathered. 
         [0069]    (a) these data sets are in netCDF format with each hourly block of data composed of many parameters 
         [0070]    (b) the first step in processing consists of using the ‘ncdump’ function to break out an hourly block of data
       into files each representing a particular parameter at a particular hour       
 
         [0072]    (c) then:
       looping over the hours (00-23){   looping over the types (mesonet, metar){   looping over the parameters (wd, ws, t2, dewpoint, rh, lat, Ion, rh, terrain){   call C code which reads off the “data” portion of the ncdumped file into a new file       
 
         [0077]      FIG. 10  illustrates a schematic overview of a preferred embodiment program menu showing menu tabs  1 - 3 . The menu comprises  9  tabs, although a lesser or greater number could be utilized without deviating from the scope of the present invention. Menu Tab  1  ( 303 ) is referred to as “model domain,” by which a region such as North America may be selected. Menu Tab  2  ( 306 A) is referred to as “metric and optimization,” and includes select a metric  306 B, select a parameter  306 C, and select a grid  307 D. Menu Tab  3  ( 307 ) is referred to as “setup for new runs,” which comprises the following subsections; 
         [0000]    
       
                 
         
             
             
         
       
     
         [0078]      FIG. 11  illustrates a schematic overview of a preferred embodiment program menu showing menu tabs  4 - 6 (part 1 ). Menu Tab  4  ( 310 A) is referred to as “Data Transfer.” Data pulled via FTP and other means, including Global Forecast System (GFS), North American Model (NAM), and Naval Operational Global Atmospheric Prediction System (NOGAPS), is transferred to a “working” directory. Menu Tab  5  ( 310 A) is referred to as “Model Execution.” Menu Tab  6  ( 314 A) is referred to as “Generate Statistics/Graphics.” A detailed flow chart of this program section is depicted in  FIGS. 15-21 . 
         [0079]      FIG. 12  illustrates a schematic overview of a preferred embodiment program menu showing menu tabs  6  (part  2 ) and  7 . Menu Tab  7  ( 314 A) is referred to as “Determine Best Model.” A detailed flow chart of this program section is depicted in  FIGS. 21-25 . 
         [0080]      FIG. 13  illustrates a schematic overview of a preferred embodiment program menu showing menu tab  8  (Graphics- 319 ) and tab  9  (Overview  320 ). 
         [0081]      FIG. 14  is a schematic depiction of the program section “Determine Best Model” depicting both surface and upper-air inputs. 
         [0082]      FIGS. 15-21  depict parts  1 - 7  of a flow chart for program section “Generate Statistics/Graphics.” 
         [0083]      FIGS. 22-25  depicts parts  1 - 4  of a flow chart for program section “Determine Best Model.” 
         [0084]    The terminology “processor” as used herein may be a microprocessor, computer, multiprocessor, personal computer, CPU, coprocessor, central processor, or the like. 
         [0085]    As used herein the terminology “parameters” refers to numerical or other measurable factors that define a measured system or sets the operating conditions for the system For example, user selected options may comprise temperature (T), relative humidity (RH), the u-component of the wind, the v-component, winds overall (the average of u-,v-component) or all the parameters (the average of T, RH, u-, and v-components) used for calibrating and compiling the mesoscale model. 
         [0086]    As used herein, the terminology “truth data” means the “actual data” or “actual resultant data” or “actual result data” collected by sensors on a specific date and time for a particular weather parameter for use in determining which model has most accurately predicted the weather parameter. For example, “truth data” may comprise measured temperature (T), relative humidity (RH), the u-component of the wind, the v-component, winds overall (the average of u-,v-component) or all the parameters (the average of T, RH, u-, and v-components) that are used for determining the accuracy of predicted measurements. 
         [0087]    As used herein the terminology “physics package” comprises all the components or set of parameters or parameterizations that model and/or characterize some physical aspect of the atmosphere, including, but not limited to radiation (shortwave and long-wave), the planetary boundary conditions, soil moisture and temperature, cloud dynamics, and the like. As used herein, the term “package” comprises a collection of physical rules relating to how the atmosphere functions with regards to radiation, soil moisture, etc. 
         [0088]    As used herein the terminology “mesoscale area,” as used in meteorology, refers to the scale of phenomena that range in size from 1-100 km (0.7-67 mi), intermediate between small (single storm clouds) and synoptic scales. 
         [0089]    As used herein, the “synoptic scale” in meteorology (also known as large scale or cyclonic scale) is a horizontal length scale of the order of 1000 kilometers (about 620 miles) or more, and corresponds a horizontal scale typical of mid-latitude depressions or high and low-pressure areas seen on weather maps, As used herein, the terminology “Mesoscale model” refers to weather models used to predict weather parameters in a mesoscale weather system. 
         [0090]    As used herein, the terminology “Upper Air level” or “upper air” or “upper air atmosphere” refers to the atmospheric level of the mesoscale area. For example, weather in the upper air levels of the atmosphere may be detected using balloons launched periodically to give detailed information about such items as the winds, temperature, pressure, and humidity in the upper level atmosphere, which is plotted on upper level maps, or upper air charts. 
         [0091]    As used herein, the terminology “Initialization data” refers to the initial data comprising background data from which a model can be initially developed. 
         [0092]    As used herein, the terminology “MM5,” which is short for Fifth-Generation Penn State/NCAR Mesoscale Model refers to a regional mesoscale model used for creating weather forecasts and climate projections; a community model maintained by Penn State University and the National Center for Atmospheric Research (NCAR) with the last major release occurring in December 2004. The Weather Research and Forecasting model (WRF) was designed as the successor to MM5 and includes all capabilities available within the MM5. 
         [0093]    As used herein, the terminology “statistical error metric” refers to the metric upon which the accuracy of the model outputs is based. For example, the model outputs may be compared with with “truth” or actually measured data using, for example, the root mean square between two data points. 
         [0094]    As used herein, the standard error is the standard deviation of the sampling distribution of a statistic The term “standard error” refers to an estimate of that standard deviation, derived from a particular sample used to compute the estimate. The standard error of the mean can refer to an estimate of the standard deviation, computed from the sample of data being analyzed at the time. 
         [0095]    As used herein, the terminology “grid resolution” refers to the minimum distance between measured or computed values which can be distinguished by the measurement or analytical method being considered or used. In a coarse grained grid resolution, there are less data points per meter, and in fine-grained there are more data points per meter. 
         [0096]    Various elements, devices, modules and circuits are described above in associated with their respective functions. These elements, devices, modules and circuits are considered means for performing their respective functions as described herein. 
         [0097]    While the foregoing is directed to embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.