Index: Source/Python/Mods/checks.py
===================================================================
--- Source/Python/Mods/checks.py	(revision 026b3592e0f0e4124d157e7b5b2d5dbea02dba75)
+++ Source/Python/Mods/checks.py	(revision 026b3592e0f0e4124d157e7b5b2d5dbea02dba75)
@@ -119,7 +119,8 @@
     '''Defines the correct area string.
 
-    Checks on the format of the four area components. Wether it is of
-    the order of 1000 or 1. Also checks wether area was already set by command
-    line, then the four components are overwritten.
+    Checks the format of the four area components wether it is on
+    the order of 1000 or 1. 
+    Also checks wether area was already set on command line, 
+    then the four components are overwritten.
     Convert to correct format of the order of magnitude "1" and sets the
     area parameter (North/West/South/East).
@@ -135,19 +136,19 @@
 
     upper : str
-        The northern most latitude.
+        The northernmost latitude.
 
     lower : str
-        The souther most latitude.
+        The southernmost latitude.
 
     left : str
-        The western most longitude.
+        The westernmost longitude.
 
     right : str
-        The eastern most longiude.
+        The easternmost longitude.
 
     Return
     ------
     grid : str
-        Contains grid in format Lat/lon. E.g. 0.1/0.1
+        Contains grid in format lat/lon. E.g. 0.1/0.1
     '''
     if 'N' in grid:  # Gaussian output grid
@@ -180,5 +181,5 @@
                                     float(right))
     else:
