An intelligent card acceleration method and system for the field of weather forecasting

By constructing a sophisticated computing scheduling scheme and asynchronous pipelined computing in smart cards, the problem of mismatch between data processing and hardware computing efficiency in weather forecasting is solved, achieving efficient acceleration of weather forecasting.

CN121742914BActive Publication Date: 2026-06-26BEIJING HUAHENG SHENGSHI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING HUAHENG SHENGSHI TECH CO LTD
Filing Date
2026-02-25
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

Existing technologies in weather forecasting suffer from a mismatch between data processing and hardware computing efficiency, making it difficult to meet high real-time requirements. They also exhibit low utilization of computing resources, with communication latency and memory bandwidth becoming performance bottlenecks. Furthermore, general computing architectures have failed to achieve refined adaptation.

Method used

By acquiring historical observation and forecast data of the target area, meteorological element sequences are extracted, and a calculation scheduling scheme is determined based on spatial grid and time step information. Multidimensional data blocks are constructed, and asynchronous pipelined computing is adopted to achieve efficient processing of data blocks in smart cards.

Benefits of technology

It significantly improves the efficiency of computing resource utilization and overall throughput, solves the computing latency and resource conflicts caused by the mismatch between data access mode and hardware execution logic in traditional solutions, and achieves efficient acceleration of weather forecasting.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121742914B_ABST
    Figure CN121742914B_ABST
Patent Text Reader

Abstract

The application provides an intelligent card acceleration method and system for the field of weather forecasting, and relates to the technical field of data processing. First, the application obtains historical observation data and historical prediction data in a prediction period; second, meteorological element sequences are extracted from the historical observation data; then, according to the spatial grid and time step information contained in the historical prediction data, the calculation scheduling scheme of the meteorological element sequences in the intelligent card is determined; then, the meteorological element sequences are processed according to the calculation scheduling scheme to obtain multi-dimensional data blocks; finally, the multi-dimensional data blocks are input into the intelligent card, and asynchronous pipeline calculation is performed according to the calculation scheduling scheme to obtain a prediction acceleration result. The technical scheme provided by the application realizes the deep binding of the calculation task and the hardware resource through data reorganization and instruction pre-arrangement, drives the intelligent card to process different time step data in an asynchronous pipeline mode, realizes the efficient cooperation of the data flow and the calculation flow, and improves the throughput efficiency of the meteorological numerical calculation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing technology, and in particular to a smart card acceleration method and system for weather forecasting. Background Technology

[0002] With the increasing demands for accuracy and timeliness in numerical weather prediction, extremely high requirements are placed on the iterative calculation speed of prediction models. Especially in short-term forecast scenarios, multiple rapid simulations based on massive historical observation data and initial field data need to be performed within minutes to meet the needs of real-time weather warnings.

[0003] Currently, to meet this computational demand, the existing technical solution is to use a general-purpose computing platform combined with an optimized numerical forecasting program. This solution decomposes the complex forecasting model into tasks that can be processed in parallel and distributes them to multiple computing nodes in the cluster. It uses multi-threaded or distributed computing frameworks to accelerate the model solving process and improves the overall computational throughput by optimizing algorithms and caching mechanisms.

[0004] However, this existing solution has significant drawbacks. First, its core computation process still requires frequent exchange of massive intermediate field data between multiple computing nodes, making communication latency and memory bandwidth performance bottlenecks. In meteorological scenarios requiring high temporal resolution and rapid grid-by-grid updates, it is difficult to achieve efficient coordination between computation and data throughput, affecting the overall speedup ratio. Second, the general computing architecture has limited ability to finely adapt to the data flow and computation mode of specific forecast models, failing to achieve deep binding from data organization to hardware execution logic, resulting in low utilization of computing resources. Summary of the Invention

[0005] This application provides a smart card acceleration method and system for the field of weather forecasting, in order to solve the problem in the prior art that the data processing efficiency is not matched with the hardware computing efficiency and that it is difficult to meet the high real-time requirements of weather forecasting.

[0006] Firstly, this application provides a smart card acceleration method for the field of weather forecasting, including:

[0007] Acquire historical observation data and historical forecast data for the target area within the forecast period;

[0008] Meteorological element sequences are extracted from the historical observation data, including temperature sequences, air pressure sequences, and humidity sequences.

[0009] Based on the spatial grid and time step information contained in the historical forecast data, a calculation and scheduling scheme for the meteorological element sequence in the smart card is determined;

[0010] According to the aforementioned calculation and scheduling scheme, the meteorological element sequence is processed to obtain a multidimensional data block;

[0011] The multidimensional data block is input into the smart card, and asynchronous pipelined computation is performed according to the computation scheduling scheme to obtain the prediction acceleration result.

[0012] Optionally, historical observation data and historical forecast data for the target area during the forecast period can be obtained, including:

[0013] Determine the geographical boundary of the target area, and based on the geographical boundary, filter out the original observation records recorded by all monitoring stations located within the geographical boundary during the forecast period from the meteorological database;

[0014] Extract all forecast files covering the geographic boundary within the forecast period from the results storage of the numerical weather prediction system;

[0015] From the original observation records, data points containing temperature, air pressure and humidity values ​​uploaded by each monitoring station are extracted in time stamp order to form the original observation stream;

[0016] From the forecast file, the spatial field data organized in a regular grid form for each forecast time is parsed to form the original forecast stream;

[0017] The original observation stream and the original forecast stream are time-stamped according to a unified time axis and stored in a preset buffer, which serve as the historical observation data and the historical forecast data, respectively.

[0018] Optionally, meteorological element sequences are extracted from the historical observation data, including temperature sequences, air pressure sequences, and humidity sequences, including:

[0019] Read raw data from multiple monitoring points from the historical observation data;

[0020] Based on the identifiers carried in the raw data, the raw data are respectively classified into temperature data group, air pressure data group and humidity data group;

[0021] Based on the maximum data carrying capacity of a single processing unit in the smart card, multiple continuous data segments are extracted from the temperature data group, air pressure data group, and humidity data group respectively to obtain temperature data segments, air pressure data segments, and humidity data segments.

[0022] Combine temperature data segments, air pressure data segments, and humidity data segments within the same time range to form a data unit;

[0023] Arrange all data units in chronological order to obtain a meteorological element sequence.

[0024] Optionally, based on the spatial grid and time step information contained in the historical forecast data, a calculation scheduling scheme for the meteorological element sequence in the smart card is determined, including:

[0025] The historical forecast data is analyzed to obtain the total number of spatial grids and the total number of time steps contained in the historical forecast data;

[0026] The total number of data units in the meteorological element sequence is matched with the total number of spatial grids, and a dedicated set of data units is assigned to each spatial grid.

[0027] Based on the physical arrangement of the computing units inside the smart card, a fixed computing channel is assigned to each spatial grid.

[0028] Based on the time step sequence, the set of data cells corresponding to each spatial grid is decomposed into a series of ordered computational operations;

[0029] According to the chronological order of time steps, the ordered computational operations of all spatial grids are cross-arranged to form continuous control commands;

[0030] The continuous control commands are loaded into the smart card as a computational scheduling scheme.

[0031] Optionally, according to the computational scheduling scheme, the meteorological element sequence is processed to obtain a multidimensional data block package, including:

[0032] Read the continuous control instructions in the computing scheduling scheme to obtain the dedicated data unit set and corresponding computing channel allocated to each spatial grid;

[0033] From the meteorological element sequence, the corresponding data units are obtained sequentially according to the time identifier of the dedicated data unit set;

[0034] The temperature, air pressure, and humidity data in each data unit are combined into a single combined data unit according to the preset arrangement positions in the corresponding calculation channel.

