Difference between revisions of "CMETEO"

From Agri4castWiki
Jump to: navigation, search
(Interface)
(Interface)
Line 91: Line 91:
 
If you leave this parameter empty, all regions of the ROI will be processed.
 
If you leave this parameter empty, all regions of the ROI will be processed.
  
Also several datasources belong to the interface of cmeteo. The most important ones are listed in the table below.
+
Several datasources now work with the general the interface of CMETEO. The most important ones are listed in the table below '''[add intermediate column & add CMETEO_REGIONS].'''
  
 
{|class="wikitable"
 
{|class="wikitable"
Line 121: Line 121:
 
|-
 
|-
 
|
 
|
Cmeteo_region_weather is a replacement for a variety of datasets to which cmeteo need to fill up with output. The results of cmeteo must be placed into datasets with an appropriate spacial resolution like NUTS regions or agri-environmental zones. In general, datasets for NUTS-regions are pre- or postfixed with 'nuts'; datasets for agri_environmental zones are pre- or postfixed with 'zonal'. Per thema, the structure of datasets for both resolutions are very similar.<br>
+
In various schemas, datasets containing weather indicators do vary both in name of the set and in names of the attributes. Also the collection of the attributes may vary (with or withtou meteo-members). However, all the sets contain the indicators that are essential to process CMETEO. The writing of results to objects is organized as follows. CMETEO_REGION_WEATHER is a replacement for a variety of objects to which CMETEO will write the aggregated results. The results of CMETEO must be placed into datasets with an appropriate spatial resolution like NUTS regions or agri-environmental zones. In general, datasets for NUTS-regions are pre- or postfixed with 'NUTS'; datasets for agri_environmental zones are pre- or postfixed with 'ZONAL'. To serve both type of spatial resolutions the object CMETEO_REGION_WEATHER is implemented in a dynamic synonym that switches between adminstrative regions or agri-environmental zones depending on the selected target resolution.<br>
In various schemas, datasets containing weather indicators do vary both in name of the set and in names of the attributes. Also the collection of the attributes may vary. However, all the sets contain the indicators that are essential to process cmeteo. As cmeteo only can use one structure for grid weather, some logic must be applied to transform the various sets into unified representations. This transformation is implemented as a view (standard selection) on each of the original datasets while renaming the attributes and eventually suppliyng neutral or valuable data for missing attributes. The dataset cmeteo_grid_weather is composed of the most wide combination of attributes of the various underlying datasets.
+
As CMETEO only can use one structure for grid weather, some logic must be applied to transform the various sets into unified representations. This transformation is implemented as a view (standard selection) on each of the original datasets while renaming the attributes and eventually supplying neutral data for missing attributes (e.g. members and offset days). The dataset CMETEO_GRID_WEATHER is composed of the most wide combination of attributes of the various underlying datasets.
  
Below a summary of some sets in various schemas and the definition of cmeteo_grid_weather
+
Below a summary of some sets in various schemas and the definition of CMETEO_GRID_WEATHER '''[add CGFS_EUR_09:OPE and GWSI]'''
  
 
{|class="wikitable"
 
{|class="wikitable"
Line 179: Line 179:
 
|}
 
|}
  
1) If an attribute for the offset of the day isn't available, the day-offset in cmeteo grid weather will be filled with a neutral value (0). This value doesn't influence the processing.<br>
+
1) If an attribute for the offset of the day isn't available, the day-offset in CMETEO_GRID_WEATHER will be filled with a neutral value (0). This value doesn't influence the processing.<br>
2) For sets that doesn't contain an attribute for members, a member_no: 1 will be supplied in cmeteo grid weather.<br>
+
2) For sets that doesn't contain an attribute for members, a member_no: 1 will be supplied in CMETEO_GRID_WEATHER.<br>
3) If an attribute for the mean or daily temperature doesn't exist, this value will be estimated as the mean value of minimum and maximum temperature of the day. Cmeteo will process this value and produces a result for it.<br>
+
3) If an attribute for the mean or daily temperature doesn't exist, this value will be estimated as the mean value of minimum and maximum temperature of the day. CMETEO will process this value and produces a result for it.<br>
4) A dummy value (0) for the dew temperature wil be supplied to cmeteo grid weather for sets lacking such an attribute. Cmeteo will process this value and produces a result for it, so precautions must be taken to supply these results to the output table.<br>
+
4) A dummy value (0) for the dewpoint temperature wil be supplied to CMETEO_GRID_WEATHER for sets lacking such an attribute. CMETEO will process this value and produces a result for it. However normally the elements in the target table definition are similar to the elements in the source table definition. So the dummy value of dewpoint will not appear in the aggregated output.<br>
 
