Coder Social home page Coder Social logo

esm-viz's People

Contributors

chrisdane avatar gitter-badger avatar pgierz avatar

Stargazers

 avatar

Watchers

 avatar

esm-viz's Issues

Group collection of FESOM meshes

When visualizing FESOM output; it is often required to use the mesh information to correctly apply weights to the individual elements. It would be therefore good if we could somehow cache a downloaded mesh for later collection in a centralized place.

def download_mesh(remote_mesh_path):
    # Note: local_temporary_directory should point somewhere where this particular user can        write.
    mesh = sftp.get(remote_mesh_path, local_temporary_directory)
    with open(os.environ.get(‘HOME’)+/.config/monitoring/downloaded_meshes’, ‘a’) as mesh_cache:
        mesh_cache.write(local_temporary_directory)

And then an appropriate function to digest these files and clean up...

wishlist

My wishlist for esm-viz in priority order

  • README.md: a clearer (and shorter) how to install and use, a list of possible options (which time series and climatologies)
  • time stamp: add the time, when the next update will come and add your mail adress (if you want)
  • for time series: check if fesom variables tosga, sosga, thetaoga, soga, siextentn, siextents, siarean, siareas, sivoln and/or sivols are available and include them as time series
  • for time series: use model output time if reasonable; maybe two horizontal axes: model time (e.g. year 1 to n) and calender time (e.g. 1850 to 2014)?
  • for time series: show results of several model runs (both currently running and already completed) on one page
  • for maps: show anomaly maps of different model runs (both currently running and already completed) on one page
  • for time series: if running mean of time series is available, a linear trend could be computed and the result, e.g. x °C/year or x °C/10years, could be displayed

No keys

