Abstract:
Aspects of the disclosure can relate to a process for transmitting a pump-off pressure profile for formation integrity testing within a limited bandwidth. For example, a process may include measuring pump-off pressure data. The pump-off pressure data represents the pump-off pressure profile. The method also includes determining, from the pump-off pressure data, a pump-off pressure data portion corresponding to a formation integrity testing characteristic. The method also includes compressing pump-off pressure data portion with a compression protocol to produce compression bits. The compression bits representing the pump-off pressure data portion corresponding to the formation integrity testing characteristic. The method also includes transmitting, via a communication module, the compression bits to a computing device.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    The present application claims priority to U.S. Provisional Application 62/158,614 filed May 8, 2015, the entirety of which is incorporated by reference. 
     
    
     FIELD OF THE INVENTION 
       [0002]    Aspects of the disclosure relate to oil and gas drilling and the recovery of hydrocarbons. More specifically, aspects relate to real-time annulus pressure which drilling for formation integrity tests. 
       BACKGROUND 
       [0003]    Oil wells are created by drilling a hole into the earth using a drilling rig that rotates a drill string (e.g., drill pipe) having a drill bit attached thereto. The drill bit, aided by the weight of pipes (e.g., drill collars), cuts into rock within the earth to create a wellbore. Drilling fluid (e.g., mud) is pumped into the drill pipe and exits at the drill bit. The drilling fluid may be used to cool the bit, lift rock cuttings to the surface, at least partially prevent destabilization of the rock in the wellbore, and/or at least partially overcome the pressure of fluids inside the rock so that the fluids do not enter the wellbore. During the creation of the wellbore, these drilling rigs can measure the physical properties of the well environment. Data representing the measurements can be transmitted to the surface as pressure pulses in a mud system (e.g., mud pulse telemetry) of the oil well. 
       SUMMARY 
       [0004]    This summary is provided to introduce a selection of concepts that are further described below in the detailed description. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in limiting the scope of the claimed subject matter. 
         [0005]    Aspects of the disclosure can relate to a process for transmitting a pump-off pressure profile for formation integrity testing within a limited bandwidth. For example, a process may include measuring pump-off pressure data. The pump-off pressure data represents the pump-off pressure profile. The method also includes determining, from the pump-off pressure data, a pump-off pressure data portion corresponding to a formation integrity testing characteristic. The method also includes compressing pump-off pressure data portion with a compression protocol to produce compression bits. The compression bits representing the pump-off pressure data portion corresponding to the formation integrity testing characteristic. The method also includes transmitting, via a communication module, the compression bits to a computing device. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0006]    So that the recited features may be understood in detail, a more particular description, briefly summarized above, may be had by reference to one or more embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate example embodiments, and are, therefore, not to be considered limiting of its scope. 
           [0007]      FIG. 1  illustrates an example formation integrity test pressure curve and a real-time pumps-off annulus pressure while drilling pressure curve. 
           [0008]      FIGS. 2A-2C  illustrate an example diagram for measuring pump-off pressured data, compressing the pump-off pressure data, and transmitting the compressed pump-off pressure data uphole in accordance with an example embodiment of the present disclosure. 
           [0009]      FIG. 3  illustrates a graph where the start of a formation integrity test is detected in accordance with an example embodiment of the present disclosure. 
           [0010]      FIG. 4  is a graph, where a portion of the pressure curve corresponding to the formation integrity test annulus pressure while drilling is selected to be transmitted uphole in accordance with an example embodiment of the present disclosure. 
           [0011]      FIG. 5  is a frequency analysis of formation integrity test data in accordance with an example embodiment of the present disclosure. 
           [0012]      FIGS. 6A and 6B  illustrate various histograms of difference values corresponding to a formation integrity test data in accordance with an example embodiment of the present disclosure. 
           [0013]      FIGS. 7A and 7B  illustrates various Huffman code design models corresponding to formation integrity test data in accordance with an example embodiment of the present disclosure. 
           [0014]      FIG. 8  illustrates an example of coding six (6) items using Huffman model (a) shown in  FIG. 7A  in accordance with an example embodiment of the present disclosure. 
           [0015]      FIG. 9  illustrates an example histogram of seven (7) difference values in accordance with an example embodiment of the present disclosure. 
           [0016]      FIG. 10  illustrates an example code design for difference values shown in  FIG. 9  using Huffman model (d) shown in  FIG. 7A  in accordance with an example embodiment of the present disclosure. 
           [0017]      FIGS. 11A-11D  illustrate three (3) example bit layout protocols in accordance with an example embodiment of the present disclosure. 
           [0018]      FIG. 12  illustrates an example block diagram of a multiple on-demand frame utilized for transmitting compressed pump-off pressure data corresponding to a formation integrity test in accordance with an example embodiment of the present disclosure. 
           [0019]      FIG. 13  is a block diagram illustrating an example transmission of a sequence of multiple on-demand frames in accordance with an example embodiment of the present disclosure. 
           [0020]      FIG. 14  illustrates a graph showing a fixed pressure increase rate before leak-off pressure in accordance with an example embodiment of the present disclosure. 
           [0021]      FIG. 15  illustrates a graph showing a varying pressure increase rate in accordance with an example embodiment of the present disclosure. 
           [0022]      FIG. 16  illustrates a graph showing various pressure changes in accordance with an example embodiment of the present disclosure. 
           [0023]      FIG. 17  illustrates two graphs, each graph showing a respective test cycle in accordance with an example embodiment of the present disclosure. 
       
    
    
     DETAILED DESCRIPTION 
       [0024]    Embodiments described herein generally relate to methods for measuring pressure within a wellbore. More particularly, embodiments described herein relate to a system and a method for transmitting a pump-off pressure profile in a wellbore. 
         [0025]    Formation integrity tests (FITs) can be performed during pumps-off to determine the maximum annular pressure that can be applied to the formation. Many measurements regarding formation properties (e.g., leak-off pressure, formation fracture pressure, minimum horizontal stress (σ h ), formation permeability, etc.) can be evaluated from a pumps-off annular pressure profile. The synthetic “downhole” pressure curve, however, may not represent the data properly in most cases and, sometimes, can lead to highly-deviated results. Many factors, such as mud compressibility, gel strength, mud type, and borehole temperature, can contribute to the large discrepancy. Thus, the present disclosure discloses transmitting an annular pressure profile in real-time (RT) for an accurate FIT analysis. 
         [0026]    A large amount of annular pressure data may be accumulated during FITs. For example, a 1-hour FIT generates 1,800 pressure points at a sampling period of 2 seconds. Each pressure point utilizes 15 bits to cover the range of 0 psi to 30,000 psi with 1-psi resolution. The total transmission would take 37.5 minutes at a rate of 12 bits/second. Such delays can impact the normal drilling operations since the data from other measurements cannot be sent in a long time period after pumping resumes. 
         [0027]    Thus, pressure data representing major turning points along the pressure curve can be transmitted uphole to provide suitable compression ratios and reduce real-time transmission time. The pressure data representing the major turning points allow tracing of the pressure changes and identifying some key measurements, such as leak-off pressure, formation fracture pressure, and so on. In some embodiments, however, where high-density pressure points are utilized for a detailed FIT analysis, the sparse samples may not provide enough information. An example is shown in  FIG. 1 . From the pressure curve from real-time pumps-off annulus pressure while drilling, the major changes along the FIT can be represented. But for the differential pressure (see the bottom of  FIG. 1 ), the real-time pumps-off annulus pressure while drilling pressure curve shows steps in long time intervals and the subtle changes may be missing. 
         [0028]    The present disclosure discloses transmitting a portion of the FIT pressure curve profile. Thus, the present disclosure can be independent of real-time pumps-off annulus pressure while drilling due to different field usages. For example, the present disclosure transmits the FIT section from the start of FIT to the maximum pressure point (P max ), as indicated in  FIG. 1 . Extensions on both sides are allowed and an operator can configure their time lengths according to the job requirements. The present disclosure detects the FIT section automatically and then performs compression. The compression bits are encapsulated into a sequence of multiple on-demand frames (MODFs) for real-time transmission. Respective MODFs can be decompressed independently into a part of pressure curve as this can be useful to reduce telemetry noise because part of FIT APWD data is available from the correctly-received MODFs. If a significant portion of the data is missing or corrupted, an operator can downlink to a logging while drilling (LWD) tool and request retransmission of the real-time FIT annulus pressure while drilling pressure curve. 
         [0029]    During FIT, the annular pressure data is acquired by the pressure board in the LWD tool. When the pumps-up is detected (e.g., LTB power on), the present disclosure searches the pumps-off pressure profile and identifies (e.g., determines) the FIT section from the start of FIT test to P max  (as shown the curve in  FIGS. 2A-C ). According to the job requirements, the operator is allowed to configure extensions on both sides to allow additional pressure data to be included to help the FIT analysis. 
         [0030]    To achieve a high compression efficiency, the pressure data is filtered to remove the measurement noise and then decimated to a preselected sampling period. For example, the preselected sampling period may be a 4-second sampling period. The sampling period, however, can be modified according to the requirements of the data density. Thus, other sampling periods may be utilized. Additionally, differential coding can be applied for data compression because due to the continuity along the FIT annulus pressure while drilling curve. 
         [0031]    The compression bits are then encapsulated into a sequence of MODFs for real-time (or near real-time) transmission. Independent MODFs can represent a portion of the FIT annulus pressure while drilling (APWD) curve independently. Thus, if one or more MODFs are lost or corrupted, other parts of FIT curve can still be reconstructed correctly from the available MODF(s). 
         [0032]    When the MODFs are ready, the LWD transmits the MODFs to a measuring while drilling (MWD) via a suitable transmission protocol (e.g., Opcode 97), and the MWD arranges the MODFs to send the MODFs up-hole through mud-pulse telemetry. 
         [0033]    At the surface, a computing device decodes the MODFs and then decompresses each MODF into part of the FIT curve and causes display of the real-time FIT annular while drilling curve in its time-domain log or in a cross-plot of pressure-vs-time. The computing device can also provide a FIT analysis. 
         [0034]    The present disclosure first discusses detection of pump-off pressure data corresponding to a formation integrity test (e.g., pump-off pressure data having a formation integrity test characteristic) and compression of the pump-off pressure data having a formation integrity test characteristic. The present disclosure then discusses transmission protocols for transmitting the compressed pump-off pressure data uphole. 
       Compression Protocol 
       [0035]    A compression protocol is now described for transmitting pressure data in real-time (or near real-time) representing the FIT annular pressure while drilling pressure curve utilizing mud-pulse telemetry. As described below, the compression protocol can comprise: 1) detection of the FIT section; 2) filtering and decimation of the pressure data; 3) quantization of the pressure data; and 4) differential coding of the pressure data. 
       Detection of FIT Section 
       [0036]    The FIT section can be defined from the start of pressure build-up in FIT to P max  in the pumps-off pressure profile. The start of pressure build-up for a FIT is defined as a turning point where a substantial pressure change occurs. For example, the turning point can be assumed between the minimum pressure before P max  (denoted as P max ) and P max , as shown in  FIG. 3 . 
         [0037]    To accelerate the detection process, in an example embodiment, the pressure points can be downsampled at 20-second sampling periods. To avoid the impact from measurement noise, a moving averaging can be taken during downsampling (e.g., the average value of respective pressure data in each 20-second window is assigned to the center point in that window). 
         [0038]    The searching range is set from P min  to a middle pressure point at (P min +P max )/2, as shown as the red circles in  FIG. 3 . In cases where multiple middle points are available, the last middle point is selected as the end of searching range. 
         [0039]    Then, let P d (i), i=0,1, . . . ,N d  denote the N d  pressure points after downsampling. An initial threshold of pressure may be set as P th =5 psi by the compression protocol and may be defined at the start of the FIT curve as: 
         [0000]    1. Compute the pressure difference ΔP d (i)=P d (i+1)−P d (i), i=0,1, . . . ,N d −2.
 