-        raise ValueError('The area components have different '
+        raise ValueError('Area components have inconsisten or unrecognised '
                          'formats (upper, lower, left, right): '
                          '{}/{}/{}/{}'.format(str(upper), str(lower),
@@ -209,6 +210,6 @@
     level : str
         Specifies the maximum level. It has to be one of the
-        available maximum level number as contained in the variable
-        MAX_LEVEL_LIST in "_config". E.g. [16, 19, 31, 40, 50, 60, 62, 91, 137]
+        available maximum level numbers as contained in the variable
+        MAX_LEVEL_LIST in "_config": [16, 19, 31, 40, 50, 60, 62, 91, 137]
 
     '''
@@ -346,5 +347,5 @@
     for i, val in enumerate(ftype):
         if ftype[i] == 'AN' and int(steps[i]) != 0:
-            print('Analysis retrievals must have STEP = 0 (now set to 0)')
+            print('For analysis data, STEP = 0 is needed. Setting to 0 now.)')
             ftype[i] = 0
 
@@ -386,5 +387,5 @@
     maxstep : int
         The maximum forecast time step in hours from the forecast base time.
-        This is the maximum step for non flux (accumulated) forecast data.
+        This is the maximum step for non-flux (not accumulated) forecast data.
 
     purefc : int
@@ -405,5 +406,5 @@
     if not len(ftype) == len(ftime) == len(steps):
         raise ValueError('ERROR: The number of field types, times and steps '
-                         'are not the same! Please check the setting in the '
+                         'are not the same! Please check the settings in the '
                          'CONTROL file!')
 
@@ -423,5 +424,5 @@
 
 def check_mail(mail):
-    '''Check the string of mail addresses, seperate them and convert to a list.
+    '''Check the string of mail addresses, separate them and convert to list.
 
     Parameters
@@ -529,5 +530,5 @@
 
 def check_dates(start, end):
-    '''Checks if there is at least a start date for a one day retrieval.
+    '''Checks if there is at least a start date for a one-day retrieval.
 
     Checks if end date lies after start date and end date is set.
@@ -628,5 +629,5 @@
 
 def check_request(request, marsfile):
-    '''Check if there is an old mars request file and remove it.
+    '''Check if there is an old MARS request file; if so, remove it.
 
     Parameters
@@ -651,6 +652,6 @@
 
 def check_public(public, dataset):
-    '''Check wether the dataset parameter is set for a
-    public data set retrieval.
+    '''Check wether the dataset parameter is set to a
+    public data set.
 
     Parameters
@@ -667,6 +668,6 @@
     '''
     if public and not dataset:
-        raise ValueError('ERROR: If public mars data wants to be retrieved, '
-                         'the "dataset"-parameter has to be set too!')
+        raise ValueError('ERROR: If public MARS data are to be retrieved, '
+                         'the "dataset"-parameter has to be set, too!')
     return
 
@@ -674,5 +675,5 @@
     '''Guarantees that the accumulation field type is set.
 
-    If not set, it is derivated as in the old method (TYPE[1]).
+    If not set, it is derived with the old method (TYPE[1]).
 
     Parameters
@@ -710,11 +711,11 @@
     '''Guarantees that the accumulation forecast times were set.
 
-    If it is not set, it tries to set the value for some of the
-    most commonly used data sets. Otherwise it raises an error.
+    If not set, setting the value to some of the most commonly used data sets
+    is attempted. Otherwise, an eror is raised.
 
     Parameters
     ----------
     acctime : str
-        The starting time from the accumulated forecasts.
+        The starting time for the accumulated forecasts.
 
     marsclass : str
@@ -727,9 +728,9 @@
     ------
     acctime : str
-        The starting time from the accumulated forecasts.
+        The starting time for the accumulated forecasts.
     '''
 
     if not acctime:
-        print('... Control parameter ACCTIME was not defined.')
+        print('... Control parameter ACCTIME was not set.')
         print('... Value will be set depending on field type:\n '
               '\t\t EA=06/18\n\t\t EI/OD=00/12\n\t\t EP=18')
@@ -745,10 +746,10 @@
             acctime = time[0]
         else:
-            raise ValueError('ERROR: Accumulation forecast time can not '
-                             'automatically be derived!')
+            raise ValueError('ERROR: Accumulation forecast time can not be'
+                             'derived automatically!')
     return acctime
 
 def check_accmaxstep(accmaxstep, marsclass, purefc, maxstep):
-    '''Guarantees that the accumulation forecast step were set.
+    '''Guarantees that the accumulation forecast step was set.
 
     Parameters
@@ -765,5 +766,5 @@
     maxstep : str
         The maximum forecast time step in hours from the forecast base time.
-        This is the maximum step for non flux (accumulated) forecast data.
+        This is the maximum step for non-flux (accumulated) forecast data.
 
     Return
@@ -773,5 +774,5 @@
     '''
     if not accmaxstep:
-        print('... Control parameter ACCMAXSTEP was not defined.')
+        print('... Control parameter ACCMAXSTEP was not set.')
         print('... Value will be set depending on field type/time: '
               '\n\t\t EA/EI/OD=12\n\t\t EP=24')
@@ -785,8 +786,8 @@
             print('... For pure forecast mode, the accumulated forecast must '
                   'have the same maxstep as the normal forecast fields!\n'
-                  '\t\t Accmaxstep was set to maxstep!')
+                  '\t\t ACCMAXSTEP was set to MAXSTEP!')
         else:
-            raise ValueError('ERROR: Accumulation forecast step can not '
-                             'automatically be derived!')
+            raise ValueError('ERROR: Accumulation forecast step can not be'
+                             'derived automatically!')
     else:
         if purefc and int(accmaxstep) != int(maxstep):
@@ -794,11 +795,11 @@
             print('... For pure forecast mode, the accumulated forecast must '
                   'have the same maxstep as the normal forecast fields!\n'
-                  '\t\t Accmaxstep was set to maxstep!')
+                  '\t\t ACCMAXSTEP was set to MAXSTEP!')
     return accmaxstep
 
 def check_addpar(addpar):
     '''Check that addpar has correct format of additional parameters in
-    a single string, so that it can be easily appended to the hard coded
-    parameters that are retrieved in any case.
+    a single string, so that it can be easily appended to the hard-coded
+    parameters retrieved in any case.
 
     Parameters
@@ -826,5 +827,5 @@
 
 def check_job_chunk(job_chunk):
-    '''Checks that if job chunk is set, the number is positive and non zero.
+    '''Checks that if job chunk is set, the number is positive and nonzero.
 
     Parameters
@@ -844,5 +845,5 @@
 
     if job_chunk < 0:
-        raise ValueError('ERROR: The number of job chunk is negative!\n'
+        raise ValueError('ERROR: The number of job chunks is negative!\n'
                          'It has to be a positive number!')
     elif job_chunk == 0:
Index: Source/Python/Mods/get_mars_data.py
===================================================================
--- Source/Python/Mods/get_mars_data.py	(revision 026b3592e0f0e4124d157e7b5b2d5dbea02dba75)
+++ Source/Python/Mods/get_mars_data.py	(revision 026b3592e0f0e4124d157e7b5b2d5dbea02dba75)
@@ -10,7 +10,7 @@
 #    November 2015 - Leopold Haimberger (University of Vienna):
 #        - moved the getEIdata program into a function "get_mars_data"
-#        - moved the AgurmentParser into a seperate function
-#        - adatpted the function for the use in flex_extract
-#        - renamed file to get_mars_data
+#        - moved the AgurmentParser into a separate function
+#        - adapted the function for use in flex_extract
+#        - renamed source file to get_mars_data
 #
 #    February 2018 - Anne Philipp (University of Vienna):
@@ -22,5 +22,5 @@
 #          online documentation)
 #        - use of UIFiles class for file selection and deletion
-#        - seperated get_mars_data function into several smaller pieces:
+#        - separated get_mars_data function into several smaller pieces:
 #          write_reqheader, mk_server, mk_dates, remove_old, do_retrievment
 #
@@ -36,5 +36,5 @@
 #    Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
 #*******************************************************************************
-'''This script extracts MARS data from ECMWF servers.
+'''This script extracts MARS data from ECMWF.
 
 At first, the necessary parameters from command line and CONTROL files are
@@ -44,13 +44,13 @@
 functions:
 
-    * main - the main function of the script
-    * get_mars_data - overall control of ECMWF data retrievment
+    * main            - the main function of the script
+    * get_mars_data   - overall control of ECMWF data retrievment
     * write_reqheader - writes the header into the mars_request file
-    * mk_server - creates the server connection to ECMWF servers
-    * mk_dates - defines the start and end date
-    * remove_old - deletes old retrieved grib files
-    * do_retrievement - creates individual retrievals
-
-Type: get_mars_data.py --help
+    * mk_server       - creates the server connection to ECMWF servers
+    * mk_dates        - defines the start and end date
+    * remove_old      - deletes old retrieved grib files
+    * do_retrieval    - creates individual retrievals
+
+Type get_mars_data.py --help
 to get information about command line parameters.
 Read the documentation for usage instructions.
@@ -66,6 +66,6 @@
 from datetime import datetime, timedelta
 
-# software specific classes and modules from flex_extract
-# add path to local main python path for flex_extract to get full access
+# software-specific classes and modules from flex_extract
+# add path to local main Python path for flex_extract to get full access
 sys.path.append(os.path.dirname(os.path.abspath(
     inspect.getfile(inspect.currentframe()))) + '/../')
@@ -94,8 +94,8 @@
 # ------------------------------------------------------------------------------
 def main():
-    '''Controls the program to get data out of mars.
-
-    This is done if it is called directly from command line.
-    Then it also takes program call arguments and control file input.
+    '''Controls the program to retrieve data from MARS.
+
+    This is done if called directly from command line.
+    Then, arguments and control file are taken as input.
 
     Parameters
@@ -114,8 +114,8 @@
 
 def get_mars_data(c):
-    '''Retrieves the EC data needed for a FLEXPART simulation.
-
-    Start and end dates for retrieval period is set. Retrievals
-    are divided into smaller periods if necessary and datechunk parameter
+    '''Retrieves the ECMWF data required for a FLEXPART simulation.
+
+    Start and end dates for retrieval period are set. Retrievals
+    are divided into shorter periods if necessary and if datechunk parameter
     is set.
 
@@ -137,10 +137,10 @@
 
     if c.request == 0:
-        print("Retrieving EC data!")
+        print("Retrieving ECMWF data!")
     else:
         if c.request == 1:
-            print("Printing mars requests!")
+            print("Printing MARS requests!")
         elif c.request == 2:
-            print("Retrieving EC data and printing mars request!")
+            print("Retrieving ECMWF data and printing MARS request!")
         write_reqheader(os.path.join(c.inputdir, _config.FILE_MARS_REQUESTS))
 
@@ -165,10 +165,10 @@
 
 def write_reqheader(marsfile):
-    '''Writes header with column names into mars request file.
+    '''Writes header with column names into MARS request file.
 
     Parameters
     ----------
     marsfile : str
-        Path to the mars request file.
+        Path to the MARS request file.
 
     Return
@@ -188,9 +188,10 @@
 
 def mk_server(c):
-    '''Creates a server connection with available python API.
-
-    Which API is used depends on availability and the dataset to be retrieved.
-    The CDS API is used for ERA5 dataset no matter if the user is a member or
-    a public user. ECMWF WebAPI is used for all other available datasets.
+    '''Creates a server connection with available Python API.
+
+    The API selected depends on availability and the data set to be retrieved.
+    The CDS API is used for ERA5 data, no matter whether the user is a 
+    member-state or a public user. 
+    ECMWF WebAPI is used for all other available datasets.
 
     Parameters
@@ -247,12 +248,12 @@
 
 def mk_dates(c, fluxes):
-    '''Prepares start and end date depending on flux or non flux data.
-
-    If forecast for maximum one day (upto 24h) are to be retrieved, then
+    '''Prepares start and end date depending on flux or non-flux type of data.
+
+    If forecasts for a maximum of one day (24 h) are to be retrieved, then
     collect accumulation data (flux data) with additional days in the
-    beginning and at the end (used for complete disaggregation of
+    beginning and at the end (needed for complete disaggregation of
     original period)
 
-    If forecast data longer than 24h are to be retrieved, then
+    If forecast data for more than +24 h are to be retrieved, then
     collect accumulation data (flux data) with the exact start and end date
     (disaggregation will be done for the exact time period with
@@ -314,14 +315,14 @@
     ----------
     pattern : str
-        The sub string pattern which identifies the files to be deleted.
+        The substring pattern which identifies the files to be deleted.
 
     inputdir : str, optional
-        Path to the directory where the retrieved data is stored.
-
-    Return
-    ------
-
-    '''
-    print('... removing old content of ' + inputdir)
+        Path to the directory where the retrieved data are stored.
+
+    Return
+    ------
+
+    '''
+    print('... removing old files in ' + inputdir)
 
     tobecleaned = UioFiles(inputdir, pattern)
@@ -332,5 +333,5 @@
 
 def do_retrievement(c, server, start, end, delta_t, fluxes=False):
-    '''Divides the complete retrieval period in smaller chunks and
+    '''Divides the total retrieval period into smaller chunks and
     retrieves the data from MARS.
 
@@ -351,6 +352,5 @@
 
     delta_t : datetime
-        Delta_t + 1 is the maximal time period of a single
-        retrieval.
+        Delta_t + 1 is the maximum time period of a single retrieval.
 
     fluxes : boolean, optional
@@ -365,6 +365,5 @@
 
     # since actual day also counts as one day,
-    # we only need to add datechunk - 1 days to retrieval
-    # for a period
+    # we only need to add datechunk - 1 days to retrieval for a period
     delta_t_m1 = delta_t - timedelta(days=1)
 
Index: Source/Python/Mods/prepare_flexpart.py
===================================================================
--- Source/Python/Mods/prepare_flexpart.py	(revision 026b3592e0f0e4124d157e7b5b2d5dbea02dba75)
+++ Source/Python/Mods/prepare_flexpart.py	(revision 026b3592e0f0e4124d157e7b5b2d5dbea02dba75)
@@ -13,8 +13,8 @@
 #        - job templates suitable for twice daily operational dissemination
 #        - dividing retrievals of longer periods into digestable chunks
-#        - retrieve also longer term forecasts, not only analyses and
-#          short term forecast data
+#        - retrieve also longer-term forecasts, not only analyses and
+#          short-term forecast data
 #        - conversion into GRIB2
-#        - conversion into .fp format for faster execution of FLEXPART
+#       
 #
 #    February 2018 - Anne Philipp (University of Vienna):
@@ -45,7 +45,7 @@
 
 It converts the bunch of grib files extracted via get_mars_data before,
-by doing the necessary conversion to get consistent grids or the
+by doing the necessary conversion to obtain consistent grids or the
 disaggregation of flux data. Finally, the data fields are combined
-in files per available hour with the naming convention xxYYMMDDHH,
+in files per hour available with the naming convention xxYYMMDDHH,
 where xx should be 2 arbitrary letters (mostly xx is chosen to be "EN").
 
@@ -88,8 +88,8 @@
 # ------------------------------------------------------------------------------
 def main():
-    '''Controls the program to prepare flexpart input files from mars data.
+    '''Controls the program to prepare FLEXPART input files from MARS data.
 
-    This is done if it is called directly from command line.
-    Then it also takes program call arguments and control file input.
+    This is done if called directly from the command line.
+    Then, arguments and control file are taken as input.
 
     Parameters
@@ -108,10 +108,9 @@
 
 def prepare_flexpart(ppid, c):
-    '''Converts the mars data into flexpart ready input files.
+    '''Converts the MARS data into files ready as input for FLEXPART.
 
-    Specific data fields are converted to a different grid and the flux
-    data are going to be disaggregated. The data fields are collected by
-    hour and stored in a file with a specific FLEXPART relevant naming
-    convention.
+    Certain fields are converted to a different grid and the flux
+    data are disaggregated. Fields are collected by hour and stored in a file 
+    with a specific naming convention.
 
     Parameters
Index: Source/Python/Mods/tools.py
===================================================================
--- Source/Python/Mods/tools.py	(revision 026b3592e0f0e4124d157e7b5b2d5dbea02dba75)
+++ Source/Python/Mods/tools.py	(revision 026b3592e0f0e4124d157e7b5b2d5dbea02dba75)
@@ -18,5 +18,5 @@
 #        - added documentation
 #        - moved all non class methods from former file Flexparttools in here
-#        - seperated args and control interpretation
+#        - separated args and control interpretation
 #        - added functions get_list_as_string, read_ecenv, send_mail, make_dir,
 #          put_file_to_ecserver, submit_job_to_ecserver, get_informations,
@@ -118,6 +118,6 @@
 
 def none_or_str(value):
-    '''Converts the input string into pythons None-type if the string
-    contains string "None".
+    '''Converts the input string into Pythons None type if it
+    contains the string "None".
 
     Parameters
@@ -130,5 +130,5 @@
     None or value:
         Return depends on the content of the input value. If it was "None",
-        then the python type None is returned. Otherwise the string itself.
+        then the Python type None is returned, otherwise the string itself.
     '''
     if value == 'None':
@@ -137,6 +137,6 @@
 
 def none_or_int(value):
-    '''Converts the input string into pythons None-type if the string
-    contains string "None". Otherwise it is converted to an integer value.
+    '''Converts the input string into Pythons None-type if it
+    contains string "None"; otherwise it is converted to an integer value.
 
     Parameters
@@ -158,5 +158,5 @@
 def get_cmdline_args():
     '''Decomposes the command line arguments and assigns them to variables.
-    Apply default values for non mentioned arguments.
+    Apply default values for arguments not present.
 
     Parameters
@@ -166,5 +166,5 @@
     ------
     args : Namespace
-        Contains the commandline arguments from script/program call.
+        Contains the command line arguments from the script / program call.
     '''
 
@@ -191,5 +191,5 @@
     parser.add_argument("--basetime", dest="basetime",
                         type=none_or_int, default=None,
-                        help="base such as 0 or 12 (for half day retrievals)")
+                        help="base time such as 0 or 12 (for half day retrievals)")
     parser.add_argument("--step", dest="step",
                         type=none_or_str, default=None,
@@ -200,24 +200,24 @@
     parser.add_argument("--area", dest="area",
                         type=none_or_str, default=None,
-                        help="area defined as north/west/south/east")
+                        help="area, defined by north/west/south/east")
 
     # some switches
     parser.add_argument("--debug", dest="debug",
                         type=none_or_int, default=None,
-                        help="debug mode - leave temporary files intact")
+                        help="debug mode - temporary files will be conserved")
     parser.add_argument("--oper", dest="oper",
                         type=none_or_int, default=None,
-                        help='operational mode - prepares dates with '
+                        help='operational mode - prepares dates from '
                         'environment variables')
     parser.add_argument("--request", dest="request",
                         type=none_or_int, default=None,
-                        help="list all mars requests in file mars_requests.dat")
+                        help="list all MARS requests in file mars_requests.dat")
     parser.add_argument("--public", dest="public",
                         type=none_or_int, default=None,
-                        help="public mode - retrieves the public datasets")
+                        help="public mode - retrieves public datasets")
     parser.add_argument("--rrint", dest="rrint",
                         type=none_or_int, default=None,
-                        help='Selection of old or new precipitation '
-                        'interpolation:\n'
+                        help='Selection of old or new  '
+                        'interpolation method for precipitation:\n'
                         '     0 - old method\n'
                         '     1 - new method (additional subgrid points)')