@chrisdane can you please confirm that if you do not have any ssh keys generated, the program fails to perform the deploy step? I am considering if it makes sense to add a step to:

  1. Ask the user if they want keys
  2. If yes, generate a key if there isn't one
  3. If no, generate some other way to save the password (there's a Python encrypt library for this)

If this sounds like a good idea, I'd like to try it out. There will probably also be a testing suite soon, so hopefully I will annoy you less to test things by hand.

installation path

I would like to set the installation path to change it from the default ~/.local/. Is this possible?
This would also kind of solve the issue that the user needs to add the installation manually to PATH, which is maybe not the best procedere?

Thanks!

HTML Generation depends on os.system

Currently, generating the static monitoring page depends on the user having jupyter nbconvert installed. This could be avoided via programatic access to nbconvert directly from Python. See here for the documentation of using nbconvert directly in Python code.

FESOM Timeseries

For AWICM 1/2 we need FESOM timeseries for simple cases, we need:

  • deployment
  • visualization

However, this brings up an interesting point, namely that timeseries in FESOM will need some way of getting the mesh to the analysis host. This should be shared across users if possible; which means that we need some way to cache requests to move copied meshes to some centralized location.

Deployment Broken for Coupled Experiments

With iteratively coupled experiments; the deploy command currently doesn't
check if the model is coupled or not; so it tries to run commands directly in
the BASE_DIR; which obviously doesn't work.

NameError: global name 'FileNotFoundError' is not defined

With rsa key:

$ esm_viz deploy --expid=example
INFO:paramiko.transport:Connected (version 2.0, client OpenSSH_5.3)
INFO:paramiko.transport:Authentication (publickey) successful!
INFO:paramiko.transport:Connected (version 2.0, client OpenSSH_5.3)
INFO:paramiko.transport:Authentication (publickey) successful!
INFO:paramiko.transport.sftp:[chan 0] Opened sftp connection (server version 3)
INFO:root:The analysis script will be copied to: /work/ab0246/a270073/awicm-test/CMIP6/CMIP_PMIP/dynveg_true/hist/analysis/echam/monitoring_echam_global_timeseries.sh
INFO:paramiko.transport.sftp:[chan 0] sftp session closed.
Traceback (most recent call last):
  File "/home/csys/cdanek/esm/esm-viz/bin/esm_viz", line 11, in <module>
    load_entry_point('esm-viz==0.9.4', 'console_scripts', 'esm_viz')()
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/csys/cdanek/esm/esm-viz/lib/python2.7/site-packages/esm_viz/cli.py", line 172, in deploy
    component, script_to_run
  File "/home/csys/cdanek/esm/esm-viz/lib/python2.7/site-packages/esm_viz/deployment/__init__.py", line 410, in copy_analysis_script_for_component
    if not rexists(sftp, remote_script):
  File "/home/csys/cdanek/esm/esm-viz/lib/python2.7/site-packages/esm_viz/deployment/__init__.py", line 73, in rexists
    except FileNotFoundError:
NameError: global name 'FileNotFoundError' is not defined
$ python --version
Python 2.7.12

Automatic deployment of analysis scripts to a monitored simulation

It would be nice if the monitoring tools recognized the simulation being monitored, and copied relevant scripts to supercomputer. Since it is already assumed that the user has set up ssh keys, this should be a trivial step. In a "deploy script" (we still really need names and sematic unity for everything), I should put something like:

ssh ${USER}@${SUPERCOMPUTER} << EOF
for this_analysis_script in ${required_analysis_scripts}; do
        if [ ! -f ${analysis_dir}/scripts/${this_analysis_script} ]; then
                scp ${this_analysis_script} ${USER}@${SUPERCOMPUTER}:${analysis_dir}
        fi
done
EOF

esm_viz: command not found

After installing, the error

$ esm_viz --version
esm_viz: command not found

occurs. However, installing probably was successful?:

$ pip install --user .
Processing /home/csys/cdanek/esm/esm-viz
  Requirement already satisfied (use --upgrade to upgrade): esm-viz==0.8.0 from file:///home/csys/cdanek/esm/esm-viz in /home/csys/cdanek/.local/lib/python2.7/site-packages
Requirement already satisfied: Click>=6.0 in /home/csys/cdanek/.local/lib/python2.7/site-packages (from esm-viz==0.8.0)
Requirement already satisfied: nbformat in /home/csys/cdanek/.local/lib/python2.7/site-packages (from esm-viz==0.8.0)
Requirement already satisfied: nbmerge in /home/csys/cdanek/.local/lib/python2.7/site-packages (from esm-viz==0.8.0)
Requirement already satisfied: paramiko in /home/csys/cdanek/.local/lib/python2.7/site-packages (from esm-viz==0.8.0)
Requirement already satisfied: python-crontab in /home/csys/cdanek/.local/lib/python2.7/site-packages (from esm-viz==0.8.0)
Requirement already satisfied: pyyaml in /home/csys/cdanek/.local/lib/python2.7/site-packages (from esm-viz==0.8.0)
Requirement already satisfied: traitlets>=4.1 in /usr/local/lib/python2.7/dist-packages (from nbformat->esm-viz==0.8.0)
Requirement already satisfied: ipython-genutils in /usr/local/lib/python2.7/dist-packages (from nbformat->esm-viz==0.8.0)
Requirement already satisfied: jupyter-core in /home/csys/cdanek/.local/lib/python2.7/site-packages (from nbformat->esm-viz==0.8.0)
Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in /home/csys/cdanek/.local/lib/python2.7/site-packages (from nbformat->esm-viz==0.8.0)
Requirement already satisfied: bcrypt>=3.1.3 in /home/csys/cdanek/.local/lib/python2.7/site-packages (from paramiko->esm-viz==0.8.0)
Requirement already satisfied: pynacl>=1.0.1 in /home/csys/cdanek/.local/lib/python2.7/site-packages (from paramiko->esm-viz==0.8.0)
Requirement already satisfied: cryptography>=2.5 in /home/csys/cdanek/.local/lib/python2.7/site-packages (from paramiko->esm-viz==0.8.0)
Requirement already satisfied: python-dateutil in /home/csys/cdanek/.local/lib/python2.7/site-packages (from python-crontab->esm-viz==0.8.0)
Requirement already satisfied: decorator in /home/csys/cdanek/.local/lib/python2.7/site-packages (from traitlets>=4.1->nbformat->esm-viz==0.8.0)
Requirement already satisfied: six in /home/csys/cdanek/.local/lib/python2.7/site-packages (from traitlets>=4.1->nbformat->esm-viz==0.8.0)
Requirement already satisfied: enum34; python_version == "2.7" in /usr/local/lib/python2.7/dist-packages (from traitlets>=4.1->nbformat->esm-viz==0.8.0)
Requirement already satisfied: attrs>=17.4.0 in /home/csys/cdanek/.local/lib/python2.7/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat->esm-viz==0.8.0)
Requirement already satisfied: functools32; python_version < "3" in /usr/local/lib/python2.7/dist-packages (from jsonschema!=2.5.0,>=2.4->nbformat->esm-viz==0.8.0)
Requirement already satisfied: setuptools in /home/csys/cdanek/.local/lib/python2.7/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat->esm-viz==0.8.0)
Requirement already satisfied: pyrsistent>=0.14.0 in /home/csys/cdanek/.local/lib/python2.7/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat->esm-viz==0.8.0)
Requirement already satisfied: cffi>=1.1 in /home/csys/cdanek/.local/lib/python2.7/site-packages (from bcrypt>=3.1.3->paramiko->esm-viz==0.8.0)
Requirement already satisfied: asn1crypto>=0.21.0 in /home/csys/cdanek/.local/lib/python2.7/site-packages (from cryptography>=2.5->paramiko->esm-viz==0.8.0)
Requirement already satisfied: ipaddress; python_version < "3" in /home/csys/cdanek/.local/lib/python2.7/site-packages (from cryptography>=2.5->paramiko->esm-viz==0.8.0)
Requirement already satisfied: pycparser in /home/csys/cdanek/.local/lib/python2.7/site-packages (from cffi>=1.1->bcrypt>=3.1.3->paramiko->esm-viz==0.8.0)
You are using pip version 9.0.1, however version 19.2.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Monitoring ECHAM Timeseries