2. Find the latest index i* where ΔP d (i*)&lt;P th .
 
3. If ΔP d (i)≧P th , set i*=0 as the start of FIT and stop.
 
4. Else if ΔP d (i)&lt;P th  (i.e., i*=N d −2), reduce the pressure threshold by half (i.e., P th =P th /2) and go to Step 2.
 
5. Else, set i* as the start of FIT and stop.
 
         [0040]    The compression protocol allows extension data to be included on both sides of the FIT section in order to include more data according to the job requirements.  FIG. 4  shows an example of FIT annular pressure while drilling curve with 1-minute extension before the start of FIT and a 5-minute extension after P max . 
       Filtering and Decimation 
       [0041]    The annular pressure while drilling data may contain measurement noise that can lower the compression efficiency. Moreover, the high sampling rate of original data might not be required for FIT analysis. Thus, in one or more embodiments, the pressure data having the FIT characteristics is filtered and decimated as described herein. 
         [0042]    The frequency analysis directed to the FIT annular pressure while drilling data sets is shown in  FIG. 5 . A 10th order low-pass FIR filter may be applied to the pressure data at the cut-off frequency of 1/16 Hz and with the following coefficients: 
         [0000]    {−0.003871323167475, 0, 0.032087799410030, 0.116708621643743, 0.220701186106900, 0.268747432013603, 0.220701186106900, 0.116708621643743, 0.032087799410030, 0, −0.003871323167475}. 
         [0043]    The low-pass filter can also serve as an anti-aliasing filter for downsampling purposes. 
       Quantization 
       [0044]    The filtered pressure data can be quantized as discussed herein. For example, let P f (i), i=0,1, . . . ,N f  denote the N f  pressure points after filtering and decimation. The quantization values can be calculated as q(i)=round(P f (i)/P resolution ), i=0, 1, . . . ,N f , where P resolution  is the pre-defined quantization stepsize or resolution. In an example embodiment, P resolution  is set as 1 psi in order to favor an accurate FIT analysis and the quantization error is +/−0.5 psi. 
         [0045]    During decompression, the de-quantization is performed on the decoded quantization values, P r (i)=q(i)·P resolution , i=0,1, . . . ,N f , where P r (i), i=0,1, . . . ,N f  denote the reconstructed pressure values. 
       Differential Coding and Adaptive Entropy Code Design 
       [0046]    As shown in  FIGS. 6A and 6B , different statistics histograms can be observed from various data sets. Each type of histogram may utilize a specific entropy coding for compression performance. 
         [0047]    As such, an adaptive entropy code design that is adaptable to various data statistics is described. The adaptive entropy code design can be applied to the quantized pressure data. The adaptive entropy code design evaluates the histogram of difference values and generates a set of entropy codebooks from suitable Huffman code models. In an embodiment, there may be nine (9) Huffman code models utilized. The codebook using the least bits is selected to encode the data. The index of the optimal codebook in the set and the parameters to generate the codebook set are encoded and transmitted. During decompression, the codebook set is re-generated given the received parameters and the index is used to retrieve the codebook for decoding the difference values. 
         [0048]      FIG. 7  illustrates the nine (9) Huffman code models used to design the entropy codebook set. An example of coding six (6) items based on Huffman model (a) is shown in  FIG. 8 . The Huffman model first expands the model with binary splitting and generates enough branches for available items. Then, the coding bits for each item are constructed by outputting bit  0  or  1  on respective branches from left to right. Note that the binary splitting is performed downward and thus an increasing code length is expected from bottom to top. 
       Histogram Evaluation 
       [0049]    The statistics histogram of difference values can be different from case to case. In one or more embodiments, an efficient entropy code design utilizes the structure of statistics histogram of quantized differential values. The statistics histograms vary from case to case. For simplicity purposes, three parameters are used in the present disclosure: 
         [0000]    D 0 : The difference value of the highest occurrence. In case that multiple values have the same highest occurrence, the lowest one is selected as D 0 .
 