[0035] Combined data units corresponding to different spatial grids at the same time step are horizontally spliced ​​together according to the positional relationship of the spatial grids to form a time step data layer.

[0036] The data layers of each time step are stacked in a preset direction according to the order of the time steps.

[0037] After stacking all time-step data layers, a multidimensional data block is obtained.

[0038] Optionally, the multidimensional data block is input into the smart card, and asynchronous pipelined computation is performed according to the computation scheduling scheme to obtain the prediction acceleration result, including:

[0039] The multidimensional data block is received, and the time step data layer is sent into the input buffer of the smart card in the order of the time step, starting from the first time step data layer.

[0040] The control logic of the smart card is activated, and the computing unit of the smart card is controlled to start working according to the continuous control instructions;

[0041] According to the cross-arrangement order of the continuous control instructions, the first operation in the ordered calculation operation is executed simultaneously on each combined data unit in the currently sent time step data layer.

[0042] After each combined data unit of the first time step data layer completes its first operation in its respective computation channel, the resulting first intermediate result is stored in the corresponding intermediate register. At the same time, the next time step data layer is sent to the input buffer and the first operation in the ordered computation operation is executed.

[0043] According to the time step sequence, the subsequent ordered calculation operations defined in the continuous control instructions are executed alternately on the data layers of different time steps, so that the calculation of the data layer of the previous time step and the calculation of the data layer of the next time step partially overlap in time.

[0044] After the first time step data layer completes all ordered calculation operations in the computing unit, the final result is obtained and the final result is transferred from the intermediate register to the output buffer as the output of the first prediction acceleration unit;

[0045] All time-step data layers are processed in an ordered manner, and the forecast acceleration units corresponding to all time steps are output sequentially. All forecast acceleration units are then integrated to obtain the forecast acceleration results.

[0046] Optionally, combined data units corresponding to different spatial grids at the same time step are horizontally spliced ​​according to the positional relationship of the spatial grids to form a time step data layer, including:

[0047] Read the continuous control command to obtain the computation channel identifier and the arrangement number of the spatial grid corresponding to all spatial grids at the time step;

[0048] Based on the arrangement number, a blank splicing structure corresponding to the geospatial of the forecast area is generated, and the blank splicing structure contains multiple location vacancies;

[0049] Based on the computation channel identifier, extract all combined data units corresponding to the current time step and each spatial grid from the combined data units, and use them as the target combined data unit;

[0050] According to the arrangement number of the spatial grid corresponding to the target combined data unit, they are sequentially placed into the corresponding empty positions in the blank splicing structure;

[0051] After all empty spaces are filled, the filled blank splicing structure is fixed into a complete data layer to obtain the time step data layer.

[0052] Secondly, this application provides a smart card acceleration system for the field of weather forecasting, comprising:

[0053] The acquisition module is used to acquire historical observation data and historical forecast data of the target area within the forecast period;

[0054] The extraction module is used to extract meteorological element sequences from the historical observation data, the meteorological element sequences including temperature sequences, air pressure sequences and humidity sequences;

[0055] The determination module is used to determine the calculation and scheduling scheme of the meteorological element sequence in the smart card based on the spatial grid and time step information contained in the historical forecast data;

[0056] The processing module is used to process the meteorological element sequence according to the calculation scheduling scheme to obtain multidimensional data blocks;

[0057] The execution module is used to input the multidimensional data block into the smart card, perform asynchronous pipelined computation according to the computation scheduling scheme, and obtain the prediction acceleration result.

[0058] Thirdly, this application provides a computing device, including a processing component and a storage component; the storage component stores one or more computer instructions; the one or more computer instructions are invoked and executed by the processing component to implement a smart card acceleration method for the field of weather forecasting as described in the first aspect above.

[0059] Fourthly, this application provides a computer storage medium storing a computer program, which, when executed by a computer, implements a smart card acceleration method for the field of weather forecasting as described in the first aspect.

[0060] This application, starting from the spatiotemporal grid structure of historical forecast data, pre-constructs a refined computational scheduling scheme for meteorological element sequences within the smart card. It maps the spatial grid and time step logic of the forecast model into specific data organization and computational instruction flows at the hardware level, enabling subsequent data block construction and computational execution to closely align with the inherent spatial structure and temporal evolution sequence of the meteorological forecast task. This achieves pre-alignment of the "computational logic" between the forecast data stream and the fixed computing circuit of the smart card, fundamentally avoiding computational delays and resource conflicts caused by the mismatch between data access modes and hardware execution logic in traditional solutions.

[0061] Furthermore, by organizing data into multi-dimensional data blocks according to a scheduling scheme and driving smart cards to execute corresponding asynchronous pipelined computations, data computation tasks at different time steps and in different spatial grids can be executed in overlapping pipelines in the hardware. The movement of data between computing units and the occupation of computing units achieve a high degree of coordination in time. This effectively solves the communication and computation bottlenecks caused by the frequent exchange and global synchronization of a large amount of intermediate data in traditional general-purpose computing platforms in weather forecasting scenarios, and significantly improves the utilization efficiency of computing resources and the overall throughput of the computing process.

[0062] These or other aspects of this application will become more apparent from the description of the following embodiments. Attached Figure Description

[0063] To more clearly illustrate the technical solutions in this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0064] Figure 1 A flowchart of a smart card acceleration method for weather forecasting provided in this application is shown;

[0065] Figure 2 This application provides a schematic diagram of the structure of a smart card acceleration system for weather forecasting.

[0066] Figure 3 A schematic diagram of the structure of a computing device provided in this application is shown. Detailed Implementation

[0067] To enable those skilled in the art to better understand the present application, the technical solution of the present application will be clearly and completely described below with reference to the accompanying drawings.

[0068] In some of the processes described in the specification, claims, and accompanying drawings of this application, multiple operations appearing in a specific order are included. However, it should be clearly understood that these operations may not be executed in the order they appear herein, or may be executed in parallel. The operation numbers, such as 101, 102, etc., are merely used to distinguish different operations and do not themselves represent any execution order. Furthermore, these processes may include more or fewer operations, and these operations may be executed sequentially or in parallel. It should be noted that the descriptions such as "first," "second," etc., in this document are used to distinguish different messages, devices, modules, etc., and do not represent a sequential order, nor do they limit "first" and "second" to different types.

[0069] The technical solutions of this application will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0070] Figure 1 This application provides a flowchart of a smart card acceleration method for weather forecasting, as shown in the following diagram. Figure 1 As shown, the method includes:

[0071] Step 101: Obtain historical observation data and historical forecast data for the target area within the forecast period.

[0072] Optionally, step 101 may specifically include:

[0073] Step 1011: Determine the geographical boundary of the target area, and based on the geographical boundary, filter out the original observation records recorded by all monitoring stations located within the geographical boundary during the forecast period from the meteorological database.

[0074] Step 1012: Extract all forecast files covering the geographic boundary within the forecast period from the results storage of the numerical weather prediction system.

[0075] Step 1013: Extract the data points containing temperature, air pressure and humidity values ​​uploaded by each monitoring station from the original observation records in the order of timestamps to form the original observation stream.

[0076] Step 1014: Parse the spatial field data organized in a regular grid form for each forecast time from the forecast file to form the original forecast stream.

[0077] Step 1015: The original observation stream and the original forecast stream are time-marked according to a unified time axis and stored in a preset buffer as the historical observation data and the historical forecast data, respectively.

[0078] In this step, the target area refers to the geographical area where weather forecasting is planned, usually defined by a polygonal bounding box or a set of latitude and longitude coordinates, used to delineate the spatial scope for data processing and analysis.

