Changeset f20342a in flex_extract.git for For_developers/Sphinx/source/Documentation/disagg.rst
- Timestamp:
- May 27, 2020, 8:01:54 PM (4 years ago)
- Branches:
- master, ctbto, dev
- Children:
- 550435b
- Parents:
- a14839a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
For_developers/Sphinx/source/Documentation/disagg.rst
rd9abaac rf20342a 1 1 *************************** 2 Disaggregation of Flux Data2 Disaggregation of flux data 3 3 *************************** 4 4 5 ``FLEXPART`` interpolates meteorological input data linearly to the position of computational particles in time and space. This method requires point values in the discrete input fields. However, flux data (as listed in table :ref:`ref-table-fluxpar`) from the ECMWF represent cell averages or integrals and are accumulated over a specific time interval, depending on the dataset. Hence, to conserve the integral quantity with ``FLEXPART``'s linear interpolation a pre-processing scheme has to be applied. 5 ``FLEXPART`` interpolates meteorological input data linearly to the position of computational 6 particles in time and space. This method requires point values in the discrete input fields. 7 However, flux data (as listed in table :ref:`ref-table-fluxpar` below) from the ECMWF represent cell 8 averages or integrals and are accumulated over a specific time interval, depending on the data 9 set. Hence, to conserve the integral quantity with the linear interpolation used in ``FLEXPART``, 10 pre-processing has to be applied. 6 11 7 12 .. _ref-table-fluxpar: 8 13 9 .. csv-table:: flux fields14 .. csv-table:: Flux fields 10 15 :header: "Short Name", "Name", "Units", "Interpolation Type" 11 16 :align: center … … 20 25 21 26 22 The first step is to *de-accumulate* the fields in time so that each value represents an integral in x, y, t space. 23 Afterwards, a *disaggregation* scheme is applied which means to break down the integral value into point values. 24 In order to be able to carry out the disaggregation procedure proposed by Paul James, additional flux data is retrieved automatically for one day at the beginning and one day at the end of the period specified. Thus, data for flux computation will be requested for the period START_DATE-1 to END_DATE+1. Note that these (additional) dates are used only for interpolation within ``flex_extract`` and are not communicated to the final ``FLEXPART`` input files. 27 The first step is to *de-accumulate* the fields in time so that each value represents non-overlapping integrals in x-, y-, and t-space. 28 Afterwards, a *disaggregation* scheme is applied which means to convert the integral value to corresponding point values to be used late for the interpolation. 29 The disaggregation procedure as proposed by Paul James (currently, the standard) requires additional flux data for one day at the beginning and one day at the end of the period specified. 30 They are retrieved automatically. Thus, data for flux computation will be requested for the period START_DATE-1 to END_DATE+1. Note that these (additional) dates are used only for interpolation within ``flex_extract`` and are not contained in the final ``FLEXPART`` input files. 25 31 26 The flux disaggregation produces files named ``fluxYYYYMMDDHH``, where ``YYYYMMDDHH`` is the date format. Note ,that the first two and last two flux files do not contain any data.32 The flux disaggregation produces files named ``fluxYYYYMMDDHH``, where ``YYYYMMDDHH`` is the date format. Note that the first two and last two flux files do not contain any data. 27 33 28 34 .. note:: 29 35 30 Note also that for operational retrievals (``BASETIME`` set to 00 or 12) forecast fluxes are only available until ``BASETIME``, so that no polynomial interpolation is possible in the last two time intervals. This is the reason why setting ``BASETIME`` is not recommended for ondemand scripts.36 Note also that for operational retrievals (``BASETIME`` set to 00 or 12), forecast fluxes are only available until ``BASETIME``, so that no polynomial interpolation is possible in the last two time intervals. This is the reason why setting ``BASETIME`` is not recommended for on-demand scripts. 31 37 32 38 … … 34 40 -------------------------------------------------- 35 41 36 In ``flex_extract`` up to version 5 the disaggregation was done with a Fortran program (FLXACC2). In version 6 this part was converted toPython.42 In ``flex_extract`` up to version 5, the disaggregation was done with a Fortran program (FLXACC2). In version 6, this part was recoded in Python. 37 43 38 39 In the old versions (below 7.1) a relatively simple method processes the precipitation fields in a way that is consistent with the scheme applied in ``FLEXPART`` for all variables: linear interpolation between times where input fields are available. 40 At first the accumulated values are divided by the number of hours (i.e., 3 or 6). 44 In the old versions (below 7.1), a relatively simple method processes the precipitation fields in a way that is consistent with the linear interpolation between times where input fields are available that is applied in ``FLEXPART`` for all variables. 45 This scheme (from Paul James) at first divides the accumulated values by the number of hours (i.e., 3 or 6). ??? 41 46 The best option for disaggregation, which was realised, is conservation within the interval under consideration plus the two adjacent ones. 42 47 Unfortunately, this leads to undesired temporal smoothing of the precipitation time series – maxima are damped and minima are raised. … … 53 58 :figclass: align-center 54 59 55 Fig. 1: Example of disaggregation scheme as implemented in older versions for an isolated precipitation event lasting one time interval (thick blue line). The amount of original precipitation after de-accumulation is given by the blue-shaded area. The green circles represent the discrete grid points after disaggregation and linearly interpolate in between them as indicated by the green line and the green-shaded area. Note that supporting points for the interpolation are shifted by a half-time interval compared to the times when other meteorological fields are available (Hittmeir et al. 2018).60 Fig. 1: Example of disaggregation scheme as implemented in older versions for an isolated precipitation event lasting one time interval (thick blue line). The amount of original precipitation after de-accumulation is given by the blue-shaded area. The green circles represent the discrete grid points after disaggregation and linearly interpolate in between them as indicated by the green line and the green-shaded area. Note that supporting points for the interpolation are shifted by half a time interval compared to the times when other meteorological fields are available (Hittmeir et al. 2018). 56 61 57 62 58 63 59 Disaggregation is done for 4 adjacent timespans (:math:`a_0, a_1, a_2, a_3`) which generates a new, disaggregated value which is output at the central point of the 4adjacent timespans.64 Disaggregation is done for four adjacent timespans (:math:`a_0, a_1, a_2, a_3`) which generates a new, disaggregated value which is output at the central point of the four adjacent timespans. 60 65 61 66 .. math:: … … 69 74 70 75 71 This new point :math:`p` is used for linear interpolation of the complete timeseries afterwards. If one of the 4 original timespans has a value below 0it is set to 0 prior to the calculation.76 This new point :math:`p` is used for linear interpolation of the complete timeseries afterwards. If one of the four original timespans has a value below 0, it is set to 0 prior to the calculation. 72 77 73 78 .. math:: … … 78 83 79 84 80 81 82 85 Disaggregation for precipitation in version 7.1 83 86 ----------------------------------------------- 84 87 85 Due to the problems with generating precipitation in originally dry (or lower) intervals and the temporal smoothing a new algorithm was developed. The approach is based on a one dimensional piecewise linear function with two additional supporting grid points within each grid cell, dividing the interval into three pieces. It fulfils the desired requirements by preserving the integral precipitation in each time interval, guaranteeing continuity at interval boundaries, and maintaining non-negativity. An additional monotonicity filter helps to gainmonotonicity.86 The more natural requirements of symmetry, reality, computational efficiency and easy implementation motivates the linear formulation.87 These requirements on the reconstruction algorithm imply that time intervals with no precipitation remain unchanged, i.e.the reconstructed values vanish throughout this whole time interval, too.88 Due to the problems mentioned above, a new algorithm was developed. The approach is based on a one-dimensional, piecewise-linear function with two additional supporting grid points within each grid cell, dividing the interval into three pieces. It fulfils the desired requirements of preserving the integral precipitation in each time interval, guaranteeing continuity at interval boundaries, and maintaining non-negativity. An additional filter improves monotonicity. 89 The more natural requirements of symmetry, reality, computational efficiency and easy implementation motivates the use of a linear formulation. 90 These requirements for the reconstruction algorithm imply that time intervals with no precipitation remain unchanged, i. e., the reconstructed values vanish throughout this whole time interval, too. 88 91 In the simplest scenario of an isolated precipitation event, where in the time interval before and after the data values are zero, the reconstruction algorithm therefore has to vanish at the boundaries of the interval, too. 89 92 The additional conditions of continuity and conservation of the precipitation amount then require us to introduce sub-grid points if we want to keep a linear interpolation (Fig. 2). … … 142 145 143 146 144 In the case of the new disaggregation method for precipitation, the two new sub grid points are added in the ``flux`` output files. They are identified by the forecast step parameter ``step`` which is 0 for the original time interval and 1 or 2 for the two new sub grid points respectively. The filenames do not change.147 In the case of the new disaggregation method for precipitation, the two new sub-grid points are added in the ``flux`` output files. They are identified by the forecast step parameter ``step`` which is 0 for the original time interval, and 1 or 2, respectively, for the two new sub-grid points. The filenames do not change. 145 148 146 149 147 150 .. note:: 148 151 149 The new method for disaggregation was published in the Geoscientific Model Development Journalin 2018:152 The new method for disaggregation was published in the journal Geoscientific Model Development in 2018: 150 153 151 154 Hittmeir, S., Philipp, A., and Seibert, P.: A conservative reconstruction scheme for the interpolation of extensive quantities in the Lagrangian particle dispersion model FLEXPART, Geosci. Model Dev., 11, 2503-2523, https://doi.org/10.5194/gmd-11-2503-2018, 2018. 152 155 153 154 155 156 157 156 158 157 159 Disaggregation for the rest of the flux fields 158 159 Disaggregation for the other flux fields 160 160 ---------------------------------------------- 161 161 162 162 The accumulated values for the other variables are first divided by the number of hours and 163 then interpolated to the exact times Xusing a bicubic interpolation which conserves the integrals of the fluxes within each timespan.164 Disaggregation is done for 4 adjacent timespans (:math:`p_a, p_b, p_c, p_d`) which generates a new, disaggregated value which is output at the central point of the 4adjacent timespans.163 then interpolated to the exact times using a bicubic interpolation which conserves the integrals of the fluxes within each timespan. 164 Disaggregation is done for four adjacent timespans (:math:`p_a, p_b, p_c, p_d`) which produces a new, disaggregated value that is the output at the central point of the four adjacent timespans. 165 165 166 166 .. math::
Note: See TracChangeset
for help on using the changeset viewer.