D max  and D min : The maximum and minimum difference value, respectively.
 
         [0050]    An example of histogram is shown in  FIG. 9 , where D 1 , D 2 , . . . , D max  denote the difference values higher than D 0  and D −1 , D −2 , . . . , D min  denote the difference values lower than D 0 . 
         [0051]    These three parameters are encoded and transmitted to describe the basic structure of a histogram. Let D* max  and D* min  denote the maximum value of D max  and the minimum value of D min , respectively. In this work, they are set as D* max =512 and D* min =−512. Then, D max  is encoded by applying the Huffman code model (a) on possible values of 0, 1, −1, 2, −2, 3, −3, . . . , D* max , D* min ; 
         [0000]    D min  is encoded by applying the Huffman code model (a) on possible values of D max , D max −* 1, . . . , D* min ;
 
D 0  is encoded by applying the Huffman code model (a) on possible values of D min , D min +1, . . . , D max .
 
       Codebook Set Design 
       [0052]    The next step is to design entropy codebooks for respective difference values from D min  to D max . A lower number of occurrences is assumed for a value farther away from D 0 . The difference values are sorted in a decreasing order of occurrence based on their distance to D 0 . Then, an entropy codebook is designed by assigning less bits to values nearer to Do and more bits for ones farther from D 0 . A set of entropy codebooks are available from various sorting results and Huffman code models. 
       Sorting of Difference Values 
       [0053]    In an embodiment, the sorting of difference values is performed as follows: 
         [0000]    1. Starting from D 0 , output a certain number of difference values as the 1 st  group.
 