[0079] The forecast period refers to a future time interval in which a weather forecast needs to be made. It is used to determine the time range of past data that needs to be acquired and analyzed, such as the next 6 hours, 12 hours, or 24 hours.

[0080] Historical observation data refers to the continuous changes in weather-related physical quantities measured and recorded by various meteorological monitoring stations, such as automatic weather stations, deployed in the target area before the forecast period. It is used to describe the true atmospheric conditions in the past, specifically referring to the sequence of data points containing temperature, air pressure, and humidity values ​​recorded from these monitoring stations in chronological order.

[0081] Historical forecast data refers to the prediction results of future weather conditions in a target area generated by numerical weather prediction systems before the forecast period. It is organized in the form of a regular spatial grid and is used to describe the simulation results of the forecast model on the atmospheric state at past and future times.

[0082] Raw observation records refer to the unprocessed raw measurement data packets collected and uploaded by various monitoring stations and stored in the meteorological database. They typically contain monitoring station IDs, timestamps, and measurement values ​​of various meteorological elements, which are used to extract specific meteorological elements as needed.

[0083] Numerical weather prediction systems are software systems that simulate and predict future weather on supercomputers by solving a set of physical equations describing atmospheric motion, and extract historical forecast result files from their storage system.

[0084] Temperature, air pressure, and humidity values ​​refer to the specific measured values ​​of atmospheric temperature, atmospheric pressure, and air humidity obtained directly from the instruments at the monitoring station. They are the basic data units that constitute historical observation data.

[0085] The raw observation stream refers to the continuous data sequence consisting of data points containing only the values ​​of three elements—temperature, air pressure, and humidity—that are continuously extracted from the raw observation records of various monitoring stations in chronological order. It represents the changes of measured meteorological elements at each station in the target area over time.

[0086] The spatial field data index forecast system outputs values ​​of meteorological elements such as temperature, air pressure, and wind field that cover the entire target area at a specific forecast time and are defined on regular spatial grid points such as latitude and longitude grids. These values ​​describe the distribution of meteorological conditions in the entire area at that time.

[0087] The raw forecast stream refers to the continuous data sequence composed of spatial field data corresponding to each time moment, which is parsed from various forecast files in chronological order of forecast time. It represents the simulation and prediction results of the forecast system on the evolution of the meteorological state of the target area over time.

[0088] A pre-defined buffer refers to a contiguous storage area in computer memory that is pre-allocated to temporarily store intermediate data during processing, and to store the raw observation stream and raw forecast stream generated during processing, respectively.

[0089] In this step, a structured query language command is first submitted to the meteorological database by calling the geospatial query interface. This structured query language command filters out all data records whose geographic coordinates fall within the predefined target area polygon boundary and whose data acquisition timestamp is between the current time and the time interval determined by the forecast duration. The database management system then executes this query, reads the original observation records that meet the conditions from the storage medium and returns them to the program.

[0090] Next, the archive file system of the numerical weather prediction system is accessed. Based on the file naming rules and metadata, all result files whose forecast areas cover the target area and whose forecast start times fall within the same time interval are searched and read. By calling the file input / output interface, the contents of these result files are completely loaded into memory for parsing.

[0091] Next, each raw observation record returned by the database is traversed. A specific data format parsing library is used to accurately extract the station identifier, timestamp field, and numerical fields representing temperature, air pressure, and humidity from the raw observation records. Then, using the station identifier as the key, all records belonging to the same station are grouped. Within each station group, a sorting algorithm is called to sort all records in ascending order based on the timestamp field. After sorting, the temperature, air pressure, and humidity values ​​in each raw observation record are bound to the timestamp to form a standardized data point. All data points are then concatenated in chronological order to generate a raw observation stream for each station.

[0092] Simultaneously, a dedicated grid data decoding library is used to read the header of each forecast file and parse out the grid's starting latitude and longitude, the longitude and latitudinal grid spacing, the number of grid rows and columns, and other definition information. Then, based on this definition information, all data values ​​within the grid row and column index range corresponding to the target area are read from the data body of the file. For each forecast time, the grid point data read together constitute a spatial field data describing the meteorological state at that time. This operation is repeated for all forecast files, and based on the forecast time corresponding to each forecast file, all spatial field data are concatenated in chronological order to form the original forecast stream.

[0093] Finally, a unified timeline based on Coordinated Universal Time (UTC) is established. For each data point in the original observation stream, its original timestamp is preserved and converted to this timeline. For each space field data in the original forecast stream, its corresponding forecast validity is obtained from the file metadata and associated with that space field data as a timestamp. Then, two contiguous storage spaces of preset size are allocated in memory as buffers. The data writing function is called to write the time-stamped original observation stream data into the first buffer in sequence. This buffer is defined as historical observation data. At the same time, the time-stamped original forecast stream data is written into the second buffer in sequence. This buffer is defined as historical forecast data.

[0094] For example, in the 6-hour weather update forecast for region A, region A is first defined as a rectangular area. Then, a query request is sent to the central meteorological database to retrieve all raw data packets uploaded by three automatic weather stations (X, Y, and Z) located within this rectangular area over the past 6 hours. Next, the forecast product storage server is accessed, and based on the filename and metadata, all numerical forecast result files covering region A generated over the past 6 hours are identified and read. Then, the raw data packets of stations X, Y, and Z are disassembled one by one, extracting the time, temperature, air pressure, and humidity readings for each observation. The data from each station is arranged into three continuous data streams in chronological order from morning to evening. Then, the forecast files are parsed, and the meteorological data of all grid points within region A at the corresponding forecast time are extracted from each forecast file to form a series of meteorological state maps for the rectangular area. Finally, all data, whether station streams or state maps, are labeled with a unified time tag. The three station data streams are then stored in a memory area called the observation data cache, and the series of meteorological state maps are stored in another memory area called the forecast data cache for use in subsequent steps.

[0095] This step extracts structurally regular and time-synchronized observation and forecast data streams from heterogeneous data sources through precise spatiotemporal filtering and data parsing, providing standardized input for subsequent processing and avoiding additional preprocessing overhead caused by data inconsistency.

[0096] Step 102: Extract meteorological element sequences from the historical observation data. The meteorological element sequences include temperature sequences, air pressure sequences, and humidity sequences.

[0097] Optionally, step 102 may specifically include:

[0098] Step 1021: Read the raw data from multiple monitoring points from the historical observation data.

[0099] Step 1022: Based on the identifiers carried in the raw data, the raw data is classified into the temperature data group, the air pressure data group, and the humidity data group respectively.

[0100] Step 1023: Based on the maximum data carrying capacity of a single processing unit in the smart card, extract multiple continuous data segments from the temperature data group, air pressure data group, and humidity data group respectively to obtain temperature data segments, air pressure data segments, and humidity data segments.

[0101] Step 1024: Combine the temperature data segment, air pressure data segment, and humidity data segment within the same time range to form a data unit.

[0102] In this step, the meteorological element sequence refers to a collection of data containing various specific meteorological physical quantities that are separated and extracted from historical observation data, arranged in chronological order, and used to describe the continuous evolution of core meteorological elements in the target area over time. It is obtained by classifying the original data of monitoring points according to element type and aligning them by time.

[0103] Temperature series, air pressure series, and humidity series are all components of meteorological element series. Specifically, they refer to an ordered list of all temperature, air pressure, and humidity measurements extracted from historical observation data and arranged in strict ascending order according to timestamps. They are used to characterize the continuous trajectory of atmospheric temperature, pressure, and water vapor changes over time within a target area. They are obtained by sorting and reorganizing the data points in the temperature, air pressure, and humidity data sets by time.

