Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Streamline observations download #1657

Merged
merged 222 commits into from
Feb 25, 2022
Merged
Show file tree
Hide file tree
Changes from 216 commits
Commits
Show all changes
222 commits
Select commit Hold shift + click to select a range
2975dcb
Update docker and create action
Aug 20, 2020
aee817c
Remove Julia
Aug 20, 2020
336eb1f
Update dockerfiles
Aug 24, 2020
812d63d
Update dockerfile
Aug 24, 2020
13c54c0
First refactor of download scripts
May 12, 2020
c133be8
Add support for ESACCI data through ftp
May 12, 2020
8194493
Add progress bar to ftp and esacci_fire
May 12, 2020
11e68b4
Fix fire and improve ftp progress bar
May 13, 2020
39dd435
Added wget download support
May 13, 2020
ff6fb40
More work on NASA datasets
May 13, 2020
c67c923
Fix flake8 and reorganize
May 13, 2020
5c1a814
Add berkeley earth downloader
May 13, 2020
554fcc1
Added calipso
May 13, 2020
103c1a5
Add ESACCI-OC download
May 13, 2020
bb49b1c
Add ncep and common base class
May 13, 2020
a1cda97
Add progressbar2 dependency
May 13, 2020
e7f5043
Fix flake8 tests
May 14, 2020
c46a388
Add data command to ESMValTool
May 14, 2020
32ce996
Reorganize and rename formatters
May 14, 2020
0fbe69f
Fix tests
May 14, 2020
12db72d
Fix tests
May 15, 2020
28ed187
Refactor download and format
May 26, 2020
76261e4
Add install and fix some scripts
May 27, 2020
1b1263f
Fix BerkeleyEarth
Aug 18, 2020
acb5caf
Add APHRO-MA downloader
Aug 19, 2020
7cb30c5
Fix CALIPSO-GOCCP
Aug 19, 2020
ca61c59
Add AURA-TES downloader
Aug 19, 2020
43d6fd0
Updated CDS datasets
Aug 20, 2020
cdef8ff
Update CowtanWay
Aug 31, 2020
e551616
Add CRU downloads
Aug 31, 2020
d9833e1
Add ESACCI-Aerosol
Aug 31, 2020
c9bcefd
Fix get_year
Aug 31, 2020
0d9712d
Fix ESACCI-Cloud
Aug 31, 2020
165c857
Add Duveiller2018
Aug 31, 2020
cbb2115
Add CT2019
Aug 31, 2020
83d9805
Add Eppley-VGPM-MODIS
Aug 31, 2020
67bfa07
Fix flake8
Aug 31, 2020
6da93c4
Add lots of datasets
Sep 1, 2020
ea4440b
Add HALOE
Sep 1, 2020
c24ea1d
Add HadCRUT and HadISST
Sep 1, 2020
2074213
Add GPCC
Sep 1, 2020
1141977
Add ISCCP-FH
Sep 1, 2020
d204c24
Add Landschuetzer2016
Sep 1, 2020
50a6e6c
Add LandFlux-EVAL
Sep 1, 2020
c00e3a3
Fix Flake8
Sep 1, 2020
2857de3
Add PERSIANN
Sep 1, 2020
fa0c45c
Add PHC
Sep 1, 2020
d6f156a
Add WOA
Sep 1, 2020
d00f174
Add REGEN
Sep 1, 2020
e295666
Fix flake8
Sep 4, 2020
7cac5e2
Move and reorganize
Sep 14, 2020
729368c
Added info for a bunch of new datasets
Sep 14, 2020
8a8da80
Finished added info for all datasets
Sep 15, 2020
6f07581
Fix Flake8
Sep 15, 2020
98ff5b2
Improve and fix tests
Sep 15, 2020
6eda8c7
Fix a bunch of codacy issues
Sep 15, 2020
5c49fdb
Fix codacy issues
Sep 16, 2020
c6e19b3
Improve doc
Sep 16, 2020
62b6572
Improve doc
Sep 17, 2020
b20fbf5
Improve doc
Sep 17, 2020
e0a3cec
Merge remote-tracking branch 'origin/master' into refactor_downloads
Sep 18, 2020
825eaec
Add ESACCI-SOS
Sep 21, 2020
806135a
Make ESACCI_SOS use OBS6
Sep 29, 2020
ab31ade
Fix data info
Oct 19, 2020
c01b4bd
Fix paths
Oct 19, 2020
c24b6f2
Fix utilities
Oct 19, 2020
8f158d6
Merge branch 'master' of https://github.com/ESMValGroup/ESMValTool in…
Nov 25, 2020
84a0255
Make utils public and add info for last dataset
Nov 25, 2020
d88506a
Fix flake8
Nov 25, 2020
5b111cb
Fix esrl cmor script
Nov 25, 2020
4958bbf
Test datasets info
Nov 25, 2020
35ebbf1
Pass pre-commit hooks
Nov 25, 2020
31d8fc5
Pre-commit datasets
Nov 25, 2020
78e57a3
Pre commit formatters passed
Nov 25, 2020
5907fb8
Merge branch 'master' of https://github.com/ESMValGroup/ESMValTool in…
Jan 19, 2021
467ed49
Remove unwanted changes
Jan 19, 2021
48594b1
Add latest changes
Jan 19, 2021
efffda8
Remove unwanted file
Jan 19, 2021
882074b
Fix some tests
Jan 19, 2021
1fa5dd3
Merge branch 'main' of https://github.com/ESMValGroup/ESMValTool into…
Aug 4, 2021
0b97bca
Format files
Aug 4, 2021
65a94fe
Fix some tests
Aug 4, 2021
997d373
Fix CDS-SATELLITE-ALBEDO
Aug 5, 2021
ff04320
Fix tests
Aug 5, 2021
9c58535
Fix format
Sep 2, 2021
974d240
Add source to displayed info
Sep 2, 2021
b3dfee1
Fix overwrite with wget
Sep 2, 2021
38acdd2
Hide some name errors
Sep 2, 2021
8ddfa55
Fix ESACCI Aerosol download
Sep 23, 2021
ae085d7
Merge branch 'main' of https://github.com/ESMValGroup/ESMValTool into…
Sep 23, 2021
b8a7dcc
Make dataset list mandatory
Sep 28, 2021
53bd898
Merge branch 'main' of https://github.com/ESMValGroup/ESMValTool into…
Nov 29, 2021
246cfba
Fix GLODAP and flake8
Nov 29, 2021
60899b3
Fix GCP
Nov 29, 2021
9c37eb7
Add HadCRUT5 downloader
Nov 29, 2021
6d8697d
Add last datasets to the datasets.yml
Nov 29, 2021
fb5444c
Fix path for tests
Nov 29, 2021
7857d80
Fix WOA
Nov 29, 2021
fa17d7b
First bunch of fixes for the tier issue
Nov 29, 2021
9803179
Fix NDP and other datasets
Nov 30, 2021
1a220a2
Fix OSI-450 cmorization and add downloader
Nov 30, 2021
7696958
Fix MTE
Nov 30, 2021
32068e0
Fix cmor interface
Nov 30, 2021
b04802b
Fix schema
Nov 30, 2021
ba97bef
Fix prepare
Nov 30, 2021
8bb1271
Fix doc
Nov 30, 2021
03c8de4
Add tests for downloader interfaces
Nov 30, 2021
2749033
Fix data download interface test
Dec 1, 2021
c1f899a
Fix default start and end dates in downloaders
Dec 1, 2021
645e557
Fix PATMOS-x and PERSIANN-CDR downloads
Dec 1, 2021
726f55d
Fix some review comments
Dec 1, 2021
9ff1881
Fix some review comments
Dec 1, 2021
4922839
Fixes for ESACCI-OZONE
Dec 2, 2021
5cb1fd8
Fixes interface calls for NCL
Dec 2, 2021
165e6ae
Removed oudated and not working downloaders
Dec 2, 2021
47d91bf
Fix temp folder name according to command called
Dec 2, 2021
a105880
FIx NDP
Dec 6, 2021
88866d9
Fix NDP doc
Dec 6, 2021
ca5630b
Merge branch 'main' of https://github.com/ESMValGroup/ESMValTool into…
Dec 6, 2021
9828c31
Fix hardcode tier in NASA downloader
Dec 6, 2021
6939c75
Update esmvaltool/cmorizers/data/formatters/datasets/cds_satellite_so…
Dec 7, 2021
1274e86
Apply comments from Remi review
Dec 7, 2021
df88fa3
Do not gues_bounds if they are already there
Dec 7, 2021
131ccf2
Fix NDP
Dec 7, 2021
44d2937
Fix CDS Soil Moisture
Dec 7, 2021
501cd88
Set default file_pattern for CDS
Dec 7, 2021
1691332
Merge branch 'main' of https://github.com/ESMValGroup/ESMValTool into…
Dec 7, 2021
ce01a65
Fix ESACCI-SOS
Dec 7, 2021
15f924c
Fix CDS-XCH4
Dec 7, 2021
baf22d5
Fix UERRA
Dec 7, 2021
3617d02
Address Remi comments
Dec 7, 2021
b5383cf
Explicit imports
Dec 7, 2021
d2278bb
Skip certificate check in NASA datasets
Dec 7, 2021
1135e83
Fix ESACCI-OZONE download
Dec 7, 2021
5556e12
Fix ESACCI-OZONE coordinate
Dec 7, 2021
668eb9f
changed cmorizer paths in recipe docs
Dec 8, 2021
2ec941b
writing cmorizer instructions updated
Dec 9, 2021
ad35405
Update dataset.rst
remi-kazeroni Dec 9, 2021
c9a5dbd
obtaining input doc updated
Dec 9, 2021
fed8c5d
making dataset doc updated
Dec 9, 2021
8fe867f
Merge branch 'refactor_downloads' of https://github.com/ESMValGroup/E…
Dec 10, 2021
feb1613
Update dataset.rst
remi-kazeroni Dec 10, 2021
63a8097
Update dataset.rst
remi-kazeroni Dec 10, 2021
fea8ab1
Update input.rst
remi-kazeroni Dec 10, 2021
37b51d3
Update dataset.rst
remi-kazeroni Dec 10, 2021
f4b7d5f
Fix Remi comments
Dec 10, 2021
0631027
Update esmvaltool/cmorizers/data/downloaders/datasets/isccp_fh.py
Dec 10, 2021
7259d67
Update esmvaltool/cmorizers/data/datasets.yml
Dec 10, 2021
6b16ec6
Update esmvaltool/cmorizers/data/formatters/datasets/era_interim.py
Dec 10, 2021
6c406ad
Fix utilities.ncl
Dec 10, 2021
5bafa5d
Add download instructions
Dec 10, 2021
26d8d0e
Update doc/sphinx/source/community/dataset.rst
remi-kazeroni Dec 10, 2021
5dd8e32
Apply suggestions from Javi
remi-kazeroni Dec 10, 2021
4a42db7
Update dataset.rst
remi-kazeroni Dec 10, 2021
81c7102
Update dataset.rst
remi-kazeroni Dec 10, 2021
38a52b1
Update input.rst
remi-kazeroni Dec 10, 2021
e3769de
headers fixed
Dec 15, 2021
984ada3
typo fixed
Dec 16, 2021
b16eb76
function doc updated
Dec 16, 2021
c7ffb73
Update cds_satellite_albedo.py
remi-kazeroni Dec 16, 2021
2b4a37d
esacci-lst cmorizer added
Jan 26, 2022
25eef89
Merge branch 'main' into refactor_downloads
Jan 26, 2022
25c48d6
fix flake8
Jan 26, 2022
92a66e3
fix woa formatter
Jan 27, 2022
e7f9255
decrease yamllint errors
Jan 27, 2022
835b11a
delete unused file
Jan 27, 2022
8b63a79
Merge branch 'main' into refactor_downloads
Jan 28, 2022
c5dbf38
update esacci-oc downloader
Jan 28, 2022
39ff992
cleanup
Jan 28, 2022
3fee425
note on netrc usage
Jan 31, 2022
74280db
Update input.rst
remi-kazeroni Jan 31, 2022
febb188
docstring fixed
Feb 1, 2022
0a1c30a
codespell issues fixed
Feb 2, 2022
5441a85
remove unused args
Feb 2, 2022
82f5f0f
fix formatting issues
Feb 2, 2022
bb52bb0
docsring fixed
Feb 4, 2022
74a21eb
formatting fixed
Feb 4, 2022
2932100
fix some pylint
Feb 4, 2022
af437cb
fix docstring
Feb 4, 2022
90fe442
Improve some formatting
Feb 4, 2022
b2acb8b
fix f-string in commons
Feb 4, 2022
03cf0b7
Add explicit parameter names
Feb 4, 2022
7e3c632
Remove local disables for invalid name
Feb 4, 2022
df9d535
Add explicit parameter names
Feb 4, 2022
1163bbf
Remove local disables for invalid-name
Feb 4, 2022
42da3f5
improve formatting in formatter scripts
Feb 4, 2022
02c2087
Merge branch 'refactor_downloads' of https://github.com/ESMValGroup/E…
Feb 4, 2022
017b061
fix import
Feb 7, 2022
d0307d7
Disable some pylint messages to be able to check for more relevant ones
Feb 8, 2022
488de84
Disable pylint in prospector since it is run on its own
Feb 8, 2022
4c10edc
Simplify formatting of pylint config (no change in config)
Feb 8, 2022
a8b7eea
Move pylint config from pyproject.toml to .pylintrc
Feb 8, 2022
c709dc0
Disable duplicate-code which detects a lot of similar lines
Feb 8, 2022
1aaf8cf
Simplify prospector config formatting
Feb 8, 2022
92b6758
Align prospector check with yapf formatting
Feb 8, 2022
d5a8a25
Simple fixes
Feb 8, 2022
2f722a8
Fix variable names in eppley cmorizer
Feb 8, 2022
69efc96
Fix variable names in esacci_oc cmorizer
Feb 8, 2022
f63e12b
Merge branch 'main' into refactor_downloads
Feb 8, 2022
ce96e89
change default start date
Feb 9, 2022
43d2a5f
fix download dir structure
Feb 9, 2022
6c4e47f
remove file cleaning from cmorizers
Feb 9, 2022
6ed7c2e
fix flake8
Feb 9, 2022
4b75630
fix some codacy issues
Feb 9, 2022
7e38dde
Fixed Scripps-CO2-KUM for new version
schlunma Feb 9, 2022
6e88021
reduce codacy issues
Feb 10, 2022
fb9574e
fix flake8 in phc
Feb 10, 2022
631a2e6
Update cds_uerra.py
remi-kazeroni Feb 10, 2022
da3fbf7
fix config in formatter class
Feb 11, 2022
6e2f3f9
fix cube loading
Feb 17, 2022
9c76899
Merge branch 'main' into refactor_downloads
Feb 17, 2022
b80684a
parse date improvements
Feb 17, 2022
58dd382
fix codacy issues
Feb 18, 2022
50b20ed
fix codacy esacci_watervapour
Feb 18, 2022
16c9645
Merge branch 'main' into refactor_downloads
Feb 18, 2022
6db278d
change prepare behaviour
Feb 22, 2022
acacebb
Update esmvaltool/cmorizers/data/formatters/datasets/esacci_sst.py
remi-kazeroni Feb 24, 2022
c6d715a
fix and align exceptions
Feb 24, 2022
7e8b14c
warning message added
Feb 24, 2022
1390702
exception for unsupported datetime formats addedd
Feb 25, 2022
1a2d1a7
revert pylint and prospector changes
Feb 25, 2022
3dd2e1c
fix exception
Feb 25, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 17 additions & 6 deletions .prospector.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,24 @@ test-warnings: true
member-warnings: false

