tseries:technical

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tseries:technical [2014-01-22 07:27:16]
juergens
tseries:technical [2022-05-31 09:29:32] (current)
Line 1: Line 1:
 ====== Tseries Technical Documentation ====== ====== Tseries Technical Documentation ======
- 
  
  
 ===== Description: ===== ===== Description: =====
  
-//Tseries// is an open-source time-series viewer for meteorological purposes. //Tseries// is developed and implemented at the Norwegian Meteorological Institute met.no, as a part of the operational meteorological workstation. //Tseries// can be used standalone, or in  interaction with the DIANA meteorological workstation.+//Tseries// is an open-source time-series viewer for meteorological purposes. //Tseries// is developed and implemented at the Norwegian Meteorological Institute met.no, as a part of the operational meteorological workstation. //Tseries// can be used standalone, or in  interaction with the [[https://diana.wiki.met.no/doku.php|Diana]] meteorological workstation.
 The //Tseries// package contains two programs: The //Tseries// package contains two programs:
  
Line 15: Line 14:
  
  
 +Styles and control are located in a separate package - The source code is downloadable at [[https://svn.met.no/tseries/config|subversion]]
 ===== Command line parameters: ===== ===== Command line parameters: =====
  
 Most of the input in //Tseries// is given by the control file, but can be overridden by command line input: Most of the input in //Tseries// is given by the control file, but can be overridden by command line input:
 +|     
 | **-s [ setupfile ]** | if the setup file is not directly defined or invalid, //Tseries// will try to find a valid setup file with the name tseries.ctl in the system. First looking in the current directory, then in $HOME/.tseries/ and at last in /etc/tseries. If no valid setupfile exists, //Tseries// will exit. | | **-s [ setupfile ]** | if the setup file is not directly defined or invalid, //Tseries// will try to find a valid setup file with the name tseries.ctl in the system. First looking in the current directory, then in $HOME/.tseries/ and at last in /etc/tseries. If no valid setupfile exists, //Tseries// will exit. |
 | **-S [site]** | site is just a short string. The user can define elements in the setup-file that  are only used by certain groups. By this, several groups of users can share one setup-file to simplify maintenance.    | | **-S [site]** | site is just a short string. The user can define elements in the setup-file that  are only used by certain groups. By this, several groups of users can share one setup-file to simplify maintenance.    |
Line 41: Line 40:
   - **KDVH** is a MET Norway proprietary interface, based on URL. KDVH reads observations from the Norwegian climatic database. The Data are defined as Diagram entries in the control file (tseries.ctl) and can be implemented in any diagram.    - **KDVH** is a MET Norway proprietary interface, based on URL. KDVH reads observations from the Norwegian climatic database. The Data are defined as Diagram entries in the control file (tseries.ctl) and can be implemented in any diagram. 
  
-  - **Fimex**  [[Https://Wiki.Met.No/Fimex/Start|Fimex]]  is a library to process several datastream types (like NetCDF).  [[Https://Wiki.Met.No/Fimex/Start|Fimex]]  Interpolates on demand from files. This is time-consuming, therefore fimexstreams are read for all positions on request. After that the  [[https://wiki.met.no/fimex/start|Fimex]]  stream is used from cache+  - **Fimex**  [[fimex:start|Fimex]]  is a library to process several datastream types (like NetCDF).  [[fimex:start|Fimex]]  Interpolates on demand from files. This is time-consuming, therefore fimexstreams are read for all positions on request. After that the  [[fimex:start|Fimex]]  stream is used from cache
  
 ===== Diagrams: ===== ===== Diagrams: =====
Line 102: Line 101:
 | **Images** | Path to find images used in diagrams, like weather symbols | | **Images** | Path to find images used in diagrams, like weather symbols |
 | **Lang**   | Path to find language files, //Tseries// looks for  tseries_XX.qm files in this directory, where XX is the country code.  .qm files are generated by the the Qt linguist tool. | | **Lang**   | Path to find language files, //Tseries// looks for  tseries_XX.qm files in this directory, where XX is the country code.  .qm files are generated by the the Qt linguist tool. |
 +| **Styles** | Path to find stylefiles in tsDiagrams.def |
  
  
Line 107: Line 107:
  
 ^ Token ^ Description ^ ^ Token ^ Description ^
-| **Defs**      | The diagram definition file | +| **Defs**      | The diagram definition file (tsDiagrams.def) 
 | **Configure** | Autogenerated File to store configuration (like window size, language etc) from  the GUI. | | **Configure** | Autogenerated File to store configuration (like window size, language etc) from  the GUI. |
 | **WeatherSymbols** | The weather symbol definition file | | **WeatherSymbols** | The weather symbol definition file |
-| **stdImage**       | Image to send to diana to show positions on the map | +| **stdImage**       | Image to send to [[https://diana.wiki.met.no/doku.php|Diana]] to show positions on the map | 
-| **finImage**       | Image to display in diana when the “find” button is triggered |+| **finImage**       | Image to display in [[https://diana.wiki.met.no/doku.php|Diana]] when the “find” button is triggered |
 | **iconImage**      | The //Tseries// icon | | **iconImage**      | The //Tseries// icon |
 | **baseFilter**     | A filter file. By using the filter, //Tseries// will only display positions defined in the filter. The filter can be altered and saved locally by the user. | | **baseFilter**     | A filter file. By using the filter, //Tseries// will only display positions defined in the filter. The filter can be altered and saved locally by the user. |
 | **wdbBookmarks**      | In [[https://wdb.wiki.met.no/doku.php|WDB]] mode one can store local bookmarks (positions) into this file | | **wdbBookmarks**      | In [[https://wdb.wiki.met.no/doku.php|WDB]] mode one can store local bookmarks (positions) into this file |
-| **fimexBookmarks**    | In  [[HTTPS://WIKI.MET.NO/FIMEX/START|FIMEX]]  mode one can store local bookmarks (positions) into this file |+| **fimexBookmarks**    | In  [[fimex:start|FIMEX]]  mode one can store local bookmarks (positions) into this file |
 | **commonBookmarks** | A file with common bookmarks, valid for all users | | **commonBookmarks** | A file with common bookmarks, valid for all users |
  
 === SECTION: <fimex> === === SECTION: <fimex> ===
 ^ Token ^ Description ^ ^ Token ^ Description ^
-| **FimexStreamTypes** | List of streamtypes that willbe read by  [[fimex:start|Fimex]] , seperated by colon  ''netcdf : ncml'' |+| **FimexStreamTypes** | List of streamtypes that will be read by  [[fimex:start|Fimex]] , seperated by colon  ''netcdf : ncml'' | 
 + 
 + 
 +=== SECTION: <WDB> === 
 +^ Token ^ Description ^ 
 +| **Host**  | The WDB host | 
 +| **User**  | The WDB User | 
 +| **busymovie** | Animated gif to display that the server is busy - caching | 
 +| **readtime**  | If a request takes longer than readtime, the cache option appears ( in milliseconds ) | 
 +| **maxRecord **| Cutoff for records in bookmarks | 
 + 
 + 
 + 
 +=== SECTION: <klima>=== 
 +^ Token ^ Description ^ 
 +| **url** | base URL for the klima requequest | 
 +| **maxDistance** | max distance to an observation in km (default=50) | 
 +| **maxObservationLength** | how many hours to look into the past (default=300) | 
 + 
  
  
 === SECTION: <Server> === === SECTION: <Server> ===
-The server section is used to define the connection to diana via coserver+The server section is used to define the connection to [[https://diana.wiki.met.no/doku.php|Diana]] via coserver
  
 ^ Token ^ Description ^ ^ Token ^ Description ^
-| **Client**  | Name of the Client (Diana) |+| **Client**  | Name of the Client ([[https://diana.wiki.met.no/doku.php|Diana]]) |
 | **Name**    | Name that is sendt to the Client | | **Name**    | Name that is sendt to the Client |
 | **Command** | Command to start coserver | | **Command** | Command to start coserver |
Line 135: Line 154:
 The streams section is parsed by an older system, the pets graphical engine, on which The streams section is parsed by an older system, the pets graphical engine, on which
 //Tseries// is build. //Tseries// is build.
-All data input from HDF files and  [[Https://Wiki.Met.No/Fimex/Start|Fimex]]  streams is defined here, always the same way.+All data input from HDF files and  [[fimex:start|Fimex]]  streams is defined here, always the same way.
  
 A new model starts with a collection name, this is kept for backwards-compatibility, A new model starts with a collection name, this is kept for backwards-compatibility,
Line 147: Line 166:
 In a collection, any hdf/fimex file has to be registered the following way In a collection, any hdf/fimex file has to be registered the following way
  
-== A HDF/ASCII stream ==+== A HDF/ASCII Stream ==
 ^ Token ^ Description ^ ^ Token ^ Description ^
-| **DataFile**        |  The HDF file | +| **DataFile**        | The HDF file | 
-| **DataDescription** |  The data description. A hdf file can contain several streams. You have to find the exact stream name in the file (when in doubt use vshow). The data description is used to define values in the diagram definition. (tsDiagrams.def) |+| **DataDescription** | The data description. A hdf file can contain several streams. You have to find the exact stream name in the file (when in doubt use vshow). The data description is used to define values in the diagram definition. (tsDiagrams.def) |
 | **DataType** | HDF or ASCII | | **DataType** | HDF or ASCII |
 | **Contents** | What parameter are defined in the file, x means any.  The string is separated into four sections: Parameter,level,stream,runtime \\ ''x,x,ECMWF,12'' – means: All parameters from ECMWF, 12 \\ ''x,x,ECMWF,x'' - All parameters from ECMWF, all times | | **Contents** | What parameter are defined in the file, x means any.  The string is separated into four sections: Parameter,level,stream,runtime \\ ''x,x,ECMWF,12'' – means: All parameters from ECMWF, 12 \\ ''x,x,ECMWF,x'' - All parameters from ECMWF, all times |
  
  
-== A FIMEX stream ==+== A FIMEX Stream ==
 ^ Token ^ Description ^ ^ Token ^ Description ^
-| **DataFile**        |  The datafile or URL (opendap) - use of glob is possible | +| **DataFile**        | The datafile or URL (opendap) - use of glob is possible  
-| **DataDescription** |  The data description. Just a string to connect this stream to the diagram definition. (tsDiagrams.def) |+| **DataDescription** | The data description. Just a string to connect this stream to the diagram definition. (tsDiagrams.def)  |
 | **DataType** | [ type : tag ] type has to be defined in fimexStreamTypes, tag is optional. if no tag is given, tag=type. Tag is used to connect the parameterdescription to this stream  | | **DataType** | [ type : tag ] type has to be defined in fimexStreamTypes, tag is optional. if no tag is given, tag=type. Tag is used to connect the parameterdescription to this stream  |
-| **Contents** | Not really used in Fimexstreams | +| **Contents** | Not really used in Fimexstreams  
-| **DataConfig** | Connect a  [[https://wiki.met.no/fimex/start|Fimex]]  config file (xml) to this stream |+| **DataConfig** | Connect a  [[fimex:start|Fimex]]  config file (xml) to this stream  |
  
  
 +=== SECTION: <wdbParameter> ===
  
 +This section maps wdb parameters to tseries parameters
  
 +<code>
  
 +# tseries parameter  = <wdb parameter> | <height> < height name>  : <scale> 
 +MSLP,0,x,x,APP=  air pressure at sea level               | 0   height above ground             :/100
 +RR,0,x,x,APP=    lwe precipitation rate                  | 0   height above ground
 +TT,0,x,x,APP=    kalman air temperature                  | 2   height above ground             :-273.15
 +UU,0,x,x,APP=    x wind                                  | 10  height above ground             :*1.94384
 +</code>
  
  
 +=== SECTION:<WDBVECTORFUNCTIONS> ===
 +connect two parameters to a vector( to rotate them into a greografic grid)
 +<code>
 +UU,0,x,x,x :VV,0,x,x,x
 +</code>
  
  
  
  
 +=== SECTION: <klimaparameter> ===
 +
 +<code>
 +# tseries parameter = klimaparameter
 +TT_O,0,x,OBS,x=TA 
 +MSLP_O,0,x,OBS,x=PR 
 +QNH_O,0,x,OBS,x=PH
 +
 +</code>
 +
 +=== SECTION: <klimanormals> ===
 +<code>
 +# tseries parameter = klimaparameter
 +# for these parameters, tseries has to build a timeline
 +TAM,0,x,OBS,x=TAM
 +TANM,0,x,OBS,x=TANM
 +TAXM,0,x,OBS,x=TAXM
 +</code>
 +
 +=== SECTION: <fimexParameters> ===
 +
 +
 +
 +<code>
 +
 +tag       = Given at the fimexstream definition  (DataType : Tag)
 +fimexname = Request parametername
 +Unit      = Udunits string
 +extradim  = Predefined dimensions are time and position, height or similar has to
 +            be defined her for this particular parameter
 +
 +# tseries parameter   = tag | fimexname                | Unit | extradim1 start1 len1 | extradim2 ...
 +#
 +#
 +
 +
 +MSLP,x,x,x = netcdf | air_pressure_at_sea_level         | hPa      | height 0 1
 +TT,x,x,  = netcdf | air_temperature_2m                | Celsius
 +UU,x,x,  = netcdf | x_wind_10m                        | kt
 +
 +# with a defined RRAC, tseries knows automatically how to extract RR from it
 +RRAC,x,x,x = netcdf | precipitation_amount_acc          | kg/m^2
 +# Postprocessed temperature - alias...
 +TTPP,x,x,x = netcdf | air_temperature_2m                | Celsius
 +
 +## Wrf data
 +
 +MSLP,x,x,x = wrf | air_pressure_at_sea_level      | hPa     
 +TT,x,x,  = wrf | T2                             | Celsius
 +UU,x,x,  = wrf | U10                            | kt  | 
 +VV,x,x,  = wrf | V10                            | kt  | 
 +
 +</code>
  
  
Line 181: Line 267:
  
 ===The [models] section=== ===The [models] section===
-Any model have to be defined in the models section, it also allows to change the display name of the model in the diagrams. The key has to be equal the stream name from tseries.ctl like+All Models have to be defined in the models section, here one can change the display name of the model in the diagrams. The key has to be equal the stream name from tseries.ctl
 + 
 +Example:
 <code> <code>
  ECMWF=Ecmwf  ECMWF=Ecmwf
 </code> </code>
  
-ECMWF is the DataDescription from tseries.ctl, Ecmwf will be displayed in the menus+ECMWF equals the DataDescription from tseries.ctl, Ecmwf will be displayed in the //Tseries// GUI menus
  
  
Line 201: Line 289:
 NAME=Meteogram NAME=Meteogram
 # The connected style file # The connected style file
-STYLEFILE=/usr/share/tseries/5.3/style/style.meteogram+STYLEFILE=meteogram.style
 # The streams connected to this diagram # The streams connected to this diagram
 [LEGALMODELS] [LEGALMODELS]
Line 207: Line 295:
 MODEL=HARMONIE_2.5km MODEL=HARMONIE_2.5km
  
-modelindependent means, that these parameters will be taken from # all models, if available+Modelindependent = These parameters will be taken from  
 +# all models, if available 
 [MODELINDEPENDENT] [MODELINDEPENDENT]
 PARAM=UU,x,x,x PARAM=UU,x,x,x
Line 215: Line 305:
 [END] [END]
  
-modelspecific means that these parameters are only used if they come from the specified model. +Modelspecific = These parameters are only used if they come from the specified model. 
-modflspecifi values are not necessary part of the legalmodels. +Modelspecific values are not necessary part of the legalmodels. 
 # If they are not defined there, they will not occur in the menu # If they are not defined there, they will not occur in the menu
  
Line 232: Line 322:
 </code> </code>
  
-Styles+====Styles====
 Styles are defined in stylefiles. These are connected to data by tsDiagrams.def. Styles are defined in stylefiles. These are connected to data by tsDiagrams.def.
 By altering the stylesfiles you can control colors, line and object types in the diagram. By altering the stylesfiles you can control colors, line and object types in the diagram.
 There are hundreds of different types in a stylefile.  You have to start with an existing stylefile and reduce that given stylefile until it fits your purpose. A style starts with the definition of the standard values: like default patterns, background color for the diagram etc. There are hundreds of different types in a stylefile.  You have to start with an existing stylefile and reduce that given stylefile until it fits your purpose. A style starts with the definition of the standard values: like default patterns, background color for the diagram etc.
  
 +
 +<code>
 #================================================================== #==================================================================
  
Line 295: Line 387:
 [DEFAULT] [DEFAULT]
  
 +</code>
  
 Then you have to define axes Then you have to define axes
  
 +<code>
 first at least one x-axis first at least one x-axis
  # --------------------------------  # --------------------------------
Line 310: Line 404:
 minSkipX= 15 minSkipX= 15
 [ADD] [ADD]
 +
 +</code>
  
 And then several y-axes. A curve in the diagram is connected to an axis. If you want to display, for instance several temperatures, you have to create a temperature axis. Then you have to connect the curves to that axis. By that it is guaranteed that the curves are scaled correctly to each other. Each axis has an unique identifier (y-axis-id/yaid). Yaid is used to connect parameters to the axis. And then several y-axes. A curve in the diagram is connected to an axis. If you want to display, for instance several temperatures, you have to create a temperature axis. Then you have to connect the curves to that axis. By that it is guaranteed that the curves are scaled correctly to each other. Each axis has an unique identifier (y-axis-id/yaid). Yaid is used to connect parameters to the axis.
  
 +
 +<code>
  # ----------------------------  # ----------------------------
 # Yaxis (T2m) # Yaxis (T2m)
Line 333: Line 431:
 patternInColour=TRUE patternInColour=TRUE
 [ADD] [ADD]
 +</code>
    
 With axis in place, you have to define a parameter and connect it to it. In this case, the curve is presented in 2 different colors, one for -100 to 0 degrees and one for 0-100 degrees.  With axis in place, you have to define a parameter and connect it to it. In this case, the curve is presented in 2 different colors, one for -100 to 0 degrees and one for 0-100 degrees. 
  
 +<code>
  [NEW]  [NEW]
 type=            LINE type=            LINE
Line 350: Line 449:
 patternInColour= FALSE patternInColour= FALSE
 [ADD] [ADD]
 +</code>
  
- +===Valid Types:===
-Valid types:+
 There are several types in //Tseries// that can be used by the different elements.  There are several types in //Tseries// that can be used by the different elements. 
-Colors: 
-BLACK          
-BLUE           
-GREEN          
-CYAN           
-RED            
-MAGENTA        
-YELLOW         
-WHITE          
-GREY25         
-GREY40         
-GREY45         
-GREY50         
-GREY55         
-GREY60         
-GREY65         
-GREY70         
-GREY75         
-GREY80         
-GREY85         
-GREY90         
-GREY95         
-MIST_RED       
-MIST_GREEN     
-MIST_BLUE      
-DARK_GREEN     
-BROWN          
-ORANGE         
-PURPLE         
-LIGHT_BLUE     
-DARK_YELLOW    
-DARK_RED       
-DARK_BLUE      
-DARK_CYAN      
-DARK_MAGENTA   
-MIDNIGHT_BLUE  
-DNMI_GREEN     
-DNMI_BLUE      
-RUST_RED       
-DAWN_RED       
-SUN_YELLOW     
-SPRING_GREEN   
-IRR_GREEN      
-MOSS_GREEN     
-GRASS_GREEN    
-THUNDER_GREY   
-SEA_BLUE       
-SKY_BLUE       
-ICE_BLUE       
-GLACIER_WHITE  
-RAIN_GREY      
-IVORY          
-DARK_IVORY     
-BLUEGREY       
-GREYBROWN      
-OLIVE          
-MUDDYGREEN     
-GREYBLUE       
-DARK_BLUEGREY  
-DARKOLIVE      
-RED_YELLOW     
-YELLOW_RED     
  
-Fillpatterns +====Colors==== 
-DIAGRIGHT  + 
-DIAGLEFT   +{{:tseries:pets_colors.png|}} 
-DIAGCROSS  + 
-HORIZONTAL + 
-VERTICAL   + 
-SHORIZONTAL +Fillpatterns     ^  
-SVERTICAL  +DIAGRIGHT                 
-SQUARE     +DIAGLEFT       
-SOLID   +DIAGCROSS      
-Linestyle +HORIZONTAL     
-DASHED          +VERTICAL       
-DASHDOTTED      +SHORIZONTAL     
-DASHDASHDOTTED  +SVERTICAL      
-DOTTED +SQUARE         
 +SOLID       
 + 
 + 
 +Linestyle     
 +DASHED           |  
 +DASHDOTTED       |  
 +DASHDASHDOTTED   |  
 +DOTTED     |  
 + 
 + 
  • tseries/technical.1390375636.txt.gz
  • Last modified: 2022-05-31 09:23:29
  • (external edit)