[0104] The raw data of the monitoring point refers to a single record belonging to a single meteorological monitoring station, stored in the historical observation data buffer, containing a unique timestamp and the values ​​of various meteorological elements measured at that time, and is used as the basic data unit for extracting the sequence of each meteorological element.

[0105] Temperature data sets refer to temporary data sets created during the data classification process. These sets collect data items identified and extracted from the raw data of all monitoring points and labeled as temperature. These data are then further segmented and processed to form temperature data sub-segments, which are obtained by traversing and filtering the raw data of the monitoring points.

[0106] Both the air pressure data set and the humidity data set refer to temporary data collections created during the data classification process. These collections gather data items identified and extracted from the raw data of all monitoring points and labeled as air pressure and humidity. They are used for further segmentation and processing in the subsequent stages to form air pressure data segments and humidity data segments, which are obtained by traversing and filtering the raw data of the monitoring points.

[0107] Maximum data capacity refers to the maximum number of data points that a single physical computing unit in a smart card can process in parallel within a single computing cycle. It is a key hardware performance parameter used to determine the number of data points that each continuous data segment should contain when segmenting temperature data groups, air pressure data groups, and humidity data groups.

[0108] A continuous data segment refers to a fragment containing several consecutive data points extracted from a temperature data set, air pressure data set, or humidity data set, according to the original time sequence of the data within the set. The number of data points is determined by the maximum data capacity. It is used to divide a large data set into small data blocks that are adapted to the hardware processing capabilities. It is obtained by performing a sliding window truncation operation based on a fixed length on the data set.

[0109] A temperature data segment refers to a continuous data segment extracted from a temperature data set. It contains multiple temperature measurements within a continuous time period, with a number not exceeding the maximum data capacity. It is used to combine with other element segments within the same time range to form a data unit. It is obtained by performing a segmentation operation on the temperature data set.

[0110] A barometric pressure data segment refers to a continuous data segment extracted from a barometric pressure data set. It contains multiple barometric pressure measurements within a continuous time period, with the number not exceeding the maximum data capacity. It is used to combine with other element segments within the same time range to form a data unit. It is obtained by performing a segmentation operation on the barometric pressure data set.

[0111] A humidity data segment refers to a continuous data segment extracted from a humidity data set. It contains multiple humidity measurements within a continuous time period, with a number not exceeding the maximum data capacity. It is used to combine with other element segments within the same time range to form a data unit. It is obtained by performing a segmentation operation on the humidity data set.

[0112] A data unit refers to a composite data structure generated in the data combination step, which contains a temperature data segment, an air pressure data segment, and a humidity data segment that are completely corresponding within a specific time range. It is used to represent a complete, multi-element synchronous meteorological observation status within that time period. It is the basic logical block for subsequent construction of larger-scale data structures and computational scheduling. It is obtained by binding and packaging the three element data segments with the same time range.

[0113] In this step, the data stored in the historical observation data buffer is accessed sequentially by calling the memory buffer read interface. The read interface returns one data record each time. This record corresponds to the raw data uploaded by a monitoring point at a specific time. It contains the identifier of the monitoring point, a timestamp, and specific values ​​such as temperature, air pressure, and humidity recorded at that timestamp. This interface is called continuously until all data records in the buffer are read, thus completing the acquisition of raw data from all monitoring points.

[0114] Secondly, by parsing the data structure and using keyword matching or field offset positioning techniques, the fields marked as temperature, air pressure, and humidity in each data record are identified. Then, three empty list structures are created in memory, named the temperature data group, air pressure data group, and humidity data group, respectively. For each original data record, the value of its temperature field is added to the end of the temperature data group list, the value of its air pressure field is added to the end of the air pressure data group list, and the value of its humidity field is added to the end of the humidity data group list. This process iterates through all the original data, thereby completing the classification operation of separating the mixed data stream into three independent data sets according to feature type.

[0115] Next, data segmentation is performed. The maximum data capacity parameter is read from the smart card's configuration information. If the parameter value is N, the temperature data group list is processed. Through a loop control, starting from the first element of the temperature data group list, N elements are continuously extracted to form a new list. This new list is a temperature data segment. If there are fewer than N remaining elements at the end of the temperature data group list, these remaining elements are treated as a segment. This operation logic is applied to the air pressure data group list and the humidity data group list. Through the same loop extraction method, a series of air pressure data segments and humidity data segments are generated respectively. This segmentation process is implemented using array slicing technology based on a fixed step size.

[0116] Finally, data alignment and combination operations are performed. All generated data segments are traversed, and the time range covered by each segment is determined by comparing the timestamps carried by the first and last data points in each segment. Then, a matching algorithm is used to find temperature, air pressure, and humidity data segments whose start and end times are exactly the same. Once such a set of three segments is found, a new data structure is created, and the temperature, air pressure, and humidity data segments are encapsulated and bound as its three components. This encapsulated new data structure is defined as a data unit, and this matching and encapsulation process is repeated to create data units for all the three element segments that can be matched with the corresponding time range.

[0117] For example, following the specific implementation of the previous step, firstly, the observation data of three meteorological stations X, Y, and Z are read from the historical observation data memory area. These observation data include records of time, station, temperature, air pressure, and humidity. Secondly, from these observation records, all readings marked as temperature are collected together to form a temperature data group; all readings marked as air pressure are collected together to form an air pressure data group; and all readings marked as humidity are collected together to form a humidity data group. Then, assuming that the smart card's processing unit can process a maximum of 4 data points at a time, it extracts 4 consecutive readings in chronological order from the temperature data group to form multiple temperature data segments. For example, the first temperature data segment contains readings at 12:00, 12:05, 12:10, and 12:15. The same operation is performed on the air pressure data group and the humidity data group to obtain the corresponding air pressure data segment and humidity data segment.

[0118] Then, find segments with the same time range and pair them up. For example, find a temperature data segment with a time range of 12:00-12:15, a barometric pressure data segment with the same time range, and a humidity data segment with the same time range. Then, combine these three segments together to form a data unit that represents the complete temperature, barometric pressure, and humidity observation status during the time period of 12:00-12:15. Finally, perform this operation on all alignable segments to generate a series of such data units.

[0119] This step involves classifying the observation data by feature type and segmenting it according to the processing capabilities of the smart card hardware, ultimately combining the time-aligned feature data into a unified data unit. This process transforms the raw data stream into standardized, time-synchronized data blocks, providing a structurally compatible and directly loadable input format for subsequent parallel computing scheduling and execution, thus optimizing the data processing efficiency in the acceleration hardware.

[0120] Step 103: Based on the spatial grid and time step information contained in the historical forecast data, determine the calculation and scheduling scheme of the meteorological element sequence in the smart card.

[0121] Optionally, step 103 may specifically include:

[0122] Step 1031: Analyze the historical forecast data to obtain the total number of spatial grids and the total number of time steps contained in the historical forecast data.

[0123] Step 1032: Match the total number of data units in the meteorological element sequence with the total number of spatial grids, and assign a dedicated set of data units to each spatial grid.

[0124] Step 1033: Assign a fixed computing channel to each spatial grid according to the physical arrangement of the computing units inside the smart card.

[0125] Step 1034: Decompose the set of data cells corresponding to each spatial grid into a series of ordered computational operations according to the order of time steps.

[0126] Step 1035: According to the chronological order of time steps, cross-arrange the ordered computational operations of all spatial grids to form continuous control commands.

[0127] Step 1036: Load the continuous control command into the smart card as a computing scheduling scheme.

[0128] In this step, the spatial grid index forecasting system divides the target geographic area into numerous small, regularly shaped and uniformly arranged regional units during simulation calculations. Each unit is represented by a grid point or center point, which is used to discretize the spatial distribution and changes of meteorological elements.