pyroma:
run: true
run: true

pep8:
full: true
full: true

pep257:
# disable rules that are allowed by the numpy convention
# see https://github.com/PyCQA/pydocstyle/blob/master/src/pydocstyle/violations.py
# and http://pydocstyle.readthedocs.io/en/latest/error_codes.html
disable: ['D107', 'D203', 'D212', 'D213', 'D402', 'D413', 'D416']
# disable rules that are allowed by the numpy convention
# see https://github.com/PyCQA/pydocstyle/blob/master/src/pydocstyle/violations.py
# and http://pydocstyle.readthedocs.io/en/latest/error_codes.html
disable:
- D107
- D203
- D204
- D212
- D213
- D402
- D413
- D416

pylint:
run: false
56 changes: 54 additions & 2 deletions .pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,59 @@ confidence=
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use"--disable=all --enable=classes
# --disable=W"
disable=import-star-module-level,old-octal-literal,oct-method,print-statement,unpacking-in-except,parameter-unpacking,backtick,old-raise-syntax,old-ne-operator,long-suffix,dict-view-method,dict-iter-method,metaclass-assignment,next-method-called,raising-string,indexing-exception,raw_input-builtin,long-builtin,file-builtin,execfile-builtin,coerce-builtin,cmp-builtin,buffer-builtin,basestring-builtin,apply-builtin,filter-builtin-not-iterating,using-cmp-argument,useless-suppression,range-builtin-not-iterating,suppressed-message,no-absolute-import,old-division,cmp-method,reload-builtin,zip-builtin-not-iterating,intern-builtin,unichr-builtin,reduce-builtin,standarderror-builtin,unicode-builtin,xrange-builtin,coerce-method,delslice-method,getslice-method,setslice-method,input-builtin,round-builtin,hex-method,nonzero-method,map-builtin-not-iterating,import-error
disable= apply-builtin,
backtick,
basestring-builtin,
buffer-builtin,
cmp-builtin,
cmp-method,
coerce-builtin,
coerce-method,
delslice-method,
dict-iter-method,
dict-view-method,
duplicate-code,
execfile-builtin,
file-builtin,
filter-builtin-not-iterating,
getslice-method,
hex-method,
import-error,
import-star-module-level,
indexing-exception,
input-builtin,
intern-builtin,
long-builtin,
long-suffix,
map-builtin-not-iterating,
metaclass-assignment,
next-method-called,
no-absolute-import,
nonzero-method,
oct-method,
old-division,
old-ne-operator,
old-octal-literal,
old-raise-syntax,
parameter-unpacking,
print-statement,
raising-string,
range-builtin-not-iterating,
raw_input-builtin,
reduce-builtin,
reload-builtin,
round-builtin,
setslice-method,
standarderror-builtin,
suppressed-message,
unichr-builtin,
unicode-builtin,
unpacking-in-except,
unused-argument,
useless-suppression,
using-cmp-argument,
xrange-builtin,
zip-builtin-not-iterating