2. Output the remaining values on both sides of D 0  alternatively.
 
3. To accelerate the ordering, the number of values to output on each side of D 0  is doubled after each output.
 
       DEFINITIONS 
       [0054]    Wings: a wing is defined as values on the left or right side of D 0 , i.e., the left wing contains D −1 , D −2 , . . . , D min  and the right wing contains D 1 , D 2 , . . . , D max . A long wing is on the right if D max −D 0 ≧D 0 −D min  and on the left if D max −D 0 &lt;D 0 −D min . 
         [0055]    N 1stGroup : the number of the 1 st  group of difference values (starting from D 0 ) to output for sorting. 
         [0056]    N LongWingInThisStep  and N ShortWingInThisStep : the number of difference values to output in one step on the long and short wing, respectively. 
       Sorting Process: 
       [0057]    In an example embodiment, the sorting process may comprise: 
         [0058]    1. Output the 1 st  group of N 1stGroup  values by starting from D 0  on the long wing. If the size of long wing is lower than N 1stGroup , (i.e., D max  or D min  is reached before N 1stGroup  values are output) continue to output the remaining values on the short wing in the direction away from D 0 . 
         [0059]    2. Output N LongWingInThisStep  or N ShortWingInThisStep  values by starting from next value to the last output one in this wing in the direction away from Do. If D max  or D min  is reached before the specific number of values are output, move to the opposite wing and output the remaining values in the direction away from D 0 . 
         [0060]    3. Multiply N LongWingInThisStep  or N ShortWingInThisStep  by 2 (i.e., double the number of values to output on this wing in the next step). 
         [0061]    4. Move to the opposite wing if D max  or D min  has not been reached on that wing. Otherwise, stay on the same wing as the last output value. 
         [0062]    5. Repeat the steps from 2 by swinging between two wings until the difference values are output for sorting. 
         [0063]    In an embodiment, an example with N 1stGroup =2, N LongWingInThisStep =2 and N ShortWingInThisStep =1 is given based on the histogram in  FIG. 9 : 
         [0000]    1. Output N 1stGroup =2 values of Do and D 1  on the long (right) wing.
 
