Skip to content

Commit

Permalink
update 1.2.3
Browse files Browse the repository at this point in the history
  • Loading branch information
olivierpascalhenry committed Apr 1, 2020
1 parent f65593d commit 47b5688
Show file tree
Hide file tree
Showing 24 changed files with 1,991 additions and 702 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
\setlength{\voffset}{.0cm}

\logoeufar
\title{EUFAR, Olivier Henry}{}{EGADS Lineage Algorithm Handbook}{Version 1.2.2}
\title{EUFAR, Olivier Henry}{}{EGADS Lineage Algorithm Handbook}{Version 1.2.3}
%\author{}{}


Expand Down
Binary file not shown.
Binary file not shown.
23 changes: 22 additions & 1 deletion Documentation/changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,32 @@ CHANGELOG | LINEAGE BRANCH
To do list:
-----------
- check feasability of an online algorithm database.
- add function to create algorithm template.

To fix list:
------------


April 1 2020, Release version 1.2.3
===================================
FIXED:
- fixed an issue with variables at the root of the netcdf file if the function get_variable_list is used with options group_walk and details as True.
- fixed an issue with leading / when adding dim with dim name in netcdf file.

MODIFIED:
- the documentation has been updated.
- the function _get_dimension_list has been reworked to take into account file root, root variables, groups and variables in groups in class NetCdf.
- the function _add_attribute has been reworked in class NetCdf.
- the function _delete_attribute has been reworked in class NetCdf.
- the function _get_dimension_list has been reworked in class Hdf.

ADDED:
- a function to convert from Hdf5 to netcdf has been added to Hdf and EgadsHdf classes.
- a function to convert from Hdf5 to Nasa Ames format has been added to Hdf and EgadsHdf classes.
- a function to convert from Nasa Ames to Hdf5 format has been added to NasaAmes and EgadsNasaAmes classes.
- a function to convert from NetCdf to Hdf5 has been added to NetCdf and EgadsNetCdf classes.


February 25 2020, Release version 1.2.2
=======================================
MODIFIED:
Expand Down Expand Up @@ -144,7 +165,7 @@ June 7 2019, Release version 0.9.4
May 9 2019, Release version 0.9.3
=================================
MODIFIED:
- the documentation of an algorithm has been modified for better understanding in the EGADS GUI.
- the documentation of an algorithm has been modified for better understanding in EGADS GUI.
- the code has been cleaned thanks to PyCharm.
- few logging messages have been modified.
- egads functions to set and read options have been modified for better handling.
Expand Down
25 changes: 9 additions & 16 deletions PKG-INFO
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
Metadata-Version: 1.1
Metadata-Version: 1.2
Name: egads-lineage
Version: 0.9.3
Version: 1.2.3
Summary: EGADS: EUFAR General Airborne Data-processing Software
Home-page: http://www.eufar.net
Author: Olivier Henry
Home-page: https://github.com/EUFAR/egads/tree/Lineage
Author: EUFAR, Olivier Henry
Author-email: [email protected]
License: GPLv3
Maintainer: Olivier Henry
Maintainer-email: [email protected]
License: GNU General Public License v3 (GPLv3)
Download-URL: https://github.com/EUFAR/egads/tree/Lineage
Description-Content-Type: UNKNOWN
Project-URL: Documentation, https://egads.readthedocs.io/en/lineage/
Description: EGADS (EUFAR General Airborne Data-processing Software) is a Python-based
toolbox for processing airborne atmospheric data. EGADS provides a framework
for researchers to apply expert-contributed algorithms to data files, and acts
Expand All @@ -20,17 +22,8 @@ Keywords: airbornescience,netcdf,nasa-ames,eufar,science,microphysics,thermodyna
Platform: Windows
Platform: Linux
Platform: MacOS
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python
Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
Requires: numpy (>=1.14)
Requires: scipy (>=1.00)
Requires: netCDF4 (>=1.3.0)
Requires: python_dateutil (>=2.6.1)
Requires: quantities (>=0.12.1)
Requires: h5py (>=2.10.0)
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
Version:
-------

EGADS Lineage 1.2.2
EGADS Lineage 1.2.3


Developments:
-------------