[REPORTS]
Expand Down Expand Up @@ -320,7 +372,7 @@ ignore-imports=no
[DESIGN]

# Maximum number of arguments for function / method
max-args=5
max-args=7

# Argument names that match this expression will be ignored. Default to name
# with leading underscore
Expand Down
39 changes: 33 additions & 6 deletions doc/sphinx/source/community/dataset.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,15 @@ Dataset documentation
The documentation required for a CMORizer script is the following:

- Make sure that the new dataset is added to the list of
:ref:`supported_datasets`
:ref:`supported_datasets` and to the file datasets.yml_.
- The in code documentation should contain clear instructions on how to obtain
the data
the data.
- A BibTeX file named ``<dataset>.bibtex`` defining the reference for the new
dataset should be placed in the directory ``esmvaltool/references/``, see
:ref:`adding_references` for detailed instructions.

.. _datasets.yml: https://github.com/ESMValGroup/ESMValTool/blob/main/esmvaltool/cmorizers/data/datasets.yml

For more general information on writing documentation, see :ref:`documentation`.

.. _dataset-test:
Expand All @@ -37,7 +39,9 @@ To test a pull request for a new CMORizer script:

#. Download the data following the instructions included in the script and place
it in the ``RAWOBS`` path specified in your ``config-user.yml``
#. Run the CMORizer script by running ``cmorize_obs -c <config-file> -o <dataset>``
#. If available, use the downloading script by running
``esmvaltool data download --config_file <config-file> <dataset>``
#. Run the cmorization by running ``esmvaltool data format <config-file> <dataset>``
#. Copy the resulting data to the ``OBS`` (for CMIP5 compliant data) or ``OBS6``
(for CMIP6 compliant data) path specified in your
``config-user.yml``
Expand Down Expand Up @@ -74,6 +78,8 @@ Dataset description
Check that new dataset has been added to the table of observations defined in
the ESMValTool guide user’s guide in section :ref:`inputdata`
(generated from ``doc/sphinx/source/input.rst``).
Check that the new dataset has also been added to the file `datasets.yml
<https://github.com/ESMValGroup/ESMValTool/blob/main/esmvaltool/cmorizers/data/datasets.yml>`__.