For full monitoring of ECHAM time series, we need:

  • Deployment of analysis scripts
  • Copying back to the web server
  • Visualization

paramiko.ssh_exception.SSHException: No authentication methods available

Without rsa

$ esm_viz deploy --expid=example
INFO:paramiko.transport:Connected (version 2.0, client OpenSSH_5.3)
Traceback (most recent call last):
  File "/home/csys/cdanek/esm/esm-viz/bin/esm_viz", line 11, in <module>
    load_entry_point('esm-viz==0.9.4', 'console_scripts', 'esm_viz')()
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/csys/cdanek/esm/esm-viz/lib/python2.7/site-packages/esm_viz/cli.py", line 123, in deploy
    config.get("required_modules", ["anaconda3", "cdo"]),
  File "/home/csys/cdanek/esm/esm-viz/lib/python2.7/site-packages/esm_viz/deployment/__init__.py", line 273, in __init__
    if not self._can_login_to_host_without_password():
  File "/home/csys/cdanek/esm/esm-viz/lib/python2.7/site-packages/esm_viz/deployment/__init__.py", line 289, in _can_login_to_host_without_password
    self.ssh.connect(self.host, username=self.user)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/paramiko/client.py", line 446, in connect
    passphrase,
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/paramiko/client.py", line 765, in _auth
    raise SSHException("No authentication methods available")
paramiko.ssh_exception.SSHException: No authentication methods available
$ python --version
Python 2.7.12

branch py2py3_fileerror: esm_viz combine --expid=example

At branch: py2py3_fileerror