@@ -226,15 +226,15 @@
     parser.add_argument("--inputdir", dest="inputdir",
                         type=none_or_str, default=None,
-                        help='Path to the temporary directory for the '
-                        'retrieval grib files and other processing files.')
+                        help='Path to temporary directory for '
+                        'retrieved grib files and other processing files.')
     parser.add_argument("--outputdir", dest="outputdir",
                         type=none_or_str, default=None,
-                        help='Path to the final directory where the final '
-                        'FLEXPART ready input files are stored.')
+                        help='Path to final directory where '
+                        'FLEXPART input files will be stored.')
 
     # this is only used by prepare_flexpart.py to rerun a postprocessing step
     parser.add_argument("--ppid", dest="ppid",
                         type=none_or_str, default=None,
-                        help='This is the specify parent process id of a '
+                        help='This is the specify the parent process id of a '
                         'single flex_extract run to identify the files. '
                         'It is the second number in the GRIB files.')
@@ -243,10 +243,11 @@
     parser.add_argument("--job_template", dest='job_template',
                         type=none_or_str, default="job.temp",
-                        help='The job template file which are adapted to be '
-                        'submitted to the batch system on ECMWF server.')
+                        help='Job template file. Will be used for submission '
+                        'to the batch system on the ECMWF server after '
+                        'modification.')
     parser.add_argument("--queue", dest="queue",
                         type=none_or_str, default=None,
-                        help='The ECMWF server name for submission of the '
-                        'job script to the batch system '
+                        help='The name of the ECMWF server name where the'
+                        'job script is to be submitted ' 
                         '(e.g. ecgate | cca | ccb)')
 