|}
 
|}
  
  
 
{|class="collapsing_table collapsible collapsed"
 
{|class="collapsing_table collapsible collapsed"
!Specifications of cmeteo_region_weather
+
!Specifications of the CMETEO_REGION_WEATHER
 
|-
 
|-
 
|
 
|
Cmeteo_region_weather is a replacement for a variety of datasets, both for themes (e.g. cgfs-his, cgms) and for resolutions (e.g. NUTS regions, agri-environmental zones), to which cmeteo need to fill up with output. In general, datasets for NUTS-regions are pre- or postfixed with 'nuts'; datasets for agri_environmental zones are pre- or postfixed with 'zonal'.<br>
+
CMETEO_REGION_WEATHER is a replacement for a variety of datasets, both for themes (e.g. CGFS-HIS, CGMS) and for resolutions (e.g. NUTS regions, agri-environmental zones), to which CMETEO need to write the aggregated results. In general, datasets for NUTS-regions are pre- or postfixed with 'NUTS'; datasets for agri_environmental zones are pre- or postfixed with 'ZONAL'.<br>
In various schemas, datasets containing weather indicators do vary both in name of the set and in names of the attributes. Also the collection of the attributes may vary. However, all the sets contain the essential indicators for which cmeteo delivers output. Per theme, the structure of datasets for both resolutions are very similar. As cmeteo only can use one structure for region weather, some logic must be applied to transform the various sets into unified representations. This transformation is implemented as a view (with the possibility to insert/update values) on each of the original datasets while renaming the attributes. As the dataset cmeteo_region_weather delivers the most wide combination of attributes of the various underlying datasets, some precautions must be taken to prevent some useless attributes being placed into the final dataset. Functionality for this is located in a technical construct (trigger) which is connected to the views.<br>
+
In various schemas, datasets containing weather indicators do vary both in name of the set and in names of the attributes. Also the collection of the attributes may vary. However, all the sets contain the essential indicators for which CMETEO delivers output. Per theme, the structure of datasets for both resolutions are very similar. As CMETEO only can use one structure for region weather, some logic must be applied to transform the various sets into unified representations. This transformation is implemented as a view (with the possibility to insert/update values via specific trigger) on each of the original datasets while renaming the attributes. As the dataset cmeteo_region_weather delivers the most wide combination of attributes of the various underlying datasets, some precautions must be taken to prevent some useless attributes being placed into the final dataset. Functionality for this is located in a technical construct (trigger) which is connected to the views.<br>
 
In a dynamical way cmeteo_region_weather will be linked to the proper dataset according to the theme and the appropriate spacial resolution to deliver the results of cmeteo.
 
In a dynamical way cmeteo_region_weather will be linked to the proper dataset according to the theme and the appropriate spacial resolution to deliver the results of cmeteo.
  

Revision as of 11:25, 13 August 2013



Introduction

CMETEO stands for CORINE-meteo. The softwaretool CMETEO can be seen an application suite to aggregate meteo data as found in e.g. the CGMS_EUR_08.GRID_WEATHER dataset or similar data sets at grid resolutions. Think of meteo indicators on temperature (maximum, minimum, mean or daily), windspeed, precipitation, radiation, potential transpiration, evaporation etc. In the context of MARS, the weather indicators are given at a regular grid. These indicators will be aggregated to spatial resolutions like administrative regions (NUTS level 3-0) or agri-environmental regions according 1) a general area weighted algorithm and 2) a landcover (or even crop) specific area weighted algorithm.

