diff --git a/autosubmit/config/files/expdef.conf b/autosubmit/config/files/expdef.conf index 986910deff8898e7a0b54a7c0abca7ccfb1f3d71..a7d0be70c28b64e797e18f646cdc391cf461d9c2 100644 --- a/autosubmit/config/files/expdef.conf +++ b/autosubmit/config/files/expdef.conf @@ -31,6 +31,8 @@ CHUNKINI = # Calendar used. LIST: standard, noleap CALENDAR = standard # List of members that can be included in this run. Optional. +# RUN_ONLY_MEMBERS = fc0 fc1 fc2 fc3 fc4 +# RUN_ONLY_MEMBERS = fc[0-4] RUN_ONLY_MEMBERS = [project] diff --git a/docs/source/conf.py b/docs/source/conf.py index de38b955ec4bc53d02dfc37e01df9d474b4dc192..17d00ff78a1319f481444df45898409a702650d0 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -54,7 +54,7 @@ master_doc = 'index' # General information about the project. project = u'autosubmit' # noinspection PyShadowingBuiltins -copyright = u'2018, Barcelona Supercomputing Center, BSC' +copyright = u'2021, Barcelona Supercomputing Center, BSC' author = u'Earth Science Department, Barcelona Supercomputing Center, BSC' # The version info for the project you're documenting, acts as replacement for @@ -111,8 +111,8 @@ pygments_style = 'sphinx' todo_include_todos = False autodoc_mock_imports = ["portalocker", "argparse", "python-dateutil", "pydotplus", "pyparsing", - 'numpy', 'matplotlib', 'matplotlib.pyplot', 'matplotlib.gridspec', 'matplotlib.patches', 'paramiko', - 'mock', "networkx", 'networkx.algorithms.dag', 'bscearth.utils', 'bscearth.utils.config_parser', + 'numpy', 'matplotlib', 'matplotlib.pyplot', 'matplotlib.gridspec', 'matplotlib.patches', 'paramiko', + 'mock', "networkx", 'networkx.algorithms.dag', 'bscearth.utils', 'bscearth.utils.config_parser', 'bscearth.utils.date'] # -- Options for HTML output ---------------------------------------------- diff --git a/docs/source/tutorial.rst b/docs/source/tutorial.rst index d15d4e5185ad7bd734ce1898440c282cd78af81c..39284bb3823fbb35989eaf7cdcf6a12b762a3b85 100644 --- a/docs/source/tutorial.rst +++ b/docs/source/tutorial.rst @@ -100,6 +100,10 @@ Examples: NUMCHUNKS = 2 # Calendar used. LIST: standard, noleap CALENDAR = standard + # List of members that can be included in this run. Optional. + # RUN_ONLY_MEMBERS = fc0 fc1 fc2 fc3 fc4 + # RUN_ONLY_MEMBERS = fc[0-4] + RUN_ONLY_MEMBERS = [rerun] # Is a rerun or not? [Default: Do set FALSE]. BOOLEAN = TRUE, FALSE diff --git a/docs/source/usage.rst b/docs/source/usage.rst index 8e727d0a4f27c106df84fe8ca183f450e5deeb30..ea29da196870cdb03bd95e9a82bc9170e0c370a9 100644 --- a/docs/source/usage.rst +++ b/docs/source/usage.rst @@ -30,6 +30,7 @@ Command list .. toctree:: usage/create_exp + usage/create_members usage/check usage/describe usage/run diff --git a/docs/source/usage/create_members.rst b/docs/source/usage/create_members.rst new file mode 100644 index 0000000000000000000000000000000000000000..d6d8894bd5f248a2390082c982e57f7515ad80ff --- /dev/null +++ b/docs/source/usage/create_members.rst @@ -0,0 +1,50 @@ +How to create and run only selected members +=========================================== + +Your experiment is defined and correctly configured, but you want to create it only considering some selected members, and also to avoid creating the whole experiment to run only the members you want. Then, you can do it by configuring the setting **RUN_ONLY_MEMBERS** in the file: + +:: + + vi /cxxx/conf/expdef_cxxx.conf + +.. code-block:: ini + + [DEFAULT] + # Experiment identifier + # No need to change + EXPID = cxxx + # HPC name. + # No need to change + HPCARCH = ithaca + + [experiment] + # Supply the list of start dates. Available formats: YYYYMMDD YYYYMMDDhh YYYYMMDDhhmm + # Also you can use an abreviated sintax for multiple dates with common parts: + # 200001[01 15] <=> 20000101 20000115 + # DATELIST = 19600101 19650101 19700101 + # DATELIST = 1960[0101 0201 0301] + DATELIST = 19900101 + # Supply the list of members. LIST = fc0 fc1 fc2 fc3 fc4 + MEMBERS = fc0 + # Chunk size unit. STRING = hour, day, month, year + CHUNKSIZEUNIT = month + # Chunk size. NUMERIC = 4, 6, 12 + CHUNKSIZE = 1 + # Total number of chunks in experiment. NUMERIC = 30, 15, 10 + NUMCHUNKS = 2 + # Calendar used. LIST: standard, noleap + CALENDAR = standard + # List of members that can be included in this run. Optional. + # RUN_ONLY_MEMBERS = fc0 fc1 fc2 fc3 fc4 + # RUN_ONLY_MEMBERS = fc[0-4] + RUN_ONLY_MEMBERS = + + + +You can set the **RUN_ONLY_MEMBERS** value as shown in the format examples above it. Then, ``Job List`` generation is performed as usual. However, an extra step is performed that will filter the jobs according to **RUN_ONLY_MEMBERS**. It discards jobs belonging to members not considered in the value provided, and also we discard these jobs from the dependency tree (parents and children). The filtered ``Job List`` is returned. + +The necessary changes have been implemented in the API so you can correctly visualize experiments implementing this new setting in **Autosubmit GUI**. + +.. important:: + Wrappers are correctly formed considering the resulting jobs. +