2. Output N LongWingInThisStep =2 values of D 2  and D 3  on the long (right) wing
 
       3. Update N LongWingInThisStep =4; 
       [0064]    4. Move to the short (left) wing and output N ShortWingInThisStep =1 value of D −1 . 
       5. Update N ShortWingInThisStep =2; 
       [0065]    6. Move to the long (right) wing and suppose to output N LongWingInThisStep =4 values in this step. However, one value may within that wing. After outputting D max , move to the short (left) wing and continue to output D min .
 
7. Stop since values have been output for sorting.
 
         [0066]    The final order of difference values is: {D 0 , D 1 }, {D 2 , D 3 }, {D −1 }, {D max , D min }, where { . . . } denote the values output in the same step. 
         [0067]    For respective Huffman code models, one codebook can be designed for the sorted difference values. In an example embodiment, the difference values are assumed to be sorted in the order of decreasing occurrence, so more bits are assigned to values which are output later, and the values which are output in the same step share the same “header” bits from the Huffman code model. Then Huffman code model (a) is used to code the “index” for each value if two or more values are in that group. 
         [0068]    The code design for the above example based on Huffman code model (d) is illustrated in  FIG. 10 . 
         [0069]    Given D 0 , D min , and D max , a set of codebooks are available with various Huffman code models and parameters of (N 1stGroup , N LongWingInThisStep , N ShortWingInThisStep ). In an example, the maximum numbers are set as  6 ,  2  and  1 , respectively, and the codebook set is designed as follows: 
         [0070]    Initialization: empty the codebook sets CodebookSet. 
         [0071]    For N 1stGroup =1:6
       For N LongWingInThisStep =1:2
           For N ShortWingInThisStep =1:1
               Sort the difference values as described above   For each one of 9 Huffman code models (in  FIG. 7 )
                   Design a codebook for values as described above   If this new codebook is NOT in CodebookSet (i.e., the code length for each value is different from previous codebooks), add this new codebook to CodebookSet.   
                   
               
               
 
       Optimal Codebook Selection 
       [0078]    In the codebook set (e.g., CodebookSet), the optimal entropy codebook is selected as the entropy codebook that encodes the most difference values within the available bandwidth. In practice, a binary searching protocol can be applied to code as many values as possible. 
         [0079]    Let q(i), i=0,1, . . . ,N q −1 denote N q  quantization values and N b  denote the available number of bits. Then, he binary searching protocol can comprise: 
         [0000]    1. Encode the reference quantization value q(0) using N ref  bits. In an embodiment, N ref  can be set to 15 bits to cover a pressure range of 0 psi to 30,000 psi with a quantization stepsize of P resolution =1 psi.
 