As the EUFAR project ended the 31st of January 2018, developments involving EGADS are now done in a new branch and the current version of EGADS is called EGADS Lineage. It is developed and maintained by Olivier and is not developed under the scope of EUFAR. Merging of the Master and Lineage branch can happen in the next EUFAR project.
As the EUFAR project ended the 31st of January 2018, developments involving EGADS are now done in a new branch and the current version of EGADS is called EGADS Lineage. It is developed and maintained by Olivier Henry (https://github.com/olivierpascalhenry) and is not developed under the scope of EUFAR. Merging of the Master and Lineage branch can happen in the next EUFAR project.


Project Overview:
Expand Down Expand Up @@ -53,4 +53,4 @@ Read INSTALL.txt to learn how to install EGADS Lineage.
Documentation:
--------------

The documentation of EGADS Lineage is available as a PDF in the Documentation folder and on Read The Docs (https://egads.readthedocs.io/en/lineage/index.html)
The documentation of EGADS Lineage is available as a PDF in the Documentation folder and on Read The Docs (https://egads.readthedocs.io/en/lineage/)
130 changes: 0 additions & 130 deletions doc/Makefile

This file was deleted.

6 changes: 3 additions & 3 deletions doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,16 @@

# General information about the project.
project = u'EGADS Lineage'
copyright = u'2019, EUFAR, Olivier Henry'
copyright = u'2020, EUFAR, Olivier Henry'

# 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.2.2'
version = '1.2.3'
# The full version, including alpha/beta/rc tags.
release = '1.2.2'
release = '1.2.3'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
4 changes: 4 additions & 0 deletions doc/source/egadsapi.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ File Classes
:members:
:show-inheritance:

.. automodule:: egads.input.hdf_io
:members:
:show-inheritance:

.. automodule:: egads.input.text_file_io
:members:
:show-inheritance:
Binary file added doc/source/images/EGADS_GUI_005.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 5 additions & 5 deletions doc/source/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Use of EGADS requires the following packages:

* Python 3.5.4 or newer. Available at https://www.python.org/
* numpy 1.14 or newer. Available at http://numpy.scipy.org/
* scipy 1.00 or newer. Available at http://www.scipy.org/
* scipy 1.0 or newer. Available at http://www.scipy.org/
* Python netCDF4 libraries 1.3.0 or newer. Available at https://pypi.python.org/pypi/netCDF4
* h5py 2.10.0 or newer. Available at https://pypi.org/project/h5py
* python_dateutil 2.6.1 or newer. Available at https://pypi.python.org/pypi/python-dateutil
Expand All @@ -20,7 +20,7 @@ Use of EGADS requires the following packages:

Installation
************
Since EGADS is a pure Python distribution, it does not need to be built. However, to use it, it must be installed to a location on the Python path. To install EGADS, first download and decompress the file. From the directory containing the file ``setup.py``, type ``python setup.py install`` or ``pip install egads-lineage`` from the command line. To install to a user-specified location, type ``python setup.py install --prefix=$MYDIR``. To avoid the installation of dependencies, use the option ``--no-depts``. On Linux systems, the installation of EGADS in the user home directory is encouraged to ensure the proper operation of the EGADS logging system and of the new Graphical User Interface algorithm creation system.
Since EGADS is a pure Python distribution, it does not need to be built. However, to use it, it must be installed to a location on the Python path. To install EGADS, first download and decompress the file. From the directory containing the file ``setup.py``, type ``python setup.py install`` or ``pip install egads-lineage`` from the command line. To install to a user-specified location, type ``python setup.py install --prefix=$MYDIR``. To avoid the installation of dependencies, use the option ``--no-depts``.


Testing
Expand Down Expand Up @@ -55,7 +55,7 @@ The file containing all options is now stored in the folder ``.egads_lineage`` i

Log
***
A logging system has been introduced in EGADS since the version 0.7.0. By default, the output file is available in the 'Python local site-packages/egads' directory and the logging level has been set to INFO. Both options for logging level and logging location have been set in a config file. Both options can be changed through EGADS using the ``egads.set_log_options()`` function, by passing a dictionary of option keys and values:
A logging system has been introduced in EGADS since the version 0.7.0. By default, the output file is available in the ``.egads_lineage`` directory and the logging level has been set to INFO. Both options for logging level and logging location have been set in a config file. Both options can be changed through EGADS using the ``egads.set_log_options()`` function, by passing a dictionary of option keys and values:

>>> import egads
>>> egads.set_options(log_level='INFO', log_path='/path/to/log/directory/')
Expand Down Expand Up @@ -100,5 +100,5 @@ If NetCDF4 and H5py libraries are installed through Pypi, a crash can occure whe
#. Uninstall entirely NetCDF4
#. Download NetCDF4 sources corresponding to the version installed with Pypi
#. Unzip the package, launch a terminal and build NetCDF4 module -> ``python setup.py build``
#. Finally install NetCDF4 moudle -> ``python setup.py install``
#. Check NetCDF4 integration into EGADS with EGADS test function
#. Finally install NetCDF4 module -> ``python setup.py install``
#. Check NetCDF4 integration into EGADS with EGADS test function
15 changes: 12 additions & 3 deletions doc/source/tutorial-end.inc
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ Python differs from C++ and Fortran in how loops or nested statements are signif

x = 0
for i in range(1,10):
x = x + i
x += i
print i
print x

Expand All @@ -121,11 +121,20 @@ Python differs from C++ and Fortran in how loops or nested statements are signif
Using the GUI
**************

Since September 2016, a Graphical User Interface is available at https://github.com/eufarn7sp/egads-gui. It gives the user the possibility to explore data, apply/create algorithms, display and plot data. Still in beta state, the user will have the possibility in the future to work on a batch of file. For now, EGADS GUI comes as a simple python script and need to be launch from the terminal, if EGADS is installed, and once in the EGADS GUI directory:
Since September 2016, a Graphical User Interface is available at https://github.com/eufarn7sp/egads-gui. It gives the user the possibility to explore data, apply/create algorithms, display and plot data.

.. image:: images/EGADS_GUI_005.png
:width: 936px
:height: 647px
:scale: 45 %
:align: center

EGADS GUI can be launched as a simple python script from the terminal, if EGADS is installed, and once in the EGADS GUI directory:

>>> python egads_gui.py

It will be available soon as a stand alone (imbedding a version of EGADS CORE or using an already installed EGADS package).
Since version 1.0.0, a stand-alone package is available for those who wants to use the GUI without a Python installation. In that case, look for ``EGADS Lineage GUI STA`` in the release part of the repository. For Windows (from Windows 7 32), donwload the .msi package and launch the installation, it should be installed outside ProgramFiles to avoid issues with admin rights, then the GUI can be run by double clicking on egads_gui.exe or from the shortcut in the Startup menu. A .zip package is also available for those who don't want to install it. For Linux (from Linux 4.15), download the tar.gz package somewhere on your hard drive (preferably in your home directory), extract it and run egads_gui.
The stand-alone versions for Linux and Windows have been created with PyInstaller, Windows 7 and Ubuntu 18.04.

.. NOTE::
As for EGADS, the Graphical User Interface is available from two branches: master and Lineage (https://github.com/EUFAR/egads-gui/tree/Lineage). The Lineage one is only compatible with Python 3 and the earlier versions of EGADS Lineage.
5 changes: 2 additions & 3 deletions doc/source/tutorial-global.rst
Original file line number Diff line number Diff line change
Expand Up @@ -104,12 +104,11 @@ Metadata

The metadata object used by :class:`~.EgadsData` is an instance of :class:`~.VariableMetadata`, a dictionary object containing methods to recognize, convert and validate known metadata types. It can reference parent metadata objects, such as those from an algorithm or data file, to enable users to track the source of a particular variable.

When reading in data from a supported file type (NetCDF, NASA Ames), or doing calculations with an EGADS algorithm, EGADS will automatically populate the associated metadata and assign it to the output variable. However, when creating an :class:`~.EgadsData` instance manually, the metadata must be user-defined.
When reading in data from a supported file type (NetCDF, NASA Ames, Hdf), or doing calculations with an EGADS algorithm, EGADS will automatically populate the associated metadata and assign it to the output variable. However, when creating an :class:`~.EgadsData` instance manually, the metadata must be user-defined.

As mentioned, :class:`~.VariableMetadata` is a dictionary object, thus all metadata are stored as keyword:value pairs. To create metadata manually, simply pass in a dictionary object containing the desired metadata:

>>> var_metadata_dict = {'long_name':'test metadata object',
'_FillValue':-9999}
>>> var_metadata_dict = {'long_name':'test metadata object', '_FillValue':-9999}
>>> var_metadata = egads.core.metadata.VariableMetadata(var_metadata_dict)

To take advantage of its metadata recognition capabilities, a ``conventions`` keyword can be passed with the variable metadata to give a context to these metadata.
Expand Down
Loading

0 comments on commit 47b5688

Please sign in to comment.