@@ -289,5 +290,5 @@
 
     It keeps the final FLEXPART input files if program runs without
-    ECMWF Api and keywords "ectrans" or "ecstorage" are set to "1".
+    ECMWF API and keywords "ectrans" or "ecstorage" are set to "1".
 
     Parameters
@@ -410,5 +411,5 @@
 
     This method combines the single characters of the passed arguments
-    with each other. So that each character of each argument value
+    with each other in a way that each character of each argument value
     will be combined with each character of the other arguments as a tuple.
 
@@ -519,7 +520,6 @@
     pars : str
         Addpar argument from CONTROL file in the format of
-        parameter names instead of ids. The parameter short
-        names are sepearted with "/" and they are passed as
-        one single string.
+        parameter names instead of IDs. The parameter short
+        names are separated by "/" and passed as one single string.
 
     table : dict
@@ -555,5 +555,5 @@
 
 def to_param_id_with_tablenumber(pars, table):
-    '''Transform parameter names to parameter ids and add table id.
+    '''Transform parameter names to parameter IDs and add table ID.
 
     Conversion with ECMWF grib table 128.
@@ -563,7 +563,6 @@
     pars : str
         Addpar argument from CONTROL file in the format of
-        parameter names instead of ids. The parameter short
-        names are sepearted with "/" and they are passed as
-        one single string.
+        parameter names instead of ID. The parameter short
+        names are separated by "/" and passed as one single string.
 
     table : dict