[0129] The time-step information index forecast system uses a series of continuous, equally timed forecast time points in its simulation calculations to discretize and describe the process of weather forecast results progressing over time.

[0130] The computational scheduling scheme refers to a set of detailed instructions and control logic that specifies how to allocate data in the meteorological element sequence to specific hardware resources of the smart card, and in what order and time these data are processed in the hardware. It is used to guide the smart card to complete the entire forecast acceleration computation process efficiently and orderly.

[0131] The total number of spatial grids refers to the total number of regular spatial grids covering the target forecast area, reflecting the spatial resolution of the forecast model and used to determine the number of spatial computing tasks that need to be processed in parallel.

[0132] The total number of time steps refers to the total number of snapshots of all forecast results output by the numerical weather prediction system from the start time to the end time within the forecast period. It reflects the temporal resolution of the forecast model and is used to determine the number of steps in the calculation process in the time dimension.

[0133] A data unit set refers to a series of data units allocated to a specific spatial grid. These data units are usually continuous or related in time and are used to represent all meteorological observation inputs associated with that spatial grid. It is obtained by logically dividing all data units in the meteorological element sequence based on the total number of grids.

[0134] Continuous control instructions refer to a stream of instructions that consists of a series of instructions arranged in a specific order to control the smart card computing unit to perform specific operations. These instructions are cross-arranged according to time steps and spatial grids, and are used to precisely control the smart card hardware to perform asynchronous pipelined computing. They are obtained by cross-arranging the ordered computing operations of all spatial grids.

[0135] In this step, the meteorological data format parsing library is first invoked to perform structural parsing on the data stored in the historical forecast data buffer, and the header information of the data file is read. By parsing the grid definition parameters, the number of grid points in the east-west direction and the number of grid points in the north-south direction are obtained. Then, these two numbers are multiplied to calculate the total number of spatial grids. At the same time, the forecast start time, end time, and time interval parameters are parsed from the same header information. By performing the calculation process of calculating the time difference between the end time and the start time, dividing by the time interval, and then adding one, the total number of time steps is obtained.

[0136] Secondly, the average allocation algorithm is used to group the data units in the meteorological element sequence. First, the generated meteorological element sequence is traversed, and the total number of data units it contains is counted. Then, the total number of data units is divided by the total number of spatial grids to obtain an integer value as the base number of data units to be allocated to each spatial grid. Next, an empty array is created with a length equal to the total number of spatial grids. Each element in the array is initialized as an empty list, and each list will serve as a dedicated set of data units. Finally, all data units in the meteorological element sequence are traversed sequentially, and each data unit is added to the corresponding set of data units in turn using a circular index. When the number of data units in a list reaches the aforementioned base number, the circular index points to the next list to continue adding, thus completing the allocation operation.

[0137] Next, by executing a hardware resource mapping algorithm, physical computing channels are bound to the spatial grid. The hardware configuration file of the smart card is read, and the row and column layout of the computing unit array is obtained by parsing the topology description information in the configuration file, thereby determining the number of available independent computing channels and their identifiers. Then, according to a predefined mapping rule, such as the sequential correspondence rule, a unique and fixed computing channel is specified from the list of available computing channel identifiers for each determined spatial grid. This mapping relationship is recorded in a mapping table.

[0138] Then, by performing computational task decomposition operations, an ordered operation sequence is generated for each data unit set. The data unit sets generated for each spatial grid are traversed. For each data unit set, the data units are first sorted according to their timestamps to obtain a list of data units arranged in time step order. Then, the first data unit in the data unit list generates the first computational operation instruction, the second data unit generates the second computational operation instruction, and so on, until the last data unit in the data unit list generates the last computational operation instruction. These generated computational operation instructions are then linked together according to the order of their corresponding data units in the list to form an ordered computational operation list. This computational operation list is the ordered computational operation chain of the spatial grid.

[0139] Then, by executing the instruction cross-arrangement algorithm, all ordered computation operation chains are integrated to generate a unified instruction flow. First, the total number of time steps T is determined. The algorithm iterates through all ordered computation operation chains of spatial grids in each iteration, and extracts the computation operation corresponding to the current time step number from each chain. Then, these computation operations extracted from different chains but belonging to the same time step are arranged into an instruction block according to the predetermined order of their spatial grids, such as grid number order. Then, the T instruction blocks generated in the loop are sequentially concatenated together through a linking operation according to the order of the time steps to form a complete, continuous instruction sequence containing all time steps and spatial grid computation tasks, i.e., continuous control instructions.

[0140] Finally, by calling the smart card's device driver interface, the instruction loading and writing operations are performed. The generated continuous control instructions are transferred from the host memory to the smart card's instruction memory through the instruction transfer function provided by the device driver. Once the smart card's control unit receives and stores the instruction stream, this instruction stream loaded into the smart card constitutes the computational scheduling scheme for subsequent control hardware to perform specific calculations.

[0141] For example, following the specific implementation of the previous step, firstly, the target area is analyzed from historical forecast data to have a total of 9 spatial grids and 3 time steps. Secondly, the 27 data units in the meteorological element sequence are evenly distributed among the 9 spatial grids, with each spatial grid receiving a dedicated set containing 3 data units, corresponding to the 3 time steps. Next, based on the physical arrangement of the computing units inside the smart card, such as 3 columns of computing units, spatial grids 1-3, 4-6, and 7-9 are fixedly mapped to the computing channels of the first, second, and third columns, respectively. Then, computing operations are generated sequentially for the 3 data units of each spatial grid, forming an ordered computing operation chain for that spatial grid. Subsequently, instructions are cross-arranged: first, all operations of the spatial grids at time step 1 are extracted and arranged according to grid order; then, operations at time step 2 are extracted and arranged in the same way; finally, operations at time step 3 are extracted and arranged, and these three segments of instructions are connected in chronological order to form a complete continuous control instruction. Finally, this continuous control instruction is loaded into the smart card through the driver interface, and this continuous control instruction stream becomes the computing scheduling scheme for subsequent control hardware to perform calculations.

[0142] This step precisely maps computational tasks to smart card hardware resources by analyzing the spatiotemporal structure of forecast data, and orchestrates the spatiotemporal computational steps into a coherent instruction flow. This achieves pre-planning and deep binding of the computation process at the hardware level, eliminates dynamic scheduling overhead, and lays the core control foundation for subsequent efficient and conflict-free asynchronous pipelined computation.

[0143] Step 104: According to the calculation and scheduling scheme, the meteorological element sequence is processed to obtain a multidimensional data block.

[0144] Optionally, step 104 may specifically include:

[0145] Step 1041: Read the continuous control instructions in the computing scheduling scheme to obtain the dedicated data unit set and corresponding computing channel allocated to each spatial grid.

[0146] Step 1042: Obtain the corresponding data units sequentially from the meteorological element sequence according to the time identifier of the dedicated data unit set.

[0147] Step 1043: Combine the temperature data, air pressure data, and humidity data in each data unit into a combined data unit according to the preset arrangement position in the corresponding calculation channel.

[0148] Step 1044: Combined data units corresponding to different spatial grids at the same time step are horizontally spliced ​​together according to the positional relationship of the spatial grids to form a time step data layer.

[0149] Optionally, step 1044 may specifically include the following steps: reading the continuous control command to obtain the computation channel identifiers and arrangement numbers of all spatial grids at the time step; generating a blank splicing structure corresponding to the geographic space of the forecast area according to the arrangement numbers, the blank splicing structure containing multiple location slots; extracting all combined data units corresponding to the current time step and each spatial grid from the combined data units according to the computation channel identifiers, as target combined data units; sequentially placing the target combined data units into the corresponding location slots in the blank splicing structure according to the arrangement numbers of the spatial grids corresponding to the spatial grids; after all location slots are filled, fixing the filled blank splicing structure into a complete data layer to obtain the time step data layer.