2. Compute the difference values Δq(i)=q(i+1)−q(i), i=0,1, . . . ,N q −2.
 
3. Set i 0 =0, =i 2 =N q −2.
 
4. Evaluate the histogram of Δq(i), i=0,1, . . . ,i 1  and compute D 0 , D min  and D max .
 
5. Encode D max , D min  and Do and generate N hist  coding bits in total.
 
6. Design the entropy codebook set.
 
7. For each codebook in the set, evaluate the number of bits to code respective values Δq(i), i=0,1, . . . ,i 1  including the bits to index this codebook in the set (the index is encoded based on Huffman code model (a) as illustrated in  FIG. 8 ).
 
8. From the results in Step 7, determine the optimal codebook Codebook that generates the minimum number of bits N* diff .
 
9. If (N ref +N hist +N* diff )&gt;N b ,
 
         [0080]    a. If i 1 &gt;i 0 +1, update i 2 =i 1 , i 1 =floor((i 0 +i 2 )/2) and go to Step 4. 
         [0081]    b. Else, set i*=i 0  as the index of last difference value to be coded. 
       10. Else, 
       [0082]    a. If i 1 &lt;i 2 −1, update i 0 =i 1 , i 1 =floor((i 0 +i 2 )/2) and go to Step 4. 
         [0083]    b. Else, set i*=i 1  as the index of last difference value to be coded. Output the compression bits for q(i), i=0,1, . . . ,i* 
       Compression Bit Layout 
       [0084]    The compression bitstream corresponding to the pressure data (e.g., the pressure data corresponding to the FIT section) can be constructed by concatenating coding bits as output (as described above). In some instances, different statistics histogram are expected before and after P max , two independent entropy coding schemes can be applied when P max  is included within the available bandwidth. In this case, the pressure points before and at P max  are first compressed into the minimum number of bits. Then, the remaining bits are used to code respective difference values after P max . As illustrated in  FIGS. 11A-11D , the position of P max  is utilized to separate the two bitstreams. In this work, 8 bits are used to index up-to 256 points away from the reference pressure (i.e., a value 0 indicates P max  is the 1 st  one after the reference point). For the portion after P max , the coding of the reference pressure may not be included. 
       Real-Time Transmission 
       [0085]    Once compressed, the compression bits are encapsulated into a sequence of MODFs for real-time transmission. In an embodiment, the MODFs can employ error protection to reduce bit errors from noisy mud-pulse telemetry. For example, the MODFs can employ a product single-parity check (PSPC) code error protection in accordance with an embodiment of the present disclosure. 
         [0086]    Respective MODFs can be decompressed independently to reconstruct respective portions of the pressure curve. In the event that MODFs are missing or corrupted, the remaining MODFs can be used to reconstruct part of pressure curve, which may be sufficient for a FIT analysis. 
         [0087]    The extension data after P max  is configurable in order to include additional information after the FIT section. In an embodiment, if extension data has been utilized and there is still space in the MODF, additional extension data after P max  can included until the remaining bits are used up. 
       MODF Definition 
       [0088]    A single MODF definition can be utilized in accordance with the present disclosure, as shown in  FIG. 12 . For instance, the MODF can constructed with a frame synchronization word (24 bits for QPSK modulation), a 12-bit SubMODFID dpoint (4 bits are used to identify up-to 16 MODF definitions shared by the tools in the bottom hole assembly and the remaining 8 bits are parity bits for error protection), a 5-bit sequence number dpoint, a 12-bit timestamp dpoint, and 42 8-bit compression dpoints. The 42 compression dpoints can contain 300 information bits and 36 parity bits from a 17×18 PSPC error correcting code. These 300 information bits represent the available bandwidth in each MODF and are used to code the pressure points as described above. 
         [0089]    The 5-bit sequence number dpoint is used to identify up-to 31 MODFs in a sequence. Its full-scaled value 31 is to indicate an LTB error during tool communication. This dpoint can be used to monitor the MODF sequence in field and help calculate the remaining time to compete the sequence. It also provides the possibility to re-call a specific missing or corrupted MODF by downlinking with its sequence number. The 12-bit timestamp dpoint is used to compute the time span from the acquisition of reference pressure to the time when MWD requests this dpoint. 
         [0000]    Transmission of Multiple on-Demand Frame 
         [0090]    The MODF sequence is transmitted following the survey and utility frames after the telemetry resumes, as illustrated in  FIG. 13 . 
         [0091]    The transmission of the first MODF can be delayed if compression cannot be finished in time or MWD fails to obtain the MODF correctly upon the completion of utility frame. In an embodiment, repeating MODF frames are transmitted instead to avoid telemetry interference. Additionally, dpoints from other measurements (e.g., tool face) can be embedded in MODF to meet possible requirements on update rates. To avoid the gaps in real-time logs during the MODF transmission, the MODFs and repeating frames can be transmitted in an interleaving manner and mud pulse system dpoints (single-curve compression) in repeating frames can be used to fill up-to 200-second gaps. 
         [0092]    The time interval between MODFs is programmable in order to adapt with various telemetry speeds. The time interval may be set to zero so that the whole MODF sequence is transmitted before any repeating frame and the latency of real-time FIT annular pressure while drilling pressure curve is minimized. 
       Experimental Results 
       [0093]    During simulation, 1-minute and 5-minute extensions are assumed before the start of FIT and after P max , respectively. However it is understood that the extension after P max  can be longer than 5 minutes in order to fill (e.g., complete) the last MODF. 
         [0094]      FIG. 14  illustrates a FIT annulus pressure while drilling curve, where the annulus pressure is increased at an almost fixed rate until it reaches the leak-off pressure. The blue curve is the recorded-mode (RM) data from a tool dump file and the red curve represents the real-time curve. From the differential pressure curve as shown at the bottom of  FIG. 14 , the change at around 4,800 seconds indicates the presence of the leak-off pressure. In this embodiment, the total time length of real-time FIT annulus pressure while drilling pressure curve data is 51 minutes. This pressure cure utilizes five (5) MODFs, and transmission uphole takes 5.4 minutes at a 6 bits/second telemetry speed. 
         [0095]      FIG. 15  illustrates a case of a varying pressure increasing rate during FIT. As shown, the pressure changes are captured in the differential pressure curve. In this embodiment, the 23.9-minute FIT annulus pressure while drilling data is transmitted utilizing three (3) MODFs in a time of 3.2 minutes at a 6 bits/second telemetry speed. 
         [0096]    A case of large pressure difference (up-to 30 psi after filtering) is shown in  FIG. 16 . As shown, two (2) MODFs are used to send the 9.4-minute FIT annulus pressure while drilling pressure curve at a transmission time or 2.2 minutes at a 6 bits/second telemetry speed. 
         [0097]      FIG. 17  shows an example of two FIT cycles. The FIT part with the highest P max  is selected for RT transmission. It uses 2 MODFs and takes 2.2 minutes to send the 13.3-minute FIT annulus pressure while drilling pressure profile curve at a 6 bits/second telemetry speed. 
         [0098]    Although only a few example embodiments have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the example embodiments without materially departing from the present disclosure. Accordingly, all such modifications are intended to be included within the scope of this disclosure as defined in the following claims. In the claims, means-plus-function clauses are intended to cover the structures described herein as performing the recited function and not only structural equivalents, but also equivalent structures. Thus, although a nail and a screw may not be structural equivalents in that a nail employs a cylindrical surface to secure wooden parts together, whereas a screw employs a helical surface, in the environment of fastening wooden parts, a nail and a screw may be equivalent structures.