@@ -576,5 +575,5 @@
     spar : str
         List of addpar parameters from CONTROL file transformed to
-        parameter ids in the format of integer.
+        parameter IDs in the format of integer.
     '''
     if not pars:
@@ -598,5 +597,6 @@
 
 def get_list_as_string(list_obj, concatenate_sign=', '):
-    '''Converts a list of arbitrary content into a single string.
+    '''Converts a list of arbitrary content into a single string using a given
+    concatenation character.
 
     Parameters
@@ -624,6 +624,6 @@
     '''Creates a directory.
 
-    It gives a warning if the directory already exists and skips process.
-    The program stops only if there is another problem.
+    If the directory already exists, an information is printed and the creation 
+    skipped. The program stops only if there is another problem.
 
     Parameters
@@ -641,5 +641,5 @@
         # errno.EEXIST = directory already exists
         if e.errno == errno.EEXIST:
-            print('WARNING: Directory {0} already exists!'.format(directory))
+            print('INFORMATION: Directory {0} already exists!'.format(directory))
         else:
             raise # re-raise exception if a different error occured
@@ -720,5 +720,5 @@
     ------
     job_id : int
-        The id number of the job as a reference at the ecmwf server.
+        The id number of the job as a reference at the ECMWF server.
     '''
 
@@ -732,5 +732,5 @@
 
         print('\n... Do you have a valid ecaccess certification key?')
-        sys.exit('... ECACCESS-JOB-SUBMIT FAILED!')
+        sys.exit('... ecaccess-job-submit FAILED!')
     except OSError as e:
         print('... ERROR CODE: ' + str(e.errno))
@@ -738,5 +738,5 @@
 
         print('\n... Most likely the ECACCESS library is not available!')
-        sys.exit('... ECACCESS-JOB-SUBMIT FAILED!')
+        sys.exit('... ecaccess-job-submit FAILED!')
 
     return job_id.decode()
@@ -744,8 +744,8 @@
 
 def get_informations(filename):
-    '''Gets basic information from an example grib file.
-
-    These information are important for later use and the
-    initialization of numpy arrays for data storing.
+    '''Extracts basic information from a sample grib file.
+
+    This information is needed for later use and the
+    initialization of numpy arrays where data are stored.
 
     Parameters
@@ -768,5 +768,5 @@
 
     # --- open file ---
-    print("Opening file for getting information data --- %s" % filename)
+    print("Opening grib file for extraction of information --- %s" % filename)
     with open(filename, 'rb') as f:
         # load first message from file
@@ -785,5 +785,5 @@
                ]
 
-        print('\nInformations are: ')
+        print('\nInformation extracted: ')
         for key in keys:
             # Get the value of the key in a grib message.
@@ -798,5 +798,5 @@
 
 def get_dimensions(info, purefc, dtime, index_vals, start_date, end_date):
-    '''This function specifies the correct dimensions for x, y and t.
+    '''This function specifies the correct dimensions for x, y, and t.
 
     Parameters
@@ -817,5 +817,5 @@
     index_vals : list of list of str
         Contains the values from the keys used for a distinct selection
-        of grib messages in processing  the grib files.
+        of GRIB messages in processing the grib files.
         Content looks like e.g.:
         index_vals[0]: ('20171106', '20171107', '20171108') ; date
@@ -849,5 +849,5 @@
 
 def execute_subprocess(cmd_list, error_msg='SUBPROCESS FAILED!'):
-    '''Executes a command line instruction via a subprocess.
+    '''Executes a command via a subprocess.
 
     Error handling is done if an error occures.
@@ -856,14 +856,13 @@
     ----------
     cmd_list : list of str
-        A list of the components for the command line execution. Each
-        list entry is a single part of the command which is seperated from
-        the rest by a blank space.
-        E.g. ['mv', file1, file2]
+        A list of the components for the command line execution. 
+        They will be concatenated with blank space for the command 
+        to be submitted, like ['mv', file1, file2] for mv file1 file2.
 
     Return
     ------
     error_msg : str, optional
-        The possible error message if the subprocess failed.
-        By default it will just tell "SUBPROCESS FAILED!".
+        Error message if the subprocess fails.
+        By default it will just say "SUBPROCESS FAILED!".
     '''
 