[0150] Step 1045: Stack the data layers of each time step in a preset direction according to the order of the time steps.

[0151] Step 1046: After stacking all time step data layers, a multidimensional data block is obtained.

[0152] In this step, a multidimensional data block refers to a structured collection of meteorological data in three or higher dimensions. It contains all grid points of the forecast area in the spatial dimension, all time steps in the temporal dimension, and data such as temperature, air pressure, and humidity in the element dimension. It is used as the standard input format for smart card calculations.

[0153] A dedicated data unit set refers to a set of data units explicitly recorded in the computational scheduling scheme and allocated to each specific spatial grid. It is a subset of meteorological element sequences and is used as the basic data for constructing the computational input of that spatial grid.

[0154] A time identifier refers to the metadata information carried by a data unit that uniquely identifies its time range or time step. It is used for time matching during data retrieval and is derived from the timestamp of the original observation data when the data unit is generated.

[0155] A combined data unit refers to a newly created data structure in which temperature, air pressure, and humidity data from a single data unit are integrated according to a preset arrangement rule to form a basic element in the time step data layer. This is achieved by rearranging and combining the internal elements of the data unit.

[0156] The time step data layer refers to a two-dimensional planar data structure. This plane represents a set of data in which the combined data units corresponding to all spatial grids in the entire forecast area are arranged according to their geographic spatial location relationship at a specific time step. It is used to form a time slice in a multidimensional data block and is obtained by horizontally splicing the combined data units of all spatial grids at the same time step.

[0157] A computing channel identifier is a unique number or code assigned to each spatial grid to identify a specific physical computing unit within a smart card, used to locate the target computing channel for data during data assembly.

[0158] The sequence number refers to a unique, incremental sequence number assigned to each spatial grid within the forecast area according to a predefined spatial order, such as from left to right or from top to bottom. This sequence number is used to determine the absolute position of the spatial grid when it is horizontally stitched together. It is obtained by parsing the grid definition information of the forecast data and combining it with the preset sorting rules.

[0159] The blank splicing structure refers to a data structure framework created in memory whose shape and size correspond perfectly to the spatial grid arrangement of the forecast area. An empty data storage location is reserved for each grid position to serve as a temporary container for assembling the time step data layer.

[0160] The target combined data unit refers to those combined data units that are selected from all the generated combined data units and simultaneously satisfy the conditions of belonging to the current time step being processed and belonging to a specific spatial grid. They are used to fill the corresponding positions in the blank splicing structure and are obtained by performing a dual conditional filtering operation on the set of combined data units based on the time step and the computation channel identifier.

[0161] In this step, the instruction decoder module is first invoked to parse the continuous control instructions stored in the smart card instruction memory or host memory buffer. The instruction decoder traverses the metadata segments in the instruction stream according to the predefined instruction format specifications, and extracts the description information of the exclusive data unit set allocated to each spatial grid. This information includes a list of time identifiers for the data units in the set. At the same time, the decoder extracts the mapping table between spatial grid identifiers and computing channel identifiers recorded in the continuous control instructions.

[0162] Secondly, by executing a binary search data query algorithm, target data units are obtained from the meteorological element sequence. Each dedicated data unit set is described, and for each time identifier contained in the description, it is used as a query key to perform a search operation in a hash table pre-built for the meteorological element sequence, with time identifiers as keys and data unit pointers as values. If a matching key is found, the hash table immediately returns the corresponding data unit pointer. If sequential storage is used, a binary search is performed in the array of meteorological element sequences, and the data unit is located by comparing time identifiers. By performing this search operation, a set of data units that is completely consistent with the scheduling scheme description is efficiently obtained.

[0163] Next, by performing memory copy and structure reshaping operations, a combined data unit is created. For the specific data unit being processed, its internal data fields are accessed to read its temperature, air pressure, and humidity data respectively. At the same time, the obtained mapping table is queried to find the computation channel identifier corresponding to the spatial grid to which this data unit belongs, and then the preset data arrangement order for this computation channel is obtained, such as temperature, air pressure, and humidity. Then, a new fixed-size buffer is allocated in memory, and memory copy instructions are executed sequentially according to the obtained arrangement order to copy the values ​​of temperature, air pressure, and humidity data to the specified offset position of the new buffer. After the copy is completed, this new buffer is encapsulated and marked as a combined data unit. By performing this operation on all data units, a complete set of combined data units is generated.

[0164] Furthermore, by performing structure initialization, conditional filtering, and sequential filling operations, a time-step data layer is constructed. First, the current time-step number T is determined. Then, the instruction decoder is called again to parse the continuous control instructions. By matching the time step T, the list of computational channel identifiers for all spatial grids under that time step and the list of permutation numbers for these grids are extracted. Next, based on the maximum value N in the permutation number list, the memory allocation function is called to request a contiguous memory space that can accommodate N standard combined data units, and each position is initialized to the null value NULL, thereby generating a blank concatenated structure. After that, a conditional filtering loop is executed to traverse all the generated combined data units. First, check if the time identifier of each cell is equal to T, and whether its associated computation channel identifier exists in the list just extracted. Only combined data cells that meet both of these conditions will be selected as target combined data cells. Then, perform a sequential filling operation, traversing the target combined data cells and copying their data content to the corresponding position in the blank splicing structure according to the arrangement number of the grid corresponding to each cell. After filling is completed, check the blank splicing structure to confirm that there are no empty positions (NULL). Then, lock it as an immutable and complete time step data layer. Repeat this process for each time step to generate the data layer for all time steps.

[0165] Then, by performing continuous memory block copying and stacking operations, a three-dimensional data structure is constructed, allocating a larger, three-dimensional logical continuous storage space in memory. Subsequently, each time step data layer is processed one by one according to the time step number from 1 to M. For the i-th time step data layer, its starting address offset in the three-dimensional storage space is calculated. The offset is equal to the size of the layer multiplied by (i-1). Then, an efficient memory copy library function is called to copy all the data contained in the i-th time step data layer from its original address to the calculated offset address in the three-dimensional storage space in one go. This process physically stacks each two-dimensional data layer in time order in the preset depth direction, and completes the stacking by performing M such copying operations.

[0166] Finally, after verifying that all M time-step data layers have been successfully copied to the three-dimensional storage space without data loss, this complete three-dimensional storage space object is identified as the final multidimensional data block.

[0167] For example, following the specific implementation of the previous step, the continuous control instructions are first parsed to obtain the dedicated data unit sets of grids 1-9, such as grid 1 corresponding to data at times T1, T2, and T3, and the mapping relationship between grids and computing channels, such as grid 1 mapping to channel C1. Next, the corresponding data units are extracted from the meteorological element sequence, and each data unit is reorganized into a combined data unit according to the preset order of each mapping channel, such as temperature-pressure-humidity for C1. Then, to generate the data layer at time T1, a splicing structure with 9 empty slots is created in memory. The 9 units at time T1 are selected from the combined data units and filled into the corresponding empty slots according to their grid arrangement number, forming the T1 data layer. This process is repeated for times T2 and T3. Then, a three-dimensional storage area is allocated, and the T1, T2, and T3 data layers are copied sequentially to their first, second, and third layers. Finally, after the three layers are stacked, this structured three-dimensional dataset is defined as a multidimensional data block.

