diff --git a/.editorconfig b/.editorconfig index 2a7a00f3dc..97c8ef6e5a 100644 --- a/.editorconfig +++ b/.editorconfig @@ -17,6 +17,10 @@ charset = utf-8 [*.{py,java,r,R}] indent_size = 4 +# 3 space indentation +[*.{rst}] +indent_size = 3 + # 2 space indentation [*.{js,json,yml,html,xml,ncl}] indent_size = 2 diff --git a/doc/sphinx/source/conf.py b/doc/sphinx/source/conf.py deleted file mode 100644 index c9a8492129..0000000000 --- a/doc/sphinx/source/conf.py +++ /dev/null @@ -1,395 +0,0 @@ -# -*- coding: utf-8 -*- -# -# ESMValTool documentation build configuration file, created by -# sphinx-quickstart on Tue Jun 2 11:34:13 2015. -# -# This file is execfile()d with the current directory set to its -# containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -import sys -import os - - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -sys.path.insert(0, os.path.abspath('../../../')) -sys.path.insert(0, os.path.abspath('../../../diag_scripts/lib/python')) -sys.path.insert(0, os.path.abspath('../../../diag_scripts/aux/LMU_ESACCI-diagnostics')) -sys.path.insert(0, os.path.abspath('../../../diag_scripts/aux/catchment_analysis')) -sys.path.insert(0, os.path.abspath('../../../interface_scripts')) - -#add process_nl_docs in sphinx documentation source folder -sys.path.insert(0, os.path.abspath('.')) -import process_ncl_docs - - -# not the best way to set the pathes, but working for autodoc ... - - - -# add custom extensions directory to python path -#sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)), 'extensions')) - -# -- General configuration ------------------------------------------------ - -# If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [ - 'sphinx.ext.autodoc', - 'sphinx.ext.doctest', - 'sphinx.ext.intersphinx', - 'sphinx.ext.todo', - 'sphinx.ext.coverage', - 'sphinx.ext.mathjax', - 'sphinx.ext.ifconfig', - 'sphinx.ext.viewcode', -] -process_ncl_docs.create_doc_files_from_ncl() -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix of source filenames. -source_suffix = '.rst' - -# The encoding of source files. -#source_encoding = 'utf-8-sig' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = u'ESMValTool' -copyright = u'2015, Veronika Eyring, Axel Lauer, Mattia Righi, Martin Evaldsson et al.' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = '1.1.0' -# The full version, including alpha/beta/rc tags. -release = '1.1.0' - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -#language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -exclude_patterns = [] - -# The reST default role (used for this markup: `text`) to use for all -# documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] - -# If true, keep warnings as "system message" paragraphs in the built documents. -#keep_warnings = False - - -# -- Options for HTML output ---------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -html_theme = 'default' - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -#html_theme_options = {} - -# Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -#html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -#html_logo = None - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] - -# Add any extra paths that contain custom files (such as robots.txt or -# .htaccess) here, relative to this directory. These files are copied -# directly to the root of the documentation. -#html_extra_path = [] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_domain_indices = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None - -# Output file base name for HTML help builder. -htmlhelp_basename = 'ESMValTooldoc' - - -# -- Options for LaTeX output --------------------------------------------- - -latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', - -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', - -# Additional stuff for the LaTeX preamble. -'preamble': r''' - \makeatletter - \renewcommand{\maketitle}{ - \newcommand{\MONTH}{% - \ifcase\the\month - \or January% 1 - \or February% 2 - \or March% 3 - \or April% 4 - \or May% 5 - \or June% 6 - \or July% 7 - \or August% 8 - \or September% 9 - \or October% 10 - \or November% 11 - \or December% 12 - \fi} - \begin{titlepage} - \begin{center} - \includegraphics[width=\textwidth]{../../source/figures/ESMValTool-logo.pdf}\par - \vspace{2cm} - {\Huge \bf \sffamily User's and Developer's Guide \par} - \vspace{1cm} - {\Large \sffamily \MONTH ~ \the\year \par} - \vspace{12cm} - Deutsches Zentrum f\"ur Luft- und Raumfahrt (DLR), Institut f\"ur Physik der Atmosph\"are, Oberpfaffenhofen, Germany \par - \vspace{0.5cm} - http://www.esmvaltool.org/ \par - \end{center} - \end{titlepage} - \clearpage - } - \makeatother''' -} - -# latex_additional_files = [] - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, -# author, documentclass [howto, manual, or own class]). -latex_documents = [ - ('index', 'ESMValTool_Users_Guide.tex', u'ESMValTool User\'s and Developer\'s Guide', - u'Veronika Eyring, Axel Lauer, Mattia Righi, Martin Evaldsson et al.', 'manual'), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = True -latex_toplevel_sectioning = "part" - -# If true, show page references after internal links. -#latex_show_pagerefs = False - -# If true, show URL addresses after external links. -#latex_show_urls = False - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_domain_indices = True - - -# -- Options for manual page output --------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -#man_pages = [ -# ('index', 'esmvaltool', u'ESMValTool Documentation', -# [u'Veronika Eyring, Axel Lauer, Mattia Righi, Martin Evaldsson et al.'], 1) -#] - -# If true, show URL addresses after external links. -#man_show_urls = False - - -# -- Options for Texinfo output ------------------------------------------- - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -#texinfo_documents = [ -## ('index', 'ESMValTool', u'ESMValTool Documentation', -# u'Veronika Eyring, Axel Lauer, Mattia Righi, Martin Evaldsson et al.', 'ESMValTool', 'One line #description of project.', -# 'Miscellaneous'), -#] - -# Documents to append as an appendix to all manuals. -#texinfo_appendices = [] - -# If false, no module index is generated. -#texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' - -# If true, do not generate a @detailmenu in the "Top" node's menu. -#texinfo_no_detailmenu = False - - -# -- Options for Epub output ---------------------------------------------- - -# Bibliographic Dublin Core info. -epub_title = u'ESMValTool' -epub_author = u'Veronika Eyring, Axel Lauer, Mattia Righi, Martin Evaldsson et al.' -epub_publisher = u'Veronika Eyring, Axel Lauer, Mattia Righi, Martin Evaldsson et al.' -epub_copyright = u'2015, Veronika Eyring, Axel Lauer, Mattia Righi, Martin Evaldsson et al.' - -# The basename for the epub file. It defaults to the project name. -#epub_basename = u'ESMValTool' - -# The HTML theme for the epub output. Since the default themes are not optimized -# for small screen space, using the same theme for HTML and epub output is -# usually not wise. This defaults to 'epub', a theme designed to save visual -# space. -#epub_theme = 'epub' - -# The language of the text. It defaults to the language option -# or en if the language is not set. -#epub_language = '' - -# The scheme of the identifier. Typical schemes are ISBN or URL. -#epub_scheme = '' - -# The unique identifier of the text. This can be a ISBN number -# or the project homepage. -#epub_identifier = '' - -# A unique identification for the text. -#epub_uid = '' - -# A tuple containing the cover image and cover page html template filenames. -#epub_cover = () - -# A sequence of (type, uri, title) tuples for the guide element of content.opf. -#epub_guide = () - -# HTML files that should be inserted before the pages created by sphinx. -# The format is a list of tuples containing the path and title. -#epub_pre_files = [] - -# HTML files shat should be inserted after the pages created by sphinx. -# The format is a list of tuples containing the path and title. -#epub_post_files = [] - -# A list of files that should not be packed into the epub file. -epub_exclude_files = ['search.html'] - -# The depth of the table of contents in toc.ncx. -#epub_tocdepth = 3 - -# Allow duplicate toc entries. -#epub_tocdup = True - -# Choose between 'default' and 'includehidden'. -#epub_tocscope = 'default' - -# Fix unsupported image types using the PIL. -#epub_fix_images = False - -# Scale large images. -#epub_max_image_width = 0 - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -#epub_show_urls = 'inline' - -# If false, no index is generated. -#epub_use_index = True - -numfig = True - -# Example configuration for intersphinx: refer to the Python standard library. -intersphinx_mapping = {'http://docs.python.org/': None} diff --git a/doc/sphinx/source/conf.py b/doc/sphinx/source/conf.py new file mode 120000 index 0000000000..8b72b338ae --- /dev/null +++ b/doc/sphinx/source/conf.py @@ -0,0 +1 @@ +../../../esmvaltool/doc/sphinx/source/conf.py \ No newline at end of file diff --git a/esmvaltool/doc/sphinx/source/conf.py b/esmvaltool/doc/sphinx/source/conf.py index c9a8492129..c494c76351 100644 --- a/esmvaltool/doc/sphinx/source/conf.py +++ b/esmvaltool/doc/sphinx/source/conf.py @@ -19,11 +19,9 @@ # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. -sys.path.insert(0, os.path.abspath('../../../')) -sys.path.insert(0, os.path.abspath('../../../diag_scripts/lib/python')) -sys.path.insert(0, os.path.abspath('../../../diag_scripts/aux/LMU_ESACCI-diagnostics')) -sys.path.insert(0, os.path.abspath('../../../diag_scripts/aux/catchment_analysis')) -sys.path.insert(0, os.path.abspath('../../../interface_scripts')) +esmvaltool_path = os.path.abspath('../../../..') +sys.path.insert(0, esmvaltool_path) +import esmvaltool.version #add process_nl_docs in sphinx documentation source folder sys.path.insert(0, os.path.abspath('.')) @@ -77,9 +75,9 @@ # built documents. # # The short X.Y version. -version = '1.1.0' +version = esmvaltool.version.__version__ # The full version, including alpha/beta/rc tags. -release = '1.1.0' +release = esmvaltool.version.__version__ # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/esmvaltool/doc/sphinx/source/developer_guide.rst b/esmvaltool/doc/sphinx/source/developer_guide.rst new file mode 100644 index 0000000000..84081f593e --- /dev/null +++ b/esmvaltool/doc/sphinx/source/developer_guide.rst @@ -0,0 +1,10 @@ +.. _developer_guide: + +################# +Developer's guide +################# + +.. toctree:: + :maxdepth: 3 + + porting diff --git a/esmvaltool/doc/sphinx/source/index.rst b/esmvaltool/doc/sphinx/source/index.rst index cb31400b3f..601e8b07d5 100644 --- a/esmvaltool/doc/sphinx/source/index.rst +++ b/esmvaltool/doc/sphinx/source/index.rst @@ -1,10 +1,10 @@ -Welcome to ESMValTool's documentation! -====================================== - .. toctree:: :maxdepth: 3 - porting + user_guide + developer_guide + + Indices and tables ================== diff --git a/esmvaltool/doc/sphinx/source/installation_guide.rst b/esmvaltool/doc/sphinx/source/installation_guide.rst new file mode 100644 index 0000000000..b93777e69e --- /dev/null +++ b/esmvaltool/doc/sphinx/source/installation_guide.rst @@ -0,0 +1,25 @@ +.. _installation_guide: + +********************* +Installing ESMValTool +********************* + +Here we will have the instalation guide + +Conda installation +================== + +Will be available for the release of 2.0 + + +Docker installation +=================== + +Docker blablabla + + +Install from source +=================== + +Installation + diff --git a/esmvaltool/doc/sphinx/source/porting.rst b/esmvaltool/doc/sphinx/source/porting.rst index f634c242a2..96dfaed42b 100644 --- a/esmvaltool/doc/sphinx/source/porting.rst +++ b/esmvaltool/doc/sphinx/source/porting.rst @@ -1,9 +1,10 @@ .. _porting: +**************************************************** Porting namelists and diagnostics to ESMValTool v2.0 **************************************************** -This guide summarizes the main steps to be taken in order to port an ESMValTool namelist and the corresponding diagnostic(s) from v1.0 to v2.0, hereafter also referred as the *"old"* and the *"new version"*, respectively.. The new ESMValTool version is being developed in the public git branch ``REFACTORING_backend``. It is strongly recommended to create a branch from ``REFACTORING_backend`` for each of the namelist to be ported and to name it ``REFACTORING_``. +This guide summarizes the main steps to be taken in order to port an ESMValTool namelist and the corresponding diagnostic(s) from v1.0 to v2.0, hereafter also referred as the *"old"* and the *"new version"*, respectively.. The new ESMValTool version is being developed in the public git branch ``REFACTORING_backend``. It is strongly recommended to create a branch from ``REFACTORING_backend`` for each of the namelist to be ported and to name it ``REFACTORING_``. ``REFACTORING_backend`` contains both v1.0 and v2.0, the latter in the ``./esmvaltool/`` directory. It is therefore possible, and recommended, to run both versions of the ESMValTool within the same branch: this will facilitate testing and comparison of the two version as long as the porting process proceeds. @@ -94,9 +95,9 @@ The new ESMValTool version includes a completely revised interface, handling the +--------------------------------------------+-------------------------------------------+------------------+ | ``ncl.interface`` | ``settings.ncl`` in ``run_dir`` and | all .ncl scripts | | | ``interface_scripts/interface.ncl`` | | -+--------------------------------------------+-------------------------------------------+------------------+ ++--------------------------------------------+-------------------------------------------+------------------+ -The following changes shall also be considered: +The following changes shall also be considered: - ``run_dir`` (previous ``interface_data``), ``plot_dir``, ``work_dir`` are now unique to each diagnostic script, so it is no longer necessary to define specific paths in the diagnostic scripts to prevent file collision; - the interface functions ``interface_get_*`` and ``get_figure_filename`` are no longer available: their functionalities can be easily reproduced using the ``model_info`` and ``input_file_info`` logicals and their attributes; diff --git a/esmvaltool/doc/sphinx/source/user_guide.rst b/esmvaltool/doc/sphinx/source/user_guide.rst new file mode 100644 index 0000000000..6c84d257fa --- /dev/null +++ b/esmvaltool/doc/sphinx/source/user_guide.rst @@ -0,0 +1,12 @@ +.. _user_guide: + +############ +User's guide +############ + +Introduction to the user guide + +.. toctree:: + :maxdepth: 3 + + installation_guide