Index: Source/Python/install.py
===================================================================
--- Source/Python/install.py	(revision a916e8fbcb024e1f917a18325ee73c903076225c)
+++ Source/Python/install.py	(revision a916e8fbcb024e1f917a18325ee73c903076225c)
@@ -51,12 +51,12 @@
 
 Depending on the selected installation environment (locally or on the
-ECMWF server ecgate or cca) the program extracts the commandline
+ECMWF server ecgate or cca) the program extracts the command line
 arguments and the CONTROL file parameter and prepares the corresponding
 environment.
-The necessary files are collected in a tar-ball and placed
-at the target location. There its untared, the environment variables will
-be set and the Fortran code will be compiled.
-If the ECMWF environment is selected a job script is prepared and submitted
-for the remaining configurations after putting the tar-ball to the
+The necessary files are collected in a tar ball and placed
+at the target location. There, is is untared, the environment variables are
+set, and the Fortran code is compiled.
+If the ECMWF environment is selected, a job script is prepared and submitted
+for the remaining configurations after putting the tar ball on the
 target ECMWF server.
 
@@ -112,5 +112,5 @@
 def get_install_cmdline_args():
     '''Decomposes the command line arguments and assigns them to variables.
-    Apply default values for non mentioned arguments.
+    Apply default values for arguments not present.
 
     Parameters
@@ -132,34 +132,34 @@
     parser.add_argument("--makefile", dest="makefile",
                         type=none_or_str, default=None,
-                        help='Name of Makefile to use for compiling the '
+                        help='Name of makefile for compiling the '
                         'Fortran program')
     parser.add_argument("--ecuid", dest="ecuid",
                         type=none_or_str, default=None,
-                        help='The user id at ECMWF.')
+                        help='User id at ECMWF')
     parser.add_argument("--ecgid", dest="ecgid",
                         type=none_or_str, default=None,
-                        help='The group id at ECMWF.')
+                        help='Group id at ECMWF')
     parser.add_argument("--gateway", dest="gateway",
                         type=none_or_str, default=None,
-                        help='The name of the local gateway server.')
+                        help='Name of the local gateway server')
     parser.add_argument("--destination", dest="destination",
                         type=none_or_str, default=None,
-                        help='The ecaccess association, e.g. '
+                        help='ecaccess association, e.g. '
                         'myUser@genericSftp')
 
     parser.add_argument("--installdir", dest="installdir",
                         type=none_or_str, default=None,
-                        help='Root directory where '
-                        'flex_extract will be installed to.')
+                        help='Root directory of the '
+                        'flex_extract installation')
 
     # arguments for job submission to ECMWF, only needed by submit.py
     parser.add_argument("--job_template", dest='job_template',
                         type=none_or_str, default="job.template",
-                        help='The rudimentary template file to create a batch '
-                        'job template for submission to ECMWF servers.')
+                        help='Rudimentary template file to create a batch '
+                        'job template for submission to ECMWF servers')
 
     parser.add_argument("--controlfile", dest="controlfile",
                         type=none_or_str, default='CONTROL_EA5',
-                        help="The file with all CONTROL parameters.")
+                        help="A file that contains all CONTROL parameters.")
 
     args = parser.parse_args()
@@ -169,6 +169,6 @@
 
 def install_via_gateway(c):
-    '''Prepare data transfer to remote gate and submit a job script which will
-    install everything on the remote gate.
+    '''Prepare data transfer to remote gateway and submit a job script which will
+    install everything on the remote gateway.
 
     Parameters
@@ -264,6 +264,6 @@
 
 def check_install_conditions(c):
-    '''Checks a couple of necessary attributes and conditions
-    for the installation such as if they exist and contain values.
+    '''Checks necessary attributes and conditions
+    for the installation, e.g. whether they exist and contain values.
     Otherwise set default values.
 
@@ -330,6 +330,6 @@
     '''Creates a tarball with all necessary files which need to be sent to the
     installation directory.
