{"id":1625,"date":"2014-08-29T12:24:30","date_gmt":"2014-08-29T11:24:30","guid":{"rendered":"http:\/\/eubrewnet.aemet.es\/cost1207\/?p=1625"},"modified":"2019-09-27T10:49:13","modified_gmt":"2019-09-27T09:49:13","slug":"eubrewnet-instructions","status":"publish","type":"post","link":"https:\/\/eubrewnet.aemet.es\/cost1207\/2014\/08\/29\/eubrewnet-instructions\/","title":{"rendered":"Eubrewnet Instructions"},"content":{"rendered":"<h1>Data sending<\/h1>\n<p>Before any data sending be sure if your brewers have sent data to iberonesia before. Look for your brewers in <a title=\"Brewer List\" href=\"http:\/\/rbcce.aemet.es\/eubrewnet\/brewer\/list\">Brewer List<\/a>. If they are not there, contact the <a title=\"eubrewnet@aemet.es\" href=\"mailto:eubrewnet@aemet.es\">admin<\/a>.<\/p>\n<ul>\n<li>A <a title=\"FAQ\" href=\"#faq\">FAQ<\/a> section has been added to this post<\/li>\n<li>A <a title=\"Quick Guide\" href=\"#quickguide\">QuickGuide<\/a> for the impatient is also available.<\/li>\n<\/ul>\n<div><\/div>\n<h2>Install the Software<\/h2>\n<p>The client software can be installed in any computer with access to the brewer data files.<\/p>\n<h3>Setup instructions<\/h3>\n<p>There are two different ways to use the client:<\/p>\n<ol>\n<li>Install the python interpreter and download the python client (preferred method).<\/li>\n<li>Download the exe client (not fully tested).<\/li>\n<\/ol>\n<h4>Python Client<\/h4>\n<h5>Python Interpreter<\/h5>\n<p>Download the needed interpreter and install it<\/p>\n<ul>\n<li><a class=\"reference external\" href=\"https:\/\/www.python.org\/ftp\/python\/2.7\/python-2.7.msi\">Python 2.7 Windows x86 MSI Installer<\/a> (Windows binary)<\/li>\n<li><a class=\"reference external\" href=\"https:\/\/www.python.org\/ftp\/python\/2.7\/python-2.7.amd64.msi\">Python 2.7 Windows X86-64 MSI Installer<\/a> (Windows AMD64 \/ Intel 64 \/X86-64 binary)<\/li>\n<li><a class=\"reference external\" href=\"https:\/\/www.python.org\/ftp\/python\/2.7\/python-2.7-macosx10.5.dmg\">Python 2.7 Mac OS X 64-bit\/32-bit x86-64\/i386 Installer<\/a> (for Mac OS X 10.5 and later, if needed)<\/li>\n<li><a class=\"reference external\" href=\"https:\/\/www.python.org\/ftp\/python\/2.7\/python-2.7-macosx10.3.dmg\">Python 2.7 Mac OS X 32-bit i386\/PPC Installer<\/a> (for Mac OS X 10.3 and later, if needed)<\/li>\n<li>Linux Version should come bundled with your Linux distribution.<\/li>\n<\/ul>\n<p>Be sure that your python interpreter is callable from every path in your system (Open a console and try <b>python<\/b>, <b>exit()<\/b> for exit).<\/p>\n<h5>Python client<\/h5>\n<p>Download and uncompress it in your system.<\/p>\n<p>You can download <a class=\"external text\" title=\"http:\/\/rbcce.aemet.es\/iberonesia3\/static\/files\/client_python.zip\" href=\"http:\/\/rbcce.aemet.es\/eubrewnet\/static\/files\/client_python.zip\" rel=\"nofollow\">client_python.zip<\/a>.<\/p>\n<pre>   <b>+ client_python<\/b>\n      <b>+ source<\/b>\n         alive.py\n      <b>   client.ini<\/b>\n         configure.py\n         download.py\n         log.py\n      <b>   refresh.py<\/b>\n         refreshdb.py\n         util.py\n         xmlrpcproxy.py\n<\/pre>\n<h4>Exe Client (Windows Only)<\/h4>\n<p>Download and uncompress it in your system.<\/p>\n<p>You can download <a class=\"external text\" title=\"http:\/\/rbcce.aemet.es\/iberonesia3\/static\/files\/client_exe.zip\" href=\"http:\/\/rbcce.aemet.es\/eubrewnet\/static\/files\/client_exe.zip\" rel=\"nofollow\">client_exe.zip<\/a> .<\/p>\n<pre>   <b>+ client_exe<\/b>\n      + build\n         - bdist.win32\n            ...\n      <b>+ dist<\/b>\n         _bbsddb.pyd\n         _hashlib.pyd\n         _socket.pyd\n      <b>   client.ini<\/b>\n         library.zip\n         pyexpat.pyd\n         python27.dll\n      <b>   refresh.exe<\/b>\n         select.pyd\n         unicodedata.pyd\n         w9xpopen.exe\n      + source\n         ...\n<\/pre>\n<p>Unzip the .zip and try $&gt;refresh.exe (in dist folder) in a console to test if client is working properly. No error message should appear.<\/p>\n<h3>Configuration<\/h3>\n<h4>Client configuration file<\/h4>\n<p>The client configuration file is used by the refresh.py program. The default configuration file is client.ini.<\/p>\n<p>The file is a plain ASCII INI file with the <a class=\"external text\" title=\"http:\/\/en.wikipedia.org\/wiki\/INI_file\" href=\"http:\/\/en.wikipedia.org\/wiki\/INI_file\" rel=\"nofollow\">INI file syntax<\/a>. The file consists of a global section and several server sections, one for each server to send the files to.<\/p>\n<p>The content of the present example includes lines (bold) that has not to be changed. This information is relative to the server or critical:<\/p>\n<pre>   <b>[global]<\/b>\n   brewerid=157\n   working_dir=.\n   input=c:\\brewer\\data\n<b>   servers=iberonesia3<\/b>\n   proxy=proxy.xxx.xxx:port\n   <b>[iberonesia3]<\/b>\n<b>   url=<a class=\"external free\" title=\"http:\/\/rbcce.aemet.es\/refresh\" href=\"http:\/\/rbcce.aemet.es\/refresh\" rel=\"nofollow\">http:\/\/rbcce.aemet.es\/refresh<\/a><\/b>\n   db=iberonesia3.db\n   noproxy=yes\n<b>   serverport=8081<\/b>\n<\/pre>\n<p>The easiest way to configure the client is to specify all options in client.ini file (like the one above) and execute refresh.py without arguments; and execute with arguments overriding the client.ini options if you want any unusual operation, such as sending only certain files. E.g. (using the client.ini above):<\/p>\n<pre>\n<pre wp-pre-tag-3=\"\"><\/pre>\n<p>gt;python refresh.py -b 157 -i c:\\brewer\\data<br \/>\nYou only have to edit the brewer <b>(-b)<\/b> and the brewer data directory <b>(-i).<\/b><\/p>\n<p>Parameters <b>-b<\/b> and <b>-i<\/b> are not necessary if specified in client.ini file (recommended).<\/p>\n<p>The global section has the following properties:<\/p>\n<ul>\n<li>brewerid&nbsp;: brewer identifier of the brewer owner of the files to send.<\/li>\n<li>input&nbsp;: directory that contains the files to send.<\/li>\n<li>servers&nbsp;: comma separated list of server aliases. The files are sent to each server in this list.<\/li>\n<li>working_dir&nbsp;: directory where the local refresh database is stored.<\/li>\n<li>proxy&nbsp;: proxy url, if required. If not required, this property must not be present.<\/li>\n<\/ul>\n<p>A server section is identified by the server alias (i.e. the alias is the name between the brackets), and it has the following properties:<\/p>\n<ul>\n<li>url&nbsp;: server url.<\/li>\n<li>db&nbsp;: local database filename. A local database (a simple data file) is created the first time client is run. The database path is determined by the rundir property and this db property.<\/li>\n<li>noproxy&nbsp;: if a proxy is specified in the global section, noproxy may be set to yes to use a direct connection (avoiding the proxy) to access this server.<\/li>\n<li>serverport&nbsp;: port in the server (8081)<\/li>\n<\/ul>\n<p>Some of these properties may be overridden using command line parameters when executing refresh.py or alive.py.<\/p>\n<p>You only have to edit the brewerid to your brewer. Comment the lines (put # at the beginning of the line) if not needed (proxy is an example).<\/p>\n<h4>refresh.py options<\/h4>\n<p>Most of the refresh.py options may be configured though command line arguments or client.ini configuration file.<\/p>\n<p>Any option specified in command line overrides the option in client.ini.<\/p>\n<p>All options are shown executing the client with parameter <i>-h<\/i><\/p>\n<pre><b>   $ .\/refresh.py -h<\/b>\n\n   Usage: refresh.py [options]\n\n   Options:\n     -h, --help            show this help message and exit\n     -i FILE, --input=FILE\n                           File to process. If the given file is a directory, all\n                           files within will be processed.\n     -s SERVERS, --servers=SERVERS\n                           Comma separated list of xmlrpc server aliases\n     -b BREWERID, --brewerid=BREWERID\n                           Brewerid of file\/s to process\n     -c FILE, --config=FILE\n                           Configuration file path\n     -v, --verbose         Verbosity level. The more '-v' the more verbose is the\n                           program.\n<\/pre>\n<p>The mandatory options are:<\/p>\n<ul>\n<li>working_dir&nbsp;: This option must be specified in client.ini. Directory where the local refresh database is stored.<\/li>\n<li>input&nbsp;: File to process. If the given file is a directory, all files within will be processed.<\/li>\n<li>brewerid&nbsp;: Brewer identifier of the brewer owner of the files to send.<\/li>\n<li>servers&nbsp;: Comma separated list of server aliases. The files are sent to each server in this list.<\/li>\n<\/ul>\n<h3>Check the communications<\/h3>\n<p>Try to open a browser and access <a title=\"Eubrewnet Home\" href=\"http:\/\/rbcce.aemet.es\/eubrewnet\/default\/index\">eubrewnet<\/a>. If not, try to contact your system admins to grant access to the internet.<\/p>\n<p>To debug any problem, it is recommended to execute the client with a command line and using the -v parameter (the more v, the more debugging information shown, with -vvv the maximum).<\/p>\n<pre>\n<pre wp-pre-tag-5=\"\"><\/pre>\n<p>gt;python refresh.py -b XXX -vvv<br \/>\n      - XXX: Id of a brewer<br \/>\nIf you want to save the errors and log , try to define log and error file like this:<\/p>\n<pre>\n<pre wp-pre-tag-6=\"\"><\/pre>\n<p>gt;python refresh.py 1&gt;client.log 2&gt;client_error.log<br \/>\nLook for the content in client.log and client_error.log (If there\u2019s any error in the communication contact the <a href=\"mailto:eubrewnet@aemet.es\">Admin<\/a> and send the content of these files).<\/p>\n<h2>Schedule the data sending<\/h2>\n<p>There are two usual methods:<\/p>\n<ol>\n<li>Send the data from the Brewer computer.<\/li>\n<li>Use another computer which has access to the data.<\/li>\n<\/ol>\n<h3>From the Brewer computer<\/h3>\n<p>As a brewer routine you can put a routine (an example below) in your schedule who call the sending program to send the data.<\/p>\n<p>In W2k W7 the brewer software waits until the command is finished so if the communication fails or it\u2019s slow it can take too much time for sending and can stop or delay the brewer software. This is not an issue if you use DOSBOX<\/p>\n<p>As an scheduled task you can program the execution of the sending program.<\/p>\n<p><i>The old MSDOS\/GWBASIC do not allow the sharing use of the files, as the B file is always open could happen that the sending program block the access to the B file and stop the record of the brewer observations.<\/i><\/p>\n<p>So we recommend the send of the data in two steps:<\/p>\n<ol>\n<li>Inside the brewer software or an schedule task run a routine to copy the bdata directory content in another place\/computer like for example bdata1.\n<pre>   set DEST_DIR=e:\\brewer\n   set ORIG_DIR=e:\\bdata1\n\n   net use x: \/DELETE\n   net use x: \\\\10.2.20.20\\brewer   \/PERSISTENT:NO\n\n   robocopy  %ORIG_DIR%   %DEST_DIR%  \/S \/XO \/V  \n<\/pre>\n<\/li>\n<li>Run the sending software from this directory as scheduled task\n<pre>\n<pre wp-pre-tag-8=\"\"><\/pre>\n<p>gt;python refresh.py   -b %%X  -s iberonesia -i %DEST_DIR%\\brw#%%X\\bdata%%X &gt;client%%X.out 2&gt;&gt;client_error%%X.log\n<\/li>\n<\/ol>\n<h2>Appendix<\/h2>\n<h3>How it works<\/h3>\n<p>When all parameters are processed, it is known the files to send and the servers to send to. The program loops though the servers and tries to send all the files specified. The client maintains a local database storing md5sum and size of the files that has been transferred to the server, used to determine if a file needs to be sent.<\/p>\n<p><a id=\"Sending_files_to_a_server\" name=\"Sending_files_to_a_server\"><\/a><\/p>\n<h4>Sending files to a server<\/h4>\n<p>The protocol to send the files is:<\/p>\n<pre>   Check if the refresh database for the server exists. If not exists, the database is <a title=\"\" href=\"#Regenerating_local_database\">(re)generated<\/a>. \n   For each file: \n      Check if the file needs to be sent. The client knows if a file needs to be sent comparing the (md5sum, size) stored in the local database with the (md5sum, size) of the actual file. \n         If the file entry in the local database does not exist, the file is sent \n         If any of the md5sum, size stored in the database differs from the ones in the actual file, the file is sent. \n         In other case (md5sum and sizes are equal), the file is not sent.\n<\/pre>\n<p>The transfers cannot be done file to file (would be too many) nor all the files simultaneously (too many data to transfer could cause a time out). So, the files are transferred in blocks. If a threshold size of files is reached, the files are packed in a zip file and sent to the server. Once the file is actually sent, the (md5sum, size) in the local database is updated.<\/p>\n<p><a id=\"Regenerating_local_database\" name=\"Regenerating_local_database\"><\/a><\/p>\n<h4>Regenerating local database<\/h4>\n<p>The protocol to regenerate the database is:<\/p>\n<pre>   The client sends to the server all the files that is willing to transfer (i.e., the files specified with the input parameter) \n   For each file in the previous list, the server returns the appropiate (md5sum,size) tuple of the file stored in the server. If the server knows nothing about that file (i.e., it has never been transferred), no entry is returned. \n   Each entry returned to the client is written to the local database.\n<\/pre>\n<p>This way, the local database stores the same info about the file that is stored in the server, so there is no need to query that info to the server for each file in the input, thus saving a lot of network time.<\/p>\n<p>It is possible that the local database gets corrupted or out of sync with the server (e.g., a server is replaced and some files had been sent to the old server that are not in the new server). In that case, the database needs to be deleted, and so regenerated in the next execution.<\/p>\n<p>&nbsp;<\/p>\n<h1>Quick Guide<\/h1>\n<h1><a name=\"quickguide\"><\/a><\/h1>\n<div><strong><span class=\"il\">Quick<\/span> guide for the impatient<\/strong><\/div>\n<div><\/div>\n<div><\/div>\n<p><strong>1- Install<\/strong> the python interpreter and then &nbsp;client script (<a class=\"external text\" title=\"http:\/\/rbcce.aemet.es\/iberonesia3\/static\/files\/client_python.zip\" href=\"http:\/\/rbcce.aemet.es\/eubrewnet\/static\/files\/client_python.zip\" rel=\"nofollow\">client_python.zip<\/a>)&nbsp;&nbsp;or client executable (<a class=\"external text\" title=\"http:\/\/rbcce.aemet.es\/iberonesia3\/static\/files\/client_exe.zip\" href=\"http:\/\/rbcce.aemet.es\/eubrewnet\/static\/files\/client_exe.zip\" rel=\"nofollow\">client_exe.zip<\/a>).<\/p>\n<p>Copy the scripts to the brewer program directory<\/p>\n<p><strong>2- Check the configuration<\/strong><\/p>\n<p>Are you bellow a proxy ?<\/p>\n<p>no: change noproxy in client.ini to YES !!!<br \/>\nyes: Edit the client.ini and indicate your proxy server and port, set the noproxy flag to NO !!<\/p>\n<p>&nbsp;<\/p>\n<p><strong>CLIENT.INI<\/strong><br \/>\n[global]\nservers=iberonesia3<br \/>\nproxy=proxy.xxx.xxx:port<br \/>\n[iberonesia3]\nurl=<a href=\"http:\/\/rbcce.aemet.es\/refresh\" target=\"_blank\" data-saferedirecturl=\"https:\/\/www.google.com\/url?hl=es&amp;q=http:\/\/rbcce.aemet.es\/refresh&amp;source=gmail&amp;ust=1467554671143000&amp;usg=AFQjCNE1pjGlpbKjBp5tZOvp0AN2a82uxg\">http:\/\/rbcce.aemet.es\/<wbr>refresh<\/a><br \/>\ndb=iberonesia3.db<br \/>\nserverport=8081<br \/>\nnoproxy=no<\/p>\n<p><strong><em>3 &nbsp;execute the script<\/em><\/strong><br \/>\n<em>python refresh.py \u2013 b XXX -i c:\\brewer_data -vvv 1&gt;client.log 2&gt;client_error.log<\/em><\/p>\n<p>XXX is the name of your brewer and brewer_data is a directory where the brewer files are.<\/p>\n<p>it takes long, probably is working fine, its sending all the <span class=\"il\">data<\/span> of your test directory, check the log files.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>4- Schedule the data sent<\/strong>&nbsp;: &nbsp; We use robocopy to make a copy of the bdata directory, edit this two files to the brewer program directory . Now you can put CK on your brewer schedule to <span class=\"il\">sent<\/span> <span class=\"il\">data<\/span> to <span class=\"il\">eubrewnet<\/span><\/p>\n<p><strong><span class=\"il\">EUBREWNET<\/span>.BAT<\/strong><\/p>\n<p>set DEST_DIR=e:\\<span class=\"il\">eubrewnet<\/span>\\<br \/>\nset ORIG_DIR=e:\\bdata157\\bdata<br \/>\nset X=157<br \/>\nrobocopy %ORIG_DIR% %DEST_DIR%\\Brw#%%X\\bdata%%X\\ *.%%X \/XO \/V \/MAXAGE:3<br \/>\npython refresh.py -b %%X -s iberonesia -i %DEST_DIR%\\brw#%%X\\bdata%%X &gt;client%%X.out 2&gt;&gt;client_error%%X.log<\/p>\n<p><strong>CK.RTN<\/strong><\/p>\n<p>10000 rem Call <span class=\"il\">eubrewnet<\/span>.bat<br \/>\n10010 <span class=\"il\">data<\/span> ck<br \/>\n20000 shell\u201d<span class=\"il\">eubrewnet<\/span><br \/>\n30000 return<br \/>\n65529 rem dummy<\/p>\n<h2><\/h2>\n<p>&nbsp;<\/p>\n<h2><a name=\"faq\"><\/a>FAQ<\/h2>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<li>My first attempt to send Brewer data finished with this error:<br \/>\nxmlrpclib.ProtocolError: ProtocolError for rbcce.aemet.es\/refresh\/xmlrpc\/: 403 Forbidden<\/li>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<blockquote><p>This case of error is because you have not access to the service.<br \/>\nThe first thing to do is try to access <a title=\"Refresh service\" href=\"http:\/\/rbcce.aemet.es\/refresh\/xmlrpc\">Refresh service<\/a> address in a browser. If the failure is that the method is unsuported the problem is in the configuration of your system.<br \/>\nBrewer Operator has corrected it because he had to pass through a proxy and by default in the client.ini the noproxy option is set to yes that means that you are not behind one.<br \/>\nOther problem could be a firewall configuration that forbids access to the client program. In this case you may speak with your IT people to fix it.<\/p><\/blockquote>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<li>During my trials I&#8217;ve got an error:<br \/>\nSyntax error: Invalid syntax<\/li>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<blockquote><p>Be sure that the python version that you are using is 2.7, not 3.X. The correct links are in the instructions.<\/p><\/blockquote>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<li>There&#8217;s an error while running the client:<br \/>\nxmlrpclib.Fault: (Fault1 : &#8220;(type &#8216;exceptions.AtributeError&#8217;): &#8216;NoneType&#8217; object has no attribute &#8216;last_online&#8217;<\/li>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<blockquote><p>System cannot receive data from brewers that have never sent data to iberonesia. If you don&#8217;t be sure about it go to our <a title=\"Brewer List\" href=\"http:\/\/rbcce.aemet.es\/iberonesia3\/brewer\/list\">Brewer List<\/a> and look for your brewers.<br \/>\nIf they are not there, contact admins to add the new brewers to the database.<\/p><\/blockquote>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<li>We are using a unix database ourselves, so one possibility is to transfer the data automatically from that to your database.<\/li>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<blockquote><p>The eubrewnet use a client to send data based in the brewer files. Communication with other databases is not contemplated in this project.<\/p><\/blockquote>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<li>What is the best way? Ftp is easy for us to implement via the built-in scheduler in Windows.<\/li>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<blockquote><p>The eubrewnet use the client to send the data, we are not going to develop any solution based on ftp.<\/p><\/blockquote>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<li>Do we have to send data in real time or are you planning to start with data files from past years?<\/li>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<blockquote><p>All the files that are stored in the source forder are going to be sent. We can find to different type of files:<\/p>\n<ul>\n<li>Files that are not going to be changed (old): They are going to be sent once.<\/li>\n<li>Files that are being modified: Only the new information that doesn&#8217;t form part of our filesystem is going to be sent.<\/li>\n<\/ul>\n<\/blockquote>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<li>In case it would be real time data that you want, what would be the frequency at which we would have to send the data? (daily, weekly, monthly)?<\/li>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<blockquote><p>Our client sends a group of files each time that it&#8217;s executed (old files too). An example of scheduled task is provided in the instructions. The brewers of the triad are sending data every fifteen minutes. If you don&#8217;t get a way to make this, contact your system admins to try to get a solution for it. If not, contact the eubrewnet admin.<\/p><\/blockquote>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<li>We are very cautious with our Brewer computers and we (together with the informatics people from our institute) are not very keen to install something new on these computers.<\/li>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<blockquote><p>The source code is provided (for security purposes), if your IT people have problems installing things in the computers that manage the brewers there&#8217;s no problem. You can run it from a different one that can access the brewer files.<\/p><\/blockquote>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<li>I just sent you data from my computer: did you receive it?<\/li>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<blockquote><p>You have some tools to see if your file has been sent:<\/p>\n<ul>\n<li>The first of all is the graphic information in the <a title=\"Map\" href=\"http:\/\/rbcce.aemet.es\/eubrewnet\/brewer\/list\">Brewer List<\/a>. Green or Yellow is ok!<\/li>\n<li>Why not change the run putting there a log and an error file?<br \/>\n$&gt;python refresh.py 1&gt;client.log 2&gt;client_error.log<br \/>\nIn client_error.log you will see the errors.<\/li>\n<li>File status tool in eubrewnet: http:\/\/rbcce.aemet.es\/eubrewnet\/files\/status (You can access it in the web service from the Admin menu: Status)<br \/>\nLook for the B files that have been sent from your brewer and if the status is 0 everything is ok.<\/li>\n<\/ul>\n<\/blockquote>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<ul>\n<li>I&#8217;m already sent data files. Now, how to send calibration files that usually are in the \\data\\###\\ folder ?<\/li>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<\/ul>\n<blockquote><p>If you mean ICFs, DCFs\u2026 they should be recognized. Do not be afraid. Just send them and if they can be parsed, they are going to be stored in our database, if not, at least we are going to have a copy of the file s in our file schema to see what is not working.<\/p><\/blockquote>\n<h2>Forum<\/h2>\n<p>There&#8217;s going to be an open topic in Working group three section in the forum for questions and issues.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Data sending Before any data sending be sure if your brewers have sent data to iberonesia before. Look for your brewers in Brewer List. If they are not there, contact the admin. A FAQ section has been added to this post A QuickGuide for the impatient is also available. Install the Software The client software&hellip;<\/p>\n","protected":false},"author":91,"featured_media":1639,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[6,2,29],"tags":[],"class_list":["post-1625","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-featured","category-mag","category-wg3"],"_links":{"self":[{"href":"https:\/\/eubrewnet.aemet.es\/cost1207\/wp-json\/wp\/v2\/posts\/1625","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eubrewnet.aemet.es\/cost1207\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eubrewnet.aemet.es\/cost1207\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eubrewnet.aemet.es\/cost1207\/wp-json\/wp\/v2\/users\/91"}],"replies":[{"embeddable":true,"href":"https:\/\/eubrewnet.aemet.es\/cost1207\/wp-json\/wp\/v2\/comments?post=1625"}],"version-history":[{"count":15,"href":"https:\/\/eubrewnet.aemet.es\/cost1207\/wp-json\/wp\/v2\/posts\/1625\/revisions"}],"predecessor-version":[{"id":7778,"href":"https:\/\/eubrewnet.aemet.es\/cost1207\/wp-json\/wp\/v2\/posts\/1625\/revisions\/7778"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/eubrewnet.aemet.es\/cost1207\/wp-json\/wp\/v2\/media\/1639"}],"wp:attachment":[{"href":"https:\/\/eubrewnet.aemet.es\/cost1207\/wp-json\/wp\/v2\/media?parent=1625"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eubrewnet.aemet.es\/cost1207\/wp-json\/wp\/v2\/categories?post=1625"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eubrewnet.aemet.es\/cost1207\/wp-json\/wp\/v2\/tags?post=1625"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}