The process

The process can be described in a short way as: At the start, only once, initialise parameters to hold values that are valid for all regions and for all days in the specified interval.

  • parameters according the ROI and theme: type of aggregation {plain, median -- in case of weather forecast members}, type of interval {day, dekad}, indication to include a crop specific aggregation {yes,no}, thresholds whether to include a grid cell based on its land cover or crop specific area {0, integer up to 99}
  • get a list of all days to process
  • get a list of all landcovers that are relevant for the ROI
  • get a list of all cmeteo-members, being day-offsets (days in forecast depth) and members of meteo-ensembles. Mostly, the cmeteo-members refers to only one member and no day-offset (e.g. data sets like CGMS_EUR_08.GRID_WEATHER).

Continue to process regions of level 0 (=countries) belonging to the ROI:

  • get a region (country)
  • get all subregions of all levels contained in that region.
  • gather input for each subregion:
    • initialise an array of weather indicators for all days, all landcovers and all members of cmeteo (day-offsets and member_no's).
    • for each day:
      • collect available weather indicators of all cmeteo-members for the grid cells contained in the subregion.
      • for each threshold:
        • if the size of area is above the threshold, summarise them per cmeteo-member and landcover. The values are weighted with the land cover specific area of the grid cell.
        • optionally, continue with a crop specific aggregation, weighted for the area of the crop in the region (note that crop area statistics are only available at administrative/region level and thus can only be used in aggregations from NUTS level 3 to higher levels).

As a result an array is filled with aggregated weather indicators per (sub)region, landcover (or even crop), day and cmeteo-member. The records of the array will be merged into the database according the rules:

  • if the record does not contain any result (no aggregation), then delete it's former representation from the database if one exists
  • if the record contains a result (an aggregation), then update it's former representation in the database if one exists
  • if the record contains a result (an aggregation), then insert it into the database if no former representation exists

The procedure stops after processing all indicated regions of level 0 belonging to the ROI.

Environment

The CMETEO package is designed to operate in several environments which may differ in both input (different tables names, definitions, structure, time resolution, etc.) as output datasets (different type of adminstrative resolutions, agri-environmental zones etc). All these environments need to have the basic data (gridded weather, list of regions, land cover or even crop specific areas per grid cell) and a number of CMETEO database objects available for the CMETEO process.

Software tools needed by cmeteo

CMETEO uses functionality which is implemented in several other software tools. The major ones are listed in the following table.

tool remarks
REGLISTS supplies specific lists of regions directed by input parameters defined in DB schema FORALL.
MRS_PROCESS contains common used functionality for processing more complex programs like CMETEO in DB schema MRSMAN.
ADD_PROCESS_LOG procedure to send some info to a logtable in DB schema XMRSMAN.
ADD_PROCESS_METRICS procedure to send some data, retrieved during processing, to a logtable in DB schema XMRSMAN.
update_events_archive procedure, located in the PMB (Project Management Board) DB schema, to signal the successful end of processing.
DATE_GENERATOR generic tool to generate specific lists of dates according to the input parameters defined in DB schema FORALL.

Administration

Before the process will be executed, some checks and tasks, mainly administrative, are done.

  • The module checks if no other instance of CMETEO is active in it's schema and registers itself as active. At any one moment only at most one process per schema can be active.
  • After registering, it checks if all objects are available that are needed for the selected theme (including the ROI).
  • It also redefines some synonyms (dynamic synonyms like CMETEO_REGION_WEATHER and CMETEO_GRID_LANDCOVER_AREAS) according to the demands of the theme.
  • Before processing, it checks the availability of weather indicators for the selected interval.
  • After processing, it collects counts of processed data and some other items and stores them into the metrics table (DB schema XMRSMAN).
  • It signals the Project Management Board that the process has successfully ended.
  • Finally it releases the lock on active processes.

Interface

The CMETEO package is designed to act in a batch file, or to start from a commandline. The interface consists of a set of parameters.

To get CMETEO working properly, you supply:

  • xxx: the username (and password) of the database schema that holds the data to be processed. This user name is part of the interface
  • p_theme: theme, (that implies a ROI)
  • p_spc_res: spatial indicator, e.g. 'Regions', 'Agri environmental zones'

Optionally, you can supply:

  • xxx: a day or an interval of days to be processed.
  • xxx: an indicator whether or not to refresh the previously aggregated weather indicators.
  • xxx: a set identifiers of regions to be processed.

Details of the interface [suppply list of options per theme/ROI for p_theme and p_spc_res]

  • The theme must be supplied in p_theme. Possible alternatives are listed in the process table of MRSMAN.
  • The spatial indicator must be supplied in p_spc_res. Possible alternatives are listed in the process table of MRSMAN.
  • (Optional) An interval or day to process in the set of: p_yr2start,p_dy2start,p_yr2end,p_dy2end. CMETEO uses several possibilities to define an interval. A coarse way is to mention a year to start and a year to end. In this case all days from the first of January of the starting year to the last day of December of the ending year will be processed. A more finegrained way is to provide a date to start and a date to end in which case only the days in between will be processed, or even one day if both entered dates are the same. You may supply any combination of years and dates. If you don't supply any, the default interval will be choosen, which starts at the first of January of the current year and runs up to the day before today. In fact, no day in the future will be processed.
  • (Optional) an indicator to enable replacement of previously aggregated weather indicators in p_refresh, being one of 'yes', 'no'. The default is 'yes'. This one will be used when no value for this parameter has been supplied.
  • A set identifiers of regions to be processed in qry_region. You may add a query or sql statement that delivers the preferred subset of regions for which you need cmeteo. The regions must be identified by their reg_map_id as found in table REGION_MAPPINGS.

If supplied, the selected set must contain some or all reg_map_ids of level 0 (!) for the relevant ROI, e.g.: select rm.reg_map_id from region_mappings rm where rm.reg_level = 0 and rm.reg_code in ('LU', 'BE', 'NL'); You also may supply a limited list of ids of region mappings which must be comma separated. If you leave this parameter empty, all regions of the ROI will be processed.

Several datasources now work with the general the interface of CMETEO. The most important ones are listed in the table below [add intermediate column & add CMETEO_REGIONS].

Datasets used by cmeteo:
dataset containing example in CGMS_EUR_08 name in cmeteo remarks
weather indicators per grid GRID_WEATHER CMETEO_GRID_WEATHER input for cmeteo with standardized attribute names
weather indicators per NUTS-region NUTS_WEATHER CMETEO_NUTS_WEATHER CMETEO_REGION_WEATHER input for cmeteo with standardized attribute names
weather indicators per agri-environmental region ZONAL_WEATHER CMETEO_REGION_WEATHER input for cmeteo with standardized attribute names
landcovers or crops to be evaluated CROP_LANDCOVER CMETEO_LANDCOVERS input for cmeteo with standardized attribute names
landcover areas intersection of grid and NUTS region GRID_PLUS_NUTS_LANDCOVER CMETEO_GRID_NUTS_LCV_AREAS CMETEO_GRID_LANDCOVER_AREAS input for cmeteo with standardized attribute names
areas/surfaces for landcovers per grid and per agri-env. region GRID_PLUS_ENS_LANDCOVER CMETEO_GRID_ZONAL_LCV_AREAS CMETEO_GRID_LANDCOVER_AREAS input for cmeteo, renaming columns to a standardized naming
areas/surfaces for crops per NUTS region AGGREGATION_AREAS CMETEO_AGGREGATION_AREAS input for cmeteo, renaming columns to a standardized naming
weather indicators per region which are rejected CMETEO_REJECTED_WEATHER output for cmeteo, containing weather indicators per region that could not be stored in regular output via cmeteo_region_weather
regions and their mappings CMETEO_REGION_MAPPINGS input for cmeteo