-    It does not matter if this is local or remote.
-    Collects all python files, the Fortran source and makefiles,
+    It does not matter whether this is local or remote.
+    Collects all Python files, the Fortran source and makefiles,
     the ECMWF_ENV file, the CONTROL files as well as the
     template files.
@@ -515,5 +515,9 @@
     ----------
     makefile : str
+<<<<<<< HEAD
         Name of the makefile which should be used to compile FORTRAN
+=======
+        Name of the makefile which should be used to compile the Fortran
+>>>>>>> origin/task/language-editing
         program.
 
@@ -705,5 +709,9 @@
             print('Please edit ' + makefile +
                   ' or try another makefile in the src directory.')
+<<<<<<< HEAD
             print('Most likely ECCODES_INCLUDE_DIR, ECCODES_LIB '
+=======
+            print('Most likely GRIB_API_INCLUDE_DIR, GRIB_API_LIB '
+>>>>>>> origin/task/language-editing
                   'and EMOSLIB must be adapted.')
             print('Available makefiles:')
@@ -711,8 +719,12 @@
             sys.exit('Compilation failed!')
     except ValueError as e:
+<<<<<<< HEAD
         print('ERROR: makefile call failed:')
+=======
+        print('ERROR: make of Fortran code failed:')
+>>>>>>> origin/task/language-editing
         print(e)
     else:
-        execute_subprocess(['ls', '-l',
+        execute_subprocess(['ls', '-l', 
                             os.path.join(src_path, _config.FORTRAN_EXECUTABLE)],
                            error_msg='FORTRAN EXECUTABLE COULD NOT BE FOUND!')
