codes:usermanual
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| codes:usermanual [2019/09/27 09:32] – [1. Software setup and data submission] jlsolano | codes:usermanual [2025/02/14 14:07] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 19: | Line 19: | ||
| Either | Either | ||
| - | **a)** Download the client executable for Windows from [[http://rbcce.aemet.es/ | + | **a)** Download the client executable for Windows from [[http://eubrewnet.aemet.es/ |
| or | or | ||
| | | ||
| - | **b)** Setup the Python 2.7 interpreter in your computer, and then download the client Python script from [[http://rbcce.aemet.es/ | + | **b)** Setup the Python 2.7 interpreter in your computer, and then download the client Python script from [[http://eubrewnet.aemet.es/ |
| ---- | ---- | ||
| Line 32: | Line 32: | ||
| Depending on the version of Eubrewnet' | Depending on the version of Eubrewnet' | ||
| - | **a)** for the client executable for Windows: '' | + | **a)** for the client executable for Windows |
| - | **b)** for client Python script: '' | + | **b)** for client Python script: '' |
| ---- | ---- | ||
| Line 68: | Line 68: | ||
| ==== 1.1.4. Execute the client ==== | ==== 1.1.4. Execute the client ==== | ||
| - | In the case of the client executable, just double click on '' | + | In the case of the client executable, |
| To execute the Python script, open a console/ | To execute the Python script, open a console/ | ||
| In both cases, you should see some information on the screen, but note that the window might open and close quite fast if you double-clicked on '' | In both cases, you should see some information on the screen, but note that the window might open and close quite fast if you double-clicked on '' | ||
| + | |||
| + | You can use the r argument in case you want to send files contained in subfolders of the input directory defined in the ini file. For example, on Linux you can run '' | ||
| To save a log file, if using the client executable, run it from the console with the command '' | To save a log file, if using the client executable, run it from the console with the command '' | ||
| Line 94: | Line 96: | ||
| This is the preferred option for PCs running Windows. It has been tested under Windows XP and 10. | This is the preferred option for PCs running Windows. It has been tested under Windows XP and 10. | ||
| - | The file is available at [[http://rbcce.aemet.es/ | + | The file is available at [[http://eubrewnet.aemet.es/ |
| After the download, unzip the file to your preferred location, edit the '' | After the download, unzip the file to your preferred location, edit the '' | ||
| Line 104: | Line 106: | ||
| After the Python 2.7 interpreter has been installed in your system, please make sure that is included in your path -- open a console and try to execute '' | After the Python 2.7 interpreter has been installed in your system, please make sure that is included in your path -- open a console and try to execute '' | ||
| - | Once Python 2.7 is up and running, download Eubrewnet' | + | Once Python 2.7 is up and running, download Eubrewnet' |
| + | |||
| + | ---- | ||
| + | |||
| + | === If setup fails === | ||
| + | |||
| + | If you have a very old Windows computer which can't run the compiled .exe of the new version of the client, and furthermore can't run the official Python2.7 installer to use the python version, try the following options, sorted in order of complexity: | ||
| + | |||
| + | ** Easiest) ** Try to use the .exe of the old version of the client, available from [[http:// | ||
| + | |||
| + | ** Normal) ** If you have an old setup of Python in your computer, try to use the python version of the old client, available from [[http:// | ||
| + | |||
| + | ** Most difficult) ** Download the file [[http:// | ||
| + | |||
| ---- | ---- | ||
| Line 171: | Line 187: | ||
| ==== 1.2.4. Checking the communication with the server ==== | ==== 1.2.4. Checking the communication with the server ==== | ||
| - | On the local PC running the client sofware, open a web browser and try to access [[http://rbcce.aemet.es/ | + | On the local PC running the client sofware, open a web browser and try to access [[http://eubrewnet.aemet.es/ |
| For debugging, it is recommended to execute the client software redirecting all the output to a log file. If running the client executable, open a console in Windows, change to the folder where '' | For debugging, it is recommended to execute the client software redirecting all the output to a log file. If running the client executable, open a console in Windows, change to the folder where '' | ||
| Line 258: | Line 274: | ||
| **Q** I just sent you data from my computer: did you receive it? | **Q** I just sent you data from my computer: did you receive it? | ||
| - | **A** You can check the data yourself. The easiest way is perhaps to check the color of your Brewer on the map at [[http://rbcce.aemet.es/ | + | **A** You can check the data yourself. The easiest way is perhaps to check the color of your Brewer on the map at [[http://eubrewnet.aemet.es/ |
| - | Another possibility is to use the "File Status Check" tool available at http://rbcce.aemet.es/ | + | Another possibility is to use the "File Status Check" tool available at http://eubrewnet.aemet.es/ |
| Also, please note that communication errors usually produce some messages in the output of Eubrewnet' | Also, please note that communication errors usually produce some messages in the output of Eubrewnet' | ||
| Line 300: | Line 316: | ||
| **A** Most likely, the registration of your Brewer in Eubrewnet has not been completed yet. Please, contact us at [[eubrewnet@aemet.es]] | **A** Most likely, the registration of your Brewer in Eubrewnet has not been completed yet. Please, contact us at [[eubrewnet@aemet.es]] | ||
| + | |||
| + | ---- | ||
| + | |||
| + | **Q** My Windows computer is very old and I can't setup the refresh client following the steps in the Quick Setup -- help!!! | ||
| + | |||
| + | **A** If you have a very old Windows computer which can't run the compiled .exe of the new version of the client, and furthermore can't run the official Python2.7 installer to use the python version, try the following options, sorted in order of complexity: | ||
| + | |||
| + | ** Easiest) ** Try to use the .exe of the old version of the client, available from [[http:// | ||
| + | |||
| + | ** Normal) ** If you have an old setup of Python in your computer, try to use the python version of the old client, available from [[http:// | ||
| + | |||
| + | ** Most difficult) ** Download the file [[http:// | ||
| + | |||
| ---- | ---- | ||
| ---- | ---- | ||
| Line 306: | Line 335: | ||
| The raw data (Brewer spectral measurements) sent to the Eubrewnet database have to be processed in order to get the final products (currently Total Ozone Column (O< | The raw data (Brewer spectral measurements) sent to the Eubrewnet database have to be processed in order to get the final products (currently Total Ozone Column (O< | ||
| - | [[http://rbcce.aemet.es/ | + | [[http://eubrewnet.aemet.es/ |
| - | Before uploading the configuration for the station and the products, the operators have to contact the system administrator ([[eubrewnet@aemet.es|eubrewnet@aemet.es]]) and provide contact information and the list of Brewers for which they are responsible. Then, they have to register in the system. When the registration is complete they are able to login the website of [[http://rbcce.aemet.es/ | + | Before uploading the configuration for the station and the products, the operators have to contact the system administrator ([[eubrewnet@aemet.es|eubrewnet@aemet.es]]) and provide contact information and the list of Brewers for which they are responsible. Then, they have to register in the system. When the registration is complete they are able to login the website of [[http://eubrewnet.aemet.es/ |
| __Registration and login__ | __Registration and login__ | ||
| Line 549: | Line 578: | ||
| The registered users have access to functions which can be used to directly get the information they need (without downloading and processing the files containing this information). The root for all access functions is: | The registered users have access to functions which can be used to directly get the information they need (without downloading and processing the files containing this information). The root for all access functions is: | ||
| - | [[http://rbcce.aemet.es/ | + | [[http://eubrewnet.aemet.es/ |
| If the user wants to use a specific function, then he/she should add the name of the function to the above link, followed by comments which specify how the function is going to be used. There are three different types of functions: | If the user wants to use a specific function, then he/she should add the name of the function to the above link, followed by comments which specify how the function is going to be used. There are three different types of functions: | ||
| Line 561: | Line 590: | ||
| The three different types of available functions are listed and shortly described in Tables 1, 2 and 3 respectivelly. The link in the last column is an example of getting data for the Brewer with serial number 157. The extended documentation for each function can be directly accessed in the Eubrewnet website by clicking on the links in the column // | The three different types of available functions are listed and shortly described in Tables 1, 2 and 3 respectivelly. The link in the last column is an example of getting data for the Brewer with serial number 157. The extended documentation for each function can be directly accessed in the Eubrewnet website by clicking on the links in the column // | ||
| - | [[http://rbcce.aemet.es/ | + | [[http://eubrewnet.aemet.es/ |
| **Table 1: | **Table 1: | ||
| | **Function** | **Short Description** | **Long Description** | **Link** | | | **Function** | **Short Description** | **Long Description** | **Link** | | ||
| - | | **DS** | Returns DS measurements | [[http://rbcce.aemet.es/ | + | | **DS** | Returns DS measurements | [[http://eubrewnet.aemet.es/ |
| - | | **DSS** | Returns the DS summaries | [[http://rbcce.aemet.es/ | + | | **DSS** | Returns the DS summaries | [[http://eubrewnet.aemet.es/ |
| - | | **ZS** | Returns ZS measurements | [[http://rbcce.aemet.es/ | + | | **ZS** | Returns ZS measurements | [[http://eubrewnet.aemet.es/ |
| - | | **ZSS** | Returns the ZS summaries | [[http://rbcce.aemet.es/ | + | | **ZSS** | Returns the ZS summaries | [[http://eubrewnet.aemet.es/ |
| - | | **FM** | Returns FM measurements | [[http://rbcce.aemet.es/ | + | | **FM** | Returns FM measurements | [[http://eubrewnet.aemet.es/ |
| - | | **FMS** | Returns the FM summaries | [[http://rbcce.aemet.es/ | + | | **FMS** | Returns the FM summaries | [[http://eubrewnet.aemet.es/ |
| - | | **SL** | Returns SL measurements | [[http://rbcce.aemet.es/ | + | | **SL** | Returns SL measurements | [[http://eubrewnet.aemet.es/ |
| - | | **SLS** | Returns the SL summaries | [[http://rbcce.aemet.es/ | + | | **SLS** | Returns the SL summaries | [[http://eubrewnet.aemet.es/ |
| - | | **ConfigbyDate****** | Returns the available Configuration | [[http://rbcce.aemet.es/ | + | | **ConfigbyDate****** | Returns the available Configuration | [[http://eubrewnet.aemet.es/ |
| - | | **HG** | Returns the mercury lamp tests | [[http://rbcce.aemet.es/ | + | | **HG** | Returns the mercury lamp tests | [[http://eubrewnet.aemet.es/ |
| - | | **FV** | Returns the FV tests | [[http://rbcce.aemet.es/ | + | | **FV** | Returns the FV tests | [[http://eubrewnet.aemet.es/ |
| - | | **BFV** | Returns the FV tests (from B file) | [[http://rbcce.aemet.es/ | + | | **BFV** | Returns the FV tests (from B file) | [[http://eubrewnet.aemet.es/ |
| - | | **AP** | Returns the AP tests (from B file) | [[http://rbcce.aemet.es/ | + | | **AP** | Returns the AP tests (from B file) | [[http://eubrewnet.aemet.es/ |
| - | | **SC** | Returns the SC tests (from B file) | [[http://rbcce.aemet.es/ | + | | **SC** | Returns the SC tests (from B file) | [[http://eubrewnet.aemet.es/ |
| - | | **BHeader****** | Returns the B File Header with INST values | [[http://rbcce.aemet.es/ | + | | **BHeader****** | Returns the B File Header with INST values | [[http://eubrewnet.aemet.es/ |
| - | | **DTO3** | Returns the DTO3 tests (from B file) | [[http://rbcce.aemet.es/ | + | | **DTO3** | Returns the DTO3 tests (from B file) | [[http://eubrewnet.aemet.es/ |
| - | | **RSO3** | Returns the RSO3 tests (from B file) | [[http://rbcce.aemet.es/ | + | | **RSO3** | Returns the RSO3 tests (from B file) | [[http://eubrewnet.aemet.es/ |
| - | | **ActiveBrewers****** | Returns the number of Brewers whith at least one SL test by dates | [[http://rbcce.aemet.es/ | + | | **ActiveBrewers****** | Returns the number of Brewers whith at least one SL test by dates | [[http://eubrewnet.aemet.es/ |
| - | | **FileStatus****** | Returns the status of the received files | [[http://rbcce.aemet.es/ | + | | **FileStatus****** | Returns the status of the received files | [[http://eubrewnet.aemet.es/ |
| - | | **Umkehr****** | Returns the Umkehr measurements | [[http://rbcce.aemet.es/ | + | | **Umkehr****** | Returns the Umkehr measurements | [[http://eubrewnet.aemet.es/ |
| - | | **BfilesbyLocation****** | Returns the Available B files for a range of locations | [[http://rbcce.aemet.es/ | + | | **BfilesbyLocation****** | Returns the Available B files for a range of locations | [[http://eubrewnet.aemet.es/ |
| - | | **BrewerLocation****** | Returns the changes in location of a Brewer | [[http://rbcce.aemet.es/ | + | | **BrewerLocation****** | Returns the changes in location of a Brewer | [[http://eubrewnet.aemet.es/ |
| - | | **AVG** | Returns the available AVG measurements | [[http://rbcce.aemet.es/ | + | | **AVG** | Returns the available AVG measurements | [[http://eubrewnet.aemet.es/ |
| - | | **O3L1** | Returns the Level 1 of Ozone | [[http://rbcce.aemet.es/ | + | | **O3L1** | Returns the Level 1 of Ozone | [[http://eubrewnet.aemet.es/ |
| - | | **O3L1_5** | Returns the Level 1.5 of Ozone | [[http://rbcce.aemet.es/ | + | | **O3L1_5** | Returns the Level 1.5 of Ozone | [[http://eubrewnet.aemet.es/ |
| - | | **O3L2_0** | Returns the Level 2.0 of Ozone | [[http://rbcce.aemet.es/ | + | | **O3L2_0** | Returns the Level 2.0 of Ozone | [[http://eubrewnet.aemet.es/ |
| - | | **DZ** | Returns the DZ test results (used to get the dead time from the sun) | - | [[http://rbcce.aemet.es/ | + | | **DZ** | Returns the DZ test results (used to get the dead time from the sun) | - | [[http://eubrewnet.aemet.es/ |
| - | | **AvailableBfile****** | Returns the dates for which B files are available for a given period and a specific Brewer. | -____ | [[http://rbcce.aemet.es/ | + | | **AvailableBfile****** | Returns the dates for which B files are available for a given period and a specific Brewer. | -____ | [[http://eubrewnet.aemet.es/ |
| - | | **TableFields****** | Returns the fields of a specific table | - | [[http://rbcce.aemet.es/ | + | | **TableFields****** | Returns the fields of a specific table | - | [[http://eubrewnet.aemet.es/ |
| - | | **O3L1byStation** | Returns the level 1 ozone product for a specified station. The ozone comes from the Brewer which is first in the priority list. If the product is not available from the particular Brewer, then it comes from any other Brewer from which it may be available. | - | [[http://rbcce.aemet.es/ | + | | **O3L1byStation** | Returns the level 1 ozone product for a specified station. The ozone comes from the Brewer which is first in the priority list. If the product is not available from the particular Brewer, then it comes from any other Brewer from which it may be available. | - | [[http://eubrewnet.aemet.es/ |
| - | | **O3L1_5byStation** | Same as the previous function but returns the level 1.5 ozone product. | - | [[http://rbcce.aemet.es/ | + | | **O3L1_5byStation** | Same as the previous function but returns the level 1.5 ozone product. | - | [[http://eubrewnet.aemet.es/ |
| - | | **O3L2_0byStation** | Same as the previous function but returns the level 2.0 ozone product. | - | [[http://rbcce.aemet.es/ | + | | **O3L2_0byStation** | Same as the previous function but returns the level 2.0 ozone product. | - | [[http://eubrewnet.aemet.es/ |
| - | | **dailyOzoneMean****** | Return the daily mean ozone for a given instrument and a given time period. | - | [[http://rbcce.aemet.es/ | + | | **dailyOzoneMean****** | Return the daily mean ozone for a given instrument and a given time period. | - | [[http://eubrewnet.aemet.es/ |
| - | | **AllFiles****** | Returns a .zip file containing all files uploaded for a given Brewer and a given time period. | - | [[http://rbcce.aemet.es/ | + | | **AllFiles****** | Returns a .zip file containing all files uploaded for a given Brewer and a given time period. | - | [[http://eubrewnet.aemet.es/ |
| - | | **Files** | Returns a .zip file containing the files of a specific type uploaded for a given Brewer and a given time period. | - | [[http://rbcce.aemet.es/ | + | | **Files** | Returns a .zip file containing the files of a specific type uploaded for a given Brewer and a given time period. | - | [[http://eubrewnet.aemet.es/ |
| - | | **StationConfig****** | Returns the station configuration | - | [[http://rbcce.aemet.es/ | + | | **StationConfig****** | Returns the station configuration | - | [[http://eubrewnet.aemet.es/ |
| - | | **StationBrewerList****** | Returns the Brewer priority list, if a priority list is available. | - | [[http://rbcce.aemet.es/ | + | | **StationBrewerList****** | Returns the Brewer priority list, if a priority list is available. | - | [[http://eubrewnet.aemet.es/ |
| - | | **CompareConfigs****** | Returns all configuration constants for the specified instrument and the specified date. | - | [[http://rbcce.aemet.es/ | + | | **CompareConfigs****** | Returns all configuration constants for the specified instrument and the specified date. | - | [[http://eubrewnet.aemet.es/ |
| - | | **NetworkStatus****** | Returns the status of the network (Total Brewers, Total Stations, Brewer sending data, Stations sending data) | - | [[http://rbcce.aemet.es/ | + | | **NetworkStatus****** | Returns the status of the network (Total Brewers, Total Stations, Brewer sending data, Stations sending data) | - | [[http://eubrewnet.aemet.es/ |
| - | | **Brewerlist****** | Returns the list of all registered Brewers | - | [[http://rbcce.aemet.es/ | + | | **Brewerlist****** | Returns the list of all registered Brewers | - | [[http://eubrewnet.aemet.es/ |
| - | | **Byearly****** | Returns the number of B files for each year for a specific Brewer. | - | [[http://rbcce.aemet.es/ | + | | **Byearly****** | Returns the number of B files for each year for a specific Brewer. | - | [[http://eubrewnet.aemet.es/ |
| - | | **ByearlyB****** | Same as the Byearly function with a different format. | - | [[http://rbcce.aemet.es/ | + | | **ByearlyB****** | Same as the Byearly function with a different format. | - | [[http://eubrewnet.aemet.es/ |
| - | | **SCP** | Returns information for SC that have been performed between two dates and comply with the desired quality criteria. | - | [[http://rbcce.aemet.es/ | + | | **SCP** | Returns information for SC that have been performed between two dates and comply with the desired quality criteria. | - | [[http://eubrewnet.aemet.es/ |
| Line 614: | Line 643: | ||
| **Table 2:**process functions | **Table 2:**process functions | ||
| - | | **O3L1** | Returns the Level 1 of Ozone | [[http://rbcce.aemet.es/ | + | | **O3L1** | Returns the Level 1 of Ozone | [[http://eubrewnet.aemet.es/ |
| - | | **O3L1_5** | Returns the Level 1.5 of Ozone | [[http://rbcce.aemet.es/ | + | | **O3L1_5** | Returns the Level 1.5 of Ozone | [[http://eubrewnet.aemet.es/ |
| - | | **O3L2_0** | Returns the Level 2.0 of Ozone | [[http://rbcce.aemet.es/ | + | | **O3L2_0** | Returns the Level 2.0 of Ozone | [[http://eubrewnet.aemet.es/ |
| Line 622: | Line 651: | ||
| **Table 3:** update functions**** | **Table 3:** update functions**** | ||
| - | | **O3L1** | Update the Database content for the Level 1 of Ozone | [[http://rbcce.aemet.es/ | + | | **O3L1** | Update the Database content for the Level 1 of Ozone | [[http://eubrewnet.aemet.es/ |
| - | | **O3L1_5** | Update the Database content for 1.5 of Ozone | [[http://rbcce.aemet.es/ | + | | **O3L1_5** | Update the Database content for 1.5 of Ozone | [[http://eubrewnet.aemet.es/ |
| - | | **O3L2_0** | Update the Database content for 2.0 of Ozone | [[http://rbcce.aemet.es/ | + | | **O3L2_0** | Update the Database content for 2.0 of Ozone | [[http://eubrewnet.aemet.es/ |
| Line 635: | Line 664: | ||
| | **Parameter** | **Description** | **Example** | | | **Parameter** | **Description** | **Example** | | ||
| - | | **brewerid****** | Brewer identification number | [[http://rbcce.aemet.es/ | + | | **brewerid****** | Brewer identification number | [[http://eubrewnet.aemet.es/ |
| - | | **date** | Date in YYYY-MM-DD format | [[http://rbcce.aemet.es/ | + | | **date** | Date in YYYY-MM-DD format | [[http://eubrewnet.aemet.es/ |
| - | | **enddate****** | Date in YYYY-MM-DD format. If provided, the function will return the query in a date range | [[http://rbcce.aemet.es/ | + | | **enddate****** | Date in YYYY-MM-DD format. If provided, the function will return the query in a date range | [[http://eubrewnet.aemet.es/ |
| ** ** | ** ** | ||
| Line 644: | Line 673: | ||
| | **Format input** | **Description** | **Example** | | | **Format input** | **Description** | **Example** | | ||
| - | | **jsonM****** | JSON matrix formed by lists of lists (default value). The first list is formed by the parameters’ names and the following lists are the query outputs | [[http://rbcce.aemet.es/ | + | | **jsonM****** | JSON matrix formed by lists of lists (default value). The first list is formed by the parameters’ names and the following lists are the query outputs | [[http://eubrewnet.aemet.es/ |
| - | | **jsonO****** | JSON object of lists, where each key is the parameter name and its value is the time sorted list of them | [[http://rbcce.aemet.es/ | + | | **jsonO****** | JSON object of lists, where each key is the parameter name and its value is the time sorted list of them | [[http://eubrewnet.aemet.es/ |
| - | | **text** | Human readable, comma separated values where first row is the parameters’ names and the following are the query outputs | [[http://rbcce.aemet.es/ | + | | **text** | Human readable, comma separated values where first row is the parameters’ names and the following are the query outputs | [[http://eubrewnet.aemet.es/ |
| - | | **csv****** | CSV direct download where first row displays the parameters’ names and the following rows are the query outputs | [[http://rbcce.aemet.es/ | + | | **csv****** | CSV direct download where first row displays the parameters’ names and the following rows are the query outputs | [[http://eubrewnet.aemet.es/ |
| - | | **Example 3:** Using the DS function****\\ \\ The DS database access function provides the Direct Sun individual measurements as well as information from their summaries (e.g. temperature, | + | | **Example 3:** Using the DS function****\\ \\ The DS database access function provides the Direct Sun individual measurements as well as information from their summaries (e.g. temperature, |
| ---- | ---- | ||
| Line 660: | Line 689: | ||
| Eubrewnetweb interface provides access to a number of tools which can be used by the registered users to check the operational condition of each instrument. In the front page there is a map with the status of the Brewers which is stated using a code of colors: | Eubrewnetweb interface provides access to a number of tools which can be used by the registered users to check the operational condition of each instrument. In the front page there is a map with the status of the Brewers which is stated using a code of colors: | ||
| - | ● **RED**: CRITICAL | + | ● **GREEN**: LATEST INFO RECEIVED TODAY |
| - | ● **ORANGE**: ERROR | + | ● **YELLOW**: LATEST INFO RECEIVED TODAY, BUT WITH WARNINGS |
| - | ● **YELLOW**: WARNING | + | ● **ORANGE**: LATEST INFO RECEIVED TODAY, BUT WITH ERRORS |
| - | ● **GREEN**: LATEST INFO RECEIVED TODAY | + | ● **RED**: LATEST INFO RECEIVED TODAY, BUT WITH CRITICAL ERRORS |
| ● **GREY**: LATEST INFO RECEIVED 24 HOURS AGO | ● **GREY**: LATEST INFO RECEIVED 24 HOURS AGO | ||
| - | ● **BLACK**: LATEST INFO RECEIVED FIFTEEN DAYS AGO | + | ● **BLACK**: LATEST INFO RECEIVED |
| To see the map (Figure 19) with the status of the Brewers, the registered user has to choose the option **Brewers** from the interface. Each Brewer represents a specific station, in which more than one Brewers may be operating. For each station, the status of the Brewer with the lowest serial number appears on the map. A list with the Brewers of the specific station appears when the user clicks on a brewer icon. | To see the map (Figure 19) with the status of the Brewers, the registered user has to choose the option **Brewers** from the interface. Each Brewer represents a specific station, in which more than one Brewers may be operating. For each station, the status of the Brewer with the lowest serial number appears on the map. A list with the Brewers of the specific station appears when the user clicks on a brewer icon. | ||
codes/usermanual.1569576761.txt.gz · Last modified: 2019/09/27 09:32 by jlsolano