Index: source/python/classes/ControlFile.py
===================================================================
--- source/python/classes/ControlFile.py	(revision 87ae9a33e79f81a14c425397b55953f36f531b06)
+++ source/python/classes/ControlFile.py	(revision f2616a333db26377c5a93a897e13f877b4118e5a)
@@ -68,5 +68,5 @@
                          check_acctime, check_accmaxstep, check_time,
                          check_logicals_type, check_len_type_time_step,
-                         check_addpar)
+                         check_addpar, check_job_chunk)
 
 # ------------------------------------------------------------------------------
@@ -383,4 +383,5 @@
         self.addpar = check_addpar(self.addpar)
 
+        self.job_chunk = check_job_chunk(self.job_chunk)
 
         return
Index: source/python/mods/checks.py
===================================================================
--- source/python/mods/checks.py	(revision 45fc9b4fd620d3706bf01709e828b293319d05f3)
+++ source/python/mods/checks.py	(revision f2616a333db26377c5a93a897e13f877b4118e5a)
@@ -796,2 +796,25 @@
     return addpar
 
+
+def check_job_chunk(job_chunk):
+    '''Checks that the job chunk number is positive and non zero.
+
+    Parameters
+    ----------
+    job_chunk : :obj:`integer`
+        The number of days for a single job script.
+
+    Return
+    ------
+    job_chunk : :obj:`integer`
+        The number of days for a single job script.
+    '''
+    if job_chunk < 0:
+        raise ValueError('ERROR: The number of job chunk is negative!\n'
+                         'It has to be a positive number!')
+    elif job_chunk == 0:
+        job_chunk = None
+    else:
+        pass
+
+    return job_chunk
Index: source/python/mods/tools.py
===================================================================
--- source/python/mods/tools.py	(revision bf48c8a560eeb923f526cddeb478e88a897576f1)
+++ source/python/mods/tools.py	(revision f2616a333db26377c5a93a897e13f877b4118e5a)
@@ -128,4 +128,7 @@
                         type=none_or_int, default=None,
                         help="# of days to be retrieved at once")
+    parser.add_argument("--job_chunk", dest="job_chunk",
+                        type=none_or_int, default=None,
+                        help="# of days to be retrieved within a single job")
     parser.add_argument("--controlfile", dest="controlfile",
                         type=none_or_str, default='CONTROL.temp',
Index: source/python/submit.py
===================================================================
--- source/python/submit.py	(revision 9aefaadcad4f37803b25dccec9574c3b437be4e6)
+++ source/python/submit.py	(revision f2616a333db26377c5a93a897e13f877b4118e5a)
@@ -48,4 +48,5 @@
 import inspect
 import collections
+from datetime import datetime, timedelta
 
 # software specific classes and modules from flex_extract
@@ -140,7 +141,35 @@
                                 jtemplate[:-5] + '.ksh')
 
-        clist = c.to_list()
-
-        mk_jobscript(jtemplate, job_file, clist)
+        # divide time periode into specified number of job chunks
+        # to have multiple job scripts
+        if c.job_chunk:
+            start = datetime.strptime(c.start_date, '%Y%m%d')
+            end = datetime.strptime(c.end_date, '%Y%m%d')
+            chunk = timedelta(days=c.job_chunk)
+
+            while start <= end:
+                if (start + chunk) <= end:
+                    c.end_date = (start + chunk).strftime("%Y%m%d")
+                else:
+                    c.end_date = end.strftime("%Y%m%d")
+                print c.start_date +' bis ' + c.end_date
+
+                clist = c.to_list()
+
+                mk_jobscript(jtemplate, job_file, clist)
+
+                job_id = submit_job_to_ecserver(queue, job_file)
+                print('The job id is: ' + str(job_id.strip()))
+
+                start = start + chunk
+                c.start_date = start.strftime("%Y%m%d")
+        # submit a single job script
+        else:
+            clist = c.to_list()
+
+            mk_jobscript(jtemplate, job_file, clist)
+
+            job_id = submit_job_to_ecserver(queue, job_file)
+            print('The job id is: ' + str(job_id.strip()))
 
     else:
@@ -161,8 +190,9 @@
         mk_jobscript(jtemplate, job_file, clist)
 
-    # --------- submit the job_script to the ECMWF server
-    job_id = submit_job_to_ecserver(queue, job_file)
-    print('The job id is: ' + str(job_id.strip()))
-    print('You should get an email with subject flex.hostname.pid')
+        job_id = submit_job_to_ecserver(queue, job_file)
+        print('The job id is: ' + str(job_id.strip()))
+
+
+    print('You should get an email per job with subject flex.hostname.pid')
 
     return
@@ -223,4 +253,5 @@
     return
 
+
 if __name__ == "__main__":
     main()