[0168] This step transforms the linear sequence of elements into a structured multidimensional data block based on the scheduling scheme. This data block is strictly aligned with the hardware computing logic in terms of space, time, and elements, achieving a precise conversion from raw data to the optimal input format for the hardware. This provides directly usable adapted data to maximize the computing throughput and execution efficiency of the smart card.

[0169] Step 105: Input the multidimensional data block into the smart card, perform asynchronous pipelined computation according to the computation scheduling scheme, and obtain the prediction acceleration result.

[0170] Optionally, step 105 may specifically include:

[0171] Step 1051: Receive the multidimensional data block and, in the order of time steps, send the time step data layer into the input buffer of the smart card, starting from the first time step data layer.

[0172] Step 1052: Activate the control logic of the smart card and control the computing unit of the smart card to start working according to the continuous control instructions.

[0173] Step 1053: According to the cross-arrangement order of the continuous control instructions, the first operation in the ordered calculation operation is executed simultaneously on each combined data unit in the currently sent time step data layer.

[0174] Step 1054: After each combined data unit of the first time step data layer completes the first operation in its respective computing channel, the first intermediate result is stored in the corresponding intermediate register. At the same time, the next time step data layer is sent to the input buffer and the first operation in the ordered computing operation is executed.

[0175] Step 1055: According to the time step sequence, the subsequent ordered calculation operations defined in the continuous control instruction are executed alternately on the data layers of different time steps, so that the calculation of the data layer of the previous time step and the calculation of the data layer of the next time step partially overlap in time.

[0176] Step 1056: After the first time step data layer completes all ordered calculation operations in the computing unit, the final result is obtained, and the final result is transferred from the intermediate register to the output buffer as the output of the first prediction acceleration unit.

[0177] Step 1057: Perform ordered calculations on all time step data layers, output the forecast acceleration units corresponding to all time steps in sequence, and integrate all forecast acceleration units to obtain the forecast acceleration result.

[0178] In this step, the forecast acceleration result refers to the final data result set output by the smart card after completing asynchronous pipeline calculation, which is obtained by accelerating the correction or calculation of the original weather forecast data and is used directly for real-time weather forecasting.

[0179] The input buffer refers to a dedicated high-speed memory area inside the smart card used to temporarily store time-step data received from the host and to be processed by the computing unit. It is used to achieve high-speed data throughput and decoupling between the host and the smart card, and is obtained through the physical memory partitioning of the smart card.

[0180] The first intermediate result refers to the temporary calculation result generated by a certain computing channel in the smart card after executing the first ordered calculation operation in the continuous control instruction when processing the combined data unit corresponding to its allocated spatial grid. It is used as the input for subsequent calculation operations and is obtained by the computing unit performing the first operation on the combined data unit.

[0181] The first operation refers to the first specific computation instruction defined in the ordered computation operation chain for each spatial grid in the continuous control instructions. It is used to perform preliminary processing on the input data and is extracted from the continuous control instructions through instruction parsing.

[0182] An intermediate register is a dedicated storage unit within the smart card's internal computing unit used to temporarily store intermediate calculation results generated by the data layer of the time step being processed by the current computing channel. It is used to maintain and transfer intermediate data in the pipeline and is implemented through the smart card's hardware register circuitry.

[0183] The output buffer refers to a dedicated high-speed memory area inside the smart card used to temporarily store the final calculation results before they are transmitted back to the host. It is used to achieve high-speed output of result data between the smart card and the host and is obtained through the allocation of the smart card's physical memory.

[0184] The forecast acceleration unit refers to the final calculation result data block corresponding to the time step output by the smart card after completing all ordered calculation operations on the combined data units corresponding to all spatial grids within the data layer of a complete time step. It is a basic component of the forecast acceleration result.

[0185] In this step, firstly, by initiating direct memory access transfer, the first time step data layer of the multidimensional data block is copied from the host memory to the input buffer of the smart card. Secondly, a start command is sent to the smart card control core through the driver interface. The control core then reads and parses the loaded continuous control commands and sends the control signals to all computing units through the continuous control command distribution network, activating the computing units to start working. Next, the smart card control core sends the first command fragment to all computing channels simultaneously through the command broadcast mechanism. Each computing channel reads its own combined data unit from the input buffer through parallel data fetching operations and synchronously executes the first operation defined in the command fragment, completing the first parallel calculation of the current time step data layer.

[0186] Then, each computing channel writes the first intermediate result generated after completing the first operation into its respective intermediate register through the pipeline state machine. At the same time, the control core triggers the next DMA transfer, sending the data layer of the next time step into the free area of ​​the input buffer. Subsequently, the control core broadcasts the next instruction segment, and each channel reads the new data and executes its first operation, realizing the overlap of computation and data prefetching.

[0187] The smart card then uses a pipeline scheduling algorithm based on the instruction sequence list to control each computing channel to alternately process subsequent operations of the data layer at different time steps according to the instruction stream. While the intermediate result of the previous time step is being calculated in subsequent pipeline stages, the front end of the computing channel has already started processing the operation of the next time step, achieving pipeline parallelism in the time dimension. Finally, when the computing channel completes all operations on the data layer of the first time step, the smart card output control logic uses status bit detection to transfer the final result of the channel from the intermediate register to the output buffer, and notifies the host to read it through an interrupt signal, forming the first prediction acceleration unit.

[0188] Finally, the host program monitors the output buffer through polling or interrupt response mechanisms and initiates DMA reads to transfer the ready forecast acceleration units to the host memory. After all time step units have been read, the host integrates these units into a complete forecast acceleration result in chronological order through memory splicing operations.

[0189] For example, following the specific implementation of the previous step, firstly, the T1 data layer of the multidimensional data block is sent to the smart card input buffer via DMA, and a start command is sent; secondly, the smart card control core drives all computing channels to process the T1 layer data in parallel according to the pre-stored instructions, executes its first operation, and temporarily stores the result in an intermediate register; at the same time, the T2 data layer is sent to another area of ​​the buffer by DMA. After the first operation of the T1 layer is completed, the control core immediately schedules each channel to process the first operation of the T2 layer, while subsequent operations of the T1 layer continue in the pipeline, and the T3 data layer is then prefetched;

[0190] In this way, the calculations at different time steps are executed overlappingly in the pipeline. When all operations at layer T1 are completed, the final result is sent to the output buffer and read by the host as the first forecast acceleration unit. Subsequently, the results of layers T2 and T3 are generated and output in sequence. Finally, the host integrates the forecast acceleration units of all time steps in sequence to obtain the final forecast acceleration result.

[0191] This step utilizes an instruction-driven asynchronous pipelined computing mechanism to enable the smart card to overlap computation and data transmission when processing data at different time steps, as well as to allow for the parallel execution of computation tasks at different time steps on the pipeline. This effectively hides data I / O latency and some computation latency, fully leveraging the hardware's parallel and pipelined capabilities. As a result, while maintaining computational complexity, it improves the overall throughput efficiency of weather forecast calculations, achieving a substantial acceleration of the forecasting process.

[0192] Figure 2 This application provides a schematic diagram of a smart card acceleration system for weather forecasting, as shown below. Figure 2 As shown, the system includes:

[0193] Module 21 is used to acquire historical observation data and historical forecast data of the target area during the forecast period;

[0194] Extraction module 22 is used to extract meteorological element sequences from the historical observation data, the meteorological element sequences including temperature sequences, air pressure sequences and humidity sequences;

[0195] The determination module 23 is used to determine the calculation and scheduling scheme of the meteorological element sequence in the smart card based on the spatial grid and time step information contained in the historical forecast data;

[0196] Processing module 24 is used to process the meteorological element sequence according to the calculation scheduling scheme to obtain multidimensional data blocks;