$ esm_viz combine --expid=example
['/home/csys/cdanek/.local/lib/python2.7/site-packages/esm_viz/visualization/read_config.ipynb', '/home/csys/cdanek/.local/lib/python2.7/site-packages/esm_viz/visualization/echam_global_timeseries.ipynb', '/home/csys/cdanek/.local/lib/python2.7/site-packages/esm_viz/visualization/echam_global_climatology.ipynb', '/home/csys/cdanek/.local/lib/python2.7/site-packages/esm_viz/visualization//last_update.ipynb']
Combined notebook; executing and converting to HTML
Traceback (most recent call last):
  File "/home/csys/cdanek/.local/bin/esm_viz", line 11, in <module>
    load_entry_point('esm-viz==0.9.5', 'console_scripts', 'esm_viz')()
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/esm_viz/cli.py", line 298, in combine
    ep.preprocess(nb, {"metadata": {"path": "./"}})
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/nbconvert/preprocessors/execute.py", line 403, in preprocess
    with self.setup_preprocessor(nb, resources, km=km):
  File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/nbconvert/preprocessors/execute.py", line 345, in setup_preprocessor
    self.km, self.kc = self.start_new_kernel(**kwargs)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/nbconvert/preprocessors/execute.py", line 287, in start_new_kernel
    km = self.kernel_manager_class(kernel_name=self.kernel_name,
  File "/usr/local/lib/python2.7/dist-packages/traitlets/traitlets.py", line 556, in __get__
    return self.get(obj, cls)
  File "/usr/local/lib/python2.7/dist-packages/traitlets/traitlets.py", line 535, in get
    value = self._validate(obj, dynamic_default())
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/nbconvert/preprocessors/execute.py", line 251, in _kernel_manager_class_default
    raise ImportError("`nbconvert --execute` requires the jupyter_client package: `pip install jupyter_client`")
ImportError: `nbconvert --execute` requires the jupyter_client package: `pip install jupyter_client`

requests: complete the repo and add namelists

Hi Paul

Thanks for the great tool. Here are two requests that come into my mind:

  1. Complete repo: could you add the script from your confluence document into this repo so that everything needed is here?
  2. Add namelists: I would like to have one "namelist" for every model experiment I'm going to monitor with your tool. Something like:
esm_exp_dir=/work/expname/
esm_models=(echam fesom)
esm_echam_vars=(echam_var1 echam_var2)
esm_fesom_vars=(fesom_var1)

Actually, in my view, it would be great if the script works automatically without further editing just based on the "namelist" provided by the user.

Thanks!

time issue

$ esm_viz --expid 1percCO2
Scheduling...
Successfully scheduled automatic monitoring of 1percCO2 every 2 hours
Deploying...
('Trying to load ', u'1percCO2')
Combining...
('Trying to load ', u'/home/csys/cdanek/.config/esm_viz/jobs/1percCO2.yaml')
/home/csys/cdanek/.local/lib/python2.7/site-packages/esm_viz/visualization/logfile.py:73: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  starts.drop_duplicates(subset="Run Number", keep="last", inplace=True)
('Fixing timesteps for:', <xarray.Dataset>
Dimensions:    (bnds: 2, lat: 1, lon: 1, time: 32)
Coordinates:
  * time       (time) datetime64[ns] 1850-07-16T11:52:30 ... 1881-07-16T11:52:30
  * lon        (lon) float64 0.0
  * lat        (lat) float64 0.0
Dimensions without coordinates: bnds
Data variables:
    time_bnds  (time, bnds) datetime64[ns] ...
    temp2      (time, lat, lon) float32 ...
Attributes:
    CDI:               Climate Data Interface version 1.9.7.1 (http://mpimet....
    Conventions:       CF-1.4
    history:           Mon Dec 09 11:24:36 2019: cdo -f nc -fldmean -yearmean...
    source:            ECHAM6
    institution:       Max-Planck-Institute for Meteorology
    title:             1percCO2
    echam_version:     6.3.04
    advection:         Lin & Rood
    physics:           Modified ECMWF physics
    radiation:         Using PSrad/RRTMG radiation
    date_time:         20191116 184053
    operating_system:  Linux 2.6.32-754.14.2.el6.x86_64 x86_64
    user_name:         Christopher Danek (a270073)
    host_name:         m10162
    jsbach_version:    3.11
    truncation:        63
    frequency:         year
    CDO:               Climate Data Operators version 1.9.7.1 (http://mpimet....)
('Here is the time:', <xarray.DataArray 'time' (time: 32)>
array(['1850-07-16T11:52:30.000000000', '1851-07-16T11:52:30.000000000',
       '1852-07-16T11:52:30.000000000', '1853-07-16T11:52:30.000000000',
       '1854-07-16T11:52:30.000000000', '1855-07-16T11:52:30.000000000',
       '1856-07-16T11:52:30.000000000', '1857-07-16T11:52:30.000000000',
       '1858-07-16T11:52:30.000000000', '1859-07-16T11:52:30.000000000',
       '1860-07-16T11:52:30.000000000', '1861-07-16T11:52:30.000000000',
       '1862-07-16T11:52:30.000000000', '1863-07-16T11:52:30.000000000',
       '1864-07-16T11:52:30.000000000', '1865-07-16T11:52:30.000000000',
       '1866-07-16T11:52:30.000000000', '1867-07-16T11:52:30.000000000',
       '1868-07-16T11:52:30.000000000', '1869-07-16T11:52:30.000000000',
       '1870-07-16T11:52:30.000000000', '1871-07-16T11:52:30.000000000',
       '1872-07-16T11:52:30.000000000', '1873-07-16T11:52:30.000000000',
       '1874-07-16T11:52:30.000000000', '1875-07-16T11:52:30.000000000',
       '1876-07-16T11:52:30.000000000', '1877-07-16T11:52:30.000000000',
       '1878-07-16T11:52:30.000000000', '1879-07-16T11:52:30.000000000',
       '1880-07-16T11:52:30.000000000', '1881-07-16T11:52:30.000000000'],
      dtype='datetime64[ns]')
Coordinates:
  * time     (time) datetime64[ns] 1850-07-16T11:52:30 ... 1881-07-16T11:52:30
Attributes:
    standard_name:  time
    bounds:         time_bnds
    axis:           T)
('Fixing timesteps for:', <xarray.Dataset>
Dimensions:    (bnds: 2, lat: 1, lon: 1, time: 32)
Coordinates:
  * time       (time) datetime64[ns] 1850-07-16T11:52:30 ... 1881-07-16T11:52:30
  * lon        (lon) float64 0.0
  * lat        (lat) float64 0.0
Dimensions without coordinates: bnds
Data variables:
    time_bnds  (time, bnds) datetime64[ns] ...
    albedo     (time, lat, lon) float32 ...
Attributes:
    CDI:               Climate Data Interface version 1.9.7.1 (http://mpimet....
    Conventions:       CF-1.4
    history:           Mon Dec 09 11:25:30 2019: cdo -f nc -fldmean -yearmean...
    source:            ECHAM6
    institution:       Max-Planck-Institute for Meteorology
    title:             1percCO2
    echam_version:     6.3.04
    advection:         Lin & Rood
    physics:           Modified ECMWF physics
    radiation:         Using PSrad/RRTMG radiation
    date_time:         20191116 184053
    operating_system:  Linux 2.6.32-754.14.2.el6.x86_64 x86_64
    user_name:         Christopher Danek (a270073)
    host_name:         m10162
    jsbach_version:    3.11
    truncation:        63
    frequency:         year
    CDO:               Climate Data Operators version 1.9.7.1 (http://mpimet....)
('Here is the time:', <xarray.DataArray 'time' (time: 32)>
array(['1850-07-16T11:52:30.000000000', '1851-07-16T11:52:30.000000000',
       '1852-07-16T11:52:30.000000000', '1853-07-16T11:52:30.000000000',
       '1854-07-16T11:52:30.000000000', '1855-07-16T11:52:30.000000000',
       '1856-07-16T11:52:30.000000000', '1857-07-16T11:52:30.000000000',
       '1858-07-16T11:52:30.000000000', '1859-07-16T11:52:30.000000000',
       '1860-07-16T11:52:30.000000000', '1861-07-16T11:52:30.000000000',
       '1862-07-16T11:52:30.000000000', '1863-07-16T11:52:30.000000000',
       '1864-07-16T11:52:30.000000000', '1865-07-16T11:52:30.000000000',
       '1866-07-16T11:52:30.000000000', '1867-07-16T11:52:30.000000000',
       '1868-07-16T11:52:30.000000000', '1869-07-16T11:52:30.000000000',
       '1870-07-16T11:52:30.000000000', '1871-07-16T11:52:30.000000000',
       '1872-07-16T11:52:30.000000000', '1873-07-16T11:52:30.000000000',
       '1874-07-16T11:52:30.000000000', '1875-07-16T11:52:30.000000000',
       '1876-07-16T11:52:30.000000000', '1877-07-16T11:52:30.000000000',
       '1878-07-16T11:52:30.000000000', '1879-07-16T11:52:30.000000000',
       '1880-07-16T11:52:30.000000000', '1881-07-16T11:52:30.000000000'],
      dtype='datetime64[ns]')
Coordinates:
  * time     (time) datetime64[ns] 1850-07-16T11:52:30 ... 1881-07-16T11:52:30
Attributes:
    standard_name:  time
    bounds:         time_bnds
    axis:           T)
('Fixing timesteps for:', <xarray.Dataset>
Dimensions:    (bnds: 2, lat: 1, lon: 1, time: 32)
Coordinates:
  * time       (time) datetime64[ns] 1850-07-16T11:52:30 ... 1881-07-16T11:52:30
  * lon        (lon) float64 0.0
  * lat        (lat) float64 0.0
Dimensions without coordinates: bnds
Data variables:
    time_bnds  (time, bnds) datetime64[ns] ...
    aprc       (time, lat, lon) float32 ...
Attributes:
    CDI:               Climate Data Interface version 1.9.7.1 (http://mpimet....
    Conventions:       CF-1.4
    history:           Mon Dec 09 11:25:49 2019: cdo -f nc -fldmean -yearmean...
    source:            ECHAM6
    institution:       Max-Planck-Institute for Meteorology
    title:             1percCO2
    echam_version:     6.3.04
    advection:         Lin & Rood
    physics:           Modified ECMWF physics
    radiation:         Using PSrad/RRTMG radiation
    date_time:         20191116 184053
    operating_system:  Linux 2.6.32-754.14.2.el6.x86_64 x86_64
    user_name:         Christopher Danek (a270073)
    host_name:         m10162
    jsbach_version:    3.11
    truncation:        63
    frequency:         year
    CDO:               Climate Data Operators version 1.9.7.1 (http://mpimet....)
('Here is the time:', <xarray.DataArray 'time' (time: 32)>
array(['1850-07-16T11:52:30.000000000', '1851-07-16T11:52:30.000000000',
       '1852-07-16T11:52:30.000000000', '1853-07-16T11:52:30.000000000',
       '1854-07-16T11:52:30.000000000', '1855-07-16T11:52:30.000000000',
       '1856-07-16T11:52:30.000000000', '1857-07-16T11:52:30.000000000',
       '1858-07-16T11:52:30.000000000', '1859-07-16T11:52:30.000000000',
       '1860-07-16T11:52:30.000000000', '1861-07-16T11:52:30.000000000',
       '1862-07-16T11:52:30.000000000', '1863-07-16T11:52:30.000000000',
       '1864-07-16T11:52:30.000000000', '1865-07-16T11:52:30.000000000',
       '1866-07-16T11:52:30.000000000', '1867-07-16T11:52:30.000000000',
       '1868-07-16T11:52:30.000000000', '1869-07-16T11:52:30.000000000',
       '1870-07-16T11:52:30.000000000', '1871-07-16T11:52:30.000000000',
       '1872-07-16T11:52:30.000000000', '1873-07-16T11:52:30.000000000',
       '1874-07-16T11:52:30.000000000', '1875-07-16T11:52:30.000000000',
       '1876-07-16T11:52:30.000000000', '1877-07-16T11:52:30.000000000',
       '1878-07-16T11:52:30.000000000', '1879-07-16T11:52:30.000000000',
       '1880-07-16T11:52:30.000000000', '1881-07-16T11:52:30.000000000'],
      dtype='datetime64[ns]')
Coordinates:
  * time     (time) datetime64[ns] 1850-07-16T11:52:30 ... 1881-07-16T11:52:30
Attributes:
    standard_name:  time
    bounds:         time_bnds
    axis:           T)
('Fixing timesteps for:', <xarray.Dataset>
Dimensions:    (bnds: 2, lat: 1, lon: 1, time: 32)
Coordinates:
  * time       (time) datetime64[ns] 1850-07-16T11:52:30 ... 1881-07-16T11:52:30
  * lon        (lon) float64 0.0
  * lat        (lat) float64 0.0
Dimensions without coordinates: bnds
Data variables:
    time_bnds  (time, bnds) datetime64[ns] ...
    aprl       (time, lat, lon) float32 ...
Attributes:
    CDI:               Climate Data Interface version 1.9.7.1 (http://mpimet....
    Conventions:       CF-1.4
    history:           Mon Dec 09 11:26:39 2019: cdo -f nc -fldmean -yearmean...
    source:            ECHAM6
    institution:       Max-Planck-Institute for Meteorology
    title:             1percCO2
    echam_version:     6.3.04
    advection:         Lin & Rood
    physics:           Modified ECMWF physics
    radiation:         Using PSrad/RRTMG radiation
    date_time:         20191116 184053
    operating_system:  Linux 2.6.32-754.14.2.el6.x86_64 x86_64
    user_name:         Christopher Danek (a270073)
    host_name:         m10162
    jsbach_version:    3.11
    truncation:        63
    frequency:         year
    CDO:               Climate Data Operators version 1.9.7.1 (http://mpimet....)
('Here is the time:', <xarray.DataArray 'time' (time: 32)>
array(['1850-07-16T11:52:30.000000000', '1851-07-16T11:52:30.000000000',
       '1852-07-16T11:52:30.000000000', '1853-07-16T11:52:30.000000000',
       '1854-07-16T11:52:30.000000000', '1855-07-16T11:52:30.000000000',
       '1856-07-16T11:52:30.000000000', '1857-07-16T11:52:30.000000000',
       '1858-07-16T11:52:30.000000000', '1859-07-16T11:52:30.000000000',
       '1860-07-16T11:52:30.000000000', '1861-07-16T11:52:30.000000000',
       '1862-07-16T11:52:30.000000000', '1863-07-16T11:52:30.000000000',
       '1864-07-16T11:52:30.000000000', '1865-07-16T11:52:30.000000000',
       '1866-07-16T11:52:30.000000000', '1867-07-16T11:52:30.000000000',
       '1868-07-16T11:52:30.000000000', '1869-07-16T11:52:30.000000000',
       '1870-07-16T11:52:30.000000000', '1871-07-16T11:52:30.000000000',
       '1872-07-16T11:52:30.000000000', '1873-07-16T11:52:30.000000000',
       '1874-07-16T11:52:30.000000000', '1875-07-16T11:52:30.000000000',
       '1876-07-16T11:52:30.000000000', '1877-07-16T11:52:30.000000000',
       '1878-07-16T11:52:30.000000000', '1879-07-16T11:52:30.000000000',
       '1880-07-16T11:52:30.000000000', '1881-07-16T11:52:30.000000000'],
      dtype='datetime64[ns]')
Coordinates:
  * time     (time) datetime64[ns] 1850-07-16T11:52:30 ... 1881-07-16T11:52:30
Attributes:
    standard_name:  time
    bounds:         time_bnds
    axis:           T)
Traceback (most recent call last):
  File "/home/csys/cdanek/.local/bin/esm_viz", line 11, in <module>
    load_entry_point('esm-viz==0.9.7', 'console_scripts', 'esm_viz')()
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/core.py", line 1114, in invoke
    return Command.invoke(self, ctx)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/esm_viz/cli.py", line 64, in main
    ctx.invoke(combine, expid=expid, quiet=quiet)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/esm_viz/cli.py", line 277, in combine
    config.get("basedir").split("/")[-1] + ".html",
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/panel/viewable.py", line 456, in save
    embed_json, json_prefix, save_path, load_path)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/panel/io/save.py", line 83, in save
    model = panel.get_root(doc, comm)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/panel/viewable.py", line 418, in get_root
    root = self._get_model(doc, comm=comm)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/panel/layout.py", line 115, in _get_model
    objects = self._get_objects(model, [], doc, root, comm)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/panel/layout.py", line 107, in _get_objects
    child = pane._get_model(doc, root, model, comm)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/panel/layout.py", line 115, in _get_model
    objects = self._get_objects(model, [], doc, root, comm)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/panel/layout.py", line 495, in _get_objects
    child = pane._get_model(doc, root, model, comm)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/panel/layout.py", line 115, in _get_model
    objects = self._get_objects(model, [], doc, root, comm)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/panel/layout.py", line 495, in _get_objects
    child = pane._get_model(doc, root, model, comm)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/panel/layout.py", line 115, in _get_model
    objects = self._get_objects(model, [], doc, root, comm)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/panel/layout.py", line 495, in _get_objects
    child = pane._get_model(doc, root, model, comm)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/panel/layout.py", line 115, in _get_model
    objects = self._get_objects(model, [], doc, root, comm)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/panel/layout.py", line 107, in _get_objects
    child = pane._get_model(doc, root, model, comm)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/panel/pane/holoviews.py", line 212, in _get_model
    plot = self._render(doc, comm, root)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/panel/pane/holoviews.py", line 256, in _render
    return renderer.get_plot(self.object, **kwargs)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/holoviews/plotting/bokeh/renderer.py", line 135, in get_plot
    plot = super(BokehRenderer, self_or_cls).get_plot(obj, renderer, **kwargs)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/holoviews/plotting/renderer.py", line 207, in get_plot
    plot.update(init_key)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/holoviews/plotting/plot.py", line 614, in update
    return self.initialize_plot()
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/geoviews/plotting/bokeh/plot.py", line 112, in initialize_plot
    fig = super(GeoPlot, self).initialize_plot(ranges, plot, plots, **opts)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/holoviews/plotting/bokeh/element.py", line 2111, in initialize_plot
    child = subplot.initialize_plot(ranges, plot, plots)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/holoviews/plotting/bokeh/element.py", line 1279, in initialize_plot
    self._init_glyphs(plot, element, ranges, source)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/holoviews/plotting/bokeh/element.py", line 1226, in _init_glyphs
    data, mapping, style = self.get_data(element, ranges, style)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/holoviews/plotting/bokeh/chart.py", line 344, in get_data
    self._get_hover_data(data, element)
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/holoviews/plotting/bokeh/element.py", line 284, in _get_hover_data
    data[dim+'_dt_strings'] = [d.pprint_value(v) for v in values]
  File "/home/csys/cdanek/.local/lib/python2.7/site-packages/holoviews/core/dimension.py", line 418, in pprint_value
    return util.dt64_to_dt(value).strftime(formatter)
ValueError: year=1850 is before 1900; the datetime strftime() methods require year >= 1900

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.