diff --git a/docs/generate-spreadsheet.md b/docs/generate-spreadsheet.md
new file mode 100644
index 0000000000000000000000000000000000000000..44caf721075ba25f894e708d386557a33e3e7210
--- /dev/null
+++ b/docs/generate-spreadsheet.md
@@ -0,0 +1,33 @@
+Auto-generation of DLB Spreadsheets
+===================================
+
+Introduction
+------------
+
+This manual explains how to automatically generate the set of spreadsheets that
+defines a DLB and is required as input to the pre-processor.
+
+This tool comes handy in the following scenarios:
+* a DLB for a new turbine needs to be generated;
+* a different wind turbine class needs to be evaluated;
+* a new parameter needs to be included in the htc file;
+* different parameters variations are required, e.g. different wind speed range or different number of turbulent seed.
+
+The generator of the cases uses an input spreadsheet where the cases are defined
+in a more compact way. 
+The tool is based on the "tags" concept that is used for the genetaion of the htc files.
+
+Main spreatsheet
+----------------
+
+A main spreadsheet is used to defines all the DLC of the DLB. The file specifies the tags that are then required in the htc files.
+
+The file has:
+* a Main sheet where some wind turbines parameters are defined, the tags are initialized, and the definitions of turbulence and gusts are given.
+* a series of other sheets, each defining a DLC. In these sheets the tags that changes in that DLC are defined.
+
+The tags are devided into three possible different categories:
+* Constants (C). Constants are tags that do not change in a DLC, e.g. simulation time, output format, ...;
+* Variables (V). Variables are tags that define the number of cases in a DLC through their combinations, e.g. wind speed, number of turbilence seeds, wind direction, ..;
+* Functions (F). Functions are tags that depend on other tags through an expression, e.g. turbulence intensity, case name, ....
+
diff --git a/wetb/prepost/GenerateDLCs.py b/wetb/prepost/GenerateDLCs.py
index 3bcf9bd2d5db7d36c437f551bc6f0994da094196..7003a8ff65e02d49de7346886947932093316897 100644
--- a/wetb/prepost/GenerateDLCs.py
+++ b/wetb/prepost/GenerateDLCs.py
@@ -14,6 +14,8 @@ from __future__ import absolute_import
 from numpy import floor, arctan, pi
 import pandas as pd
 import xlrd
+from argparse import ArgumentParser
+import os
 
 
 def multi_for(iterables):
@@ -230,7 +232,9 @@ class GenerateDLCCases(GeneralDLC):
             self.add_formulas(dlc, general_functions)
             self.eval_formulas(dlc)
             df = pd.DataFrame(dlc)
-            df.to_excel(folder+sheet.name+'.xls', index=False)
+            if not os.path.exists(folder):
+                os.makedirs(folder)
+            df.to_excel(os.path.join(folder, sheet.name+'.xls'), index=False)
 
 
 class RunTest():
@@ -257,6 +261,12 @@ class RunTest():
             assert_frame_equal(book1, book2, check_dtype=False)
 
 if __name__ == '__main__':
+
+    parser = ArgumentParser(description = "generator of DLB spreadsheets")
+    parser.add_argument('--master', type=str, default='DLCs.xlsx', action='store',
+                        dest='filename', help='Master spreadsheet file')
+    parser.add_argument('--folder', type=str, default='', action='store',
+                        dest='folder', help='Destination folder name')
+    opt = parser.parse_args()
     DLB = GenerateDLCCases()
-    DLB.execute()
-    pass
+    DLB.execute(filename=opt.filename, folder=opt.folder)
\ No newline at end of file