BibTeX info file
----------------
Expand All @@ -87,11 +93,24 @@ recipe_check_obs.yml
Check that new dataset has been added to the testing recipe
``esmvaltool/recipes/examples/recipe_check_obs.yml``

Downloader script
-----------------

If present, check that the new downloader script
``esmvaltool/cmorizers/data/downloaders/datasets/<dataset>.py``
meets standards.
This includes the following items:

* Code quality checks

1. Code quality
2. No Codacy errors reported

CMORizer script
---------------

Check that the new CMORizer script
``esmvaltool/cmorizers/obs/cmorize_obs_<dataset>.{py,ncl}``
``esmvaltool/cmorizers/data/formatters/datasets/<dataset>.{py,ncl}``
meets standards.
This includes the following items:

Expand All @@ -110,13 +129,21 @@ Config file
-----------

If present, check config file ``<dataset>.yml`` in
``esmvaltool/cmorizers/obs/cmor_config/`` for correctness.
``esmvaltool/cmorizers/data/cmor_config/`` for correctness.
Use ``yamllint`` to check for syntax errors and common mistakes.

Run downloader script
---------------------

If available, make sure the downloader script is working by running
``esmvaltool data download --config_file <config-file> <dataset>``


Run CMORizer
------------

Make sure CMORizer is working by running ``cmorize_obs -c <config-file> -o <dataset>``
Make sure CMORizer is working by running
``esmvaltool data format --config_file <config-file> <dataset>``

Check output of CMORizer
------------------------
Expand Down
Loading