[0197] The execution module 25 is used to input the multidimensional data block into the smart card, perform asynchronous pipelined calculation according to the calculation scheduling scheme, and obtain the prediction acceleration result.

[0198] Figure 2 The aforementioned smart card acceleration system for weather forecasting can perform... Figure 1 The implementation principle and technical effects of the smart card acceleration method for weather forecasting described in the illustrated embodiment will not be repeated here. The specific methods by which each module and unit performs operations in the smart card acceleration system for weather forecasting described in the above embodiments have been described in detail in the embodiments related to this method, and will not be elaborated upon here.

[0199] In one possible design, Figure 2 The smart card acceleration system for weather forecasting shown in the embodiment can be implemented as a computing device, such as... Figure 3 As shown, the computing device may include a storage component 31 and a processing component 32;

[0200] The storage component 31 stores one or more computer instructions, wherein the one or more computer instructions are invoked and executed by the processing component 32.

[0201] The processing component 32 is used for the above Figure 1 The above embodiment describes a smart card acceleration method for the field of weather forecasting.

[0202] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.

Claims

1. A smart card acceleration method for weather forecasting, characterized in that, include: Acquire historical observation data and historical forecast data for the target area within the forecast period; Meteorological element sequences are extracted from the historical observation data, including temperature sequences, air pressure sequences, and humidity sequences. Based on the spatial grid and time step information contained in the historical forecast data, a computation scheduling scheme for the meteorological element sequence in the smart card is determined, including: parsing the historical forecast data to obtain the total number of spatial grids and the total number of time steps contained in the historical forecast data; mapping the total number of data units in the meteorological element sequence to the total number of spatial grids, and assigning a dedicated set of data units to each spatial grid; assigning a fixed computation channel to each spatial grid according to the physical arrangement of the computation units inside the smart card; decomposing the set of data units corresponding to each spatial grid into a series of ordered computation operations according to the order of the time steps; cross-arranging the ordered computation operations of all spatial grids according to the order of the time steps to form continuous control instructions; and loading the continuous control instructions into the smart card as the computation scheduling scheme. According to the computational scheduling scheme, the meteorological element sequence is processed to obtain a multidimensional data block, including: reading the continuous control instructions in the computational scheduling scheme to obtain the dedicated data unit set and corresponding computational channel allocated to each spatial grid; obtaining the corresponding data units sequentially from the meteorological element sequence according to the time identifier of the dedicated data unit set; merging the temperature data, air pressure data, and humidity data in each data unit into a combined data unit according to the preset arrangement position in the corresponding computational channel; horizontally splicing the combined data units corresponding to different spatial grids at the same time step according to the positional relationship of the spatial grids to form a time step data layer; stacking the time step data layers in a preset direction according to the chronological order of the time steps; and obtaining the multidimensional data block after completing the stacking of all time step data layers. The process involves inputting the multidimensional data block into the smart card and performing asynchronous pipelined computation according to the computation scheduling scheme to obtain the prediction acceleration result. This includes: receiving the multidimensional data block; sending the time-step data layer into the input buffer of the smart card, starting from the first time-step data layer, according to the time-step sequence; activating the control logic of the smart card and controlling the computing units of the smart card to start working according to the continuous control instructions; simultaneously executing the first operation in the ordered computation operation for each combined data unit in the currently input time-step data layer according to the cross-arrangement order of the continuous control instructions; and storing the first intermediate result generated after each combined data unit in the first time-step data layer completes its first operation in its respective computation channel into the corresponding intermediate register. Simultaneously, the next time step data layer is fed into the input buffer and the first operation in the ordered computation is executed. Following the time step order, subsequent ordered computation operations defined in the continuous control instructions are executed alternately on different time step data layers, so that the computation of the previous time step data layer and the computation of the next time step data layer partially overlap in time. When the first time step data layer completes all ordered computation operations in the computation unit, the final result is obtained and transferred from the intermediate register to the output buffer as the first prediction acceleration unit output. Ordered computation operations are performed on all time step data layers, and the prediction acceleration units corresponding to all time steps are output sequentially. All prediction acceleration units are then integrated to obtain the prediction acceleration result.

2. The method according to claim 1, characterized in that, Obtain historical observation data and historical forecast data for the target area within the forecast period, including: Determine the geographical boundary of the target area, and based on the geographical boundary, filter out the original observation records recorded by all monitoring stations located within the geographical boundary during the forecast period from the meteorological database; Extract all forecast files covering the geographic boundary within the forecast period from the results storage of the numerical weather prediction system; From the original observation records, data points containing temperature, air pressure and humidity values ​​uploaded by each monitoring station are extracted in time stamp order to form the original observation stream; From the forecast file, the spatial field data organized in a regular grid form for each forecast time is parsed to form the original forecast stream; The original observation stream and the original forecast stream are time-stamped according to a unified time axis and stored in a preset buffer, which serve as the historical observation data and the historical forecast data, respectively.

3. The method according to claim 1, characterized in that, Meteorological element sequences are extracted from the historical observation data, including temperature sequences, air pressure sequences, and humidity sequences, including: Read raw data from multiple monitoring points from the historical observation data; Based on the identifiers carried in the raw data, the raw data are respectively classified into temperature data group, air pressure data group and humidity data group; Based on the maximum data carrying capacity of a single processing unit in the smart card, multiple continuous data segments are extracted from the temperature data group, air pressure data group, and humidity data group respectively to obtain temperature data segments, air pressure data segments, and humidity data segments. Combine temperature data segments, air pressure data segments, and humidity data segments within the same time range to form a data unit; Arrange all data units in chronological order to obtain a meteorological element sequence.

4. The method according to claim 1, characterized in that, Combined data units corresponding to the same time step but different spatial grids are horizontally spliced ​​according to the positional relationship of the spatial grids to form a time step data layer, including: Read the continuous control command to obtain the computation channel identifier and the arrangement number of the spatial grid corresponding to all spatial grids at the time step; Based on the arrangement number, a blank splicing structure corresponding to the geospatial of the forecast area is generated, and the blank splicing structure contains multiple location vacancies; Based on the computation channel identifier, extract all combined data units corresponding to the current time step and each spatial grid from the combined data units, and use them as the target combined data unit; According to the arrangement number of the spatial grid corresponding to the target combined data unit, they are sequentially placed into the corresponding empty positions in the blank splicing structure; After all empty spaces are filled, the filled blank splicing structure is fixed into a complete data layer to obtain the time step data layer.

5. A smart card acceleration system for the field of weather forecasting, applied to the smart card acceleration method for the field of weather forecasting as described in any one of claims 1-4, characterized in that, include: The acquisition module is used to acquire historical observation data and historical forecast data of the target area within the forecast period; The extraction module is used to extract meteorological element sequences from the historical observation data, the meteorological element sequences including temperature sequences, air pressure sequences and humidity sequences; The determination module is used to determine the calculation and scheduling scheme of the meteorological element sequence in the smart card based on the spatial grid and time step information contained in the historical forecast data; The processing module is used to process the meteorological element sequence according to the calculation scheduling scheme to obtain multidimensional data blocks; The execution module is used to input the multidimensional data block into the smart card, perform asynchronous pipelined computation according to the computation scheduling scheme, and obtain the prediction acceleration result.

6. A computing device, characterized in that, It includes a processing component and a storage component; the storage component stores one or more computer instructions; the one or more computer instructions are invoked and executed by the processing component to implement a smart card acceleration method for weather forecasting as described in any one of claims 1 to 4.

7. A computer storage medium, characterized in that, The device stores a computer program, which, when executed by a computer, implements a smart card acceleration method for the field of weather forecasting as described in any one of claims 1 to 4.

Citation Information

Patent Citations

  • CN117270082A

  • CN118349795A