From 9ee0ae59069963fc1f97e508e5f4533b1cebe53f Mon Sep 17 00:00:00 2001 From: Burlen Loring Date: Fri, 24 Jan 2020 14:09:17 -0800 Subject: [PATCH 1/5] Add the 3.0.0 release notes --- doc/release/3.0.0.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 doc/release/3.0.0.md diff --git a/doc/release/3.0.0.md b/doc/release/3.0.0.md new file mode 100644 index 000000000..bf6a72859 --- /dev/null +++ b/doc/release/3.0.0.md @@ -0,0 +1,44 @@ +# Release Notes for TECA 3.0.0 # + +This is a major release in support of: + + T.A. O'Brien et al, **"Detection of Atmospheric Rivers with Inline + Uncertainty Quantification: TECA-BARD v1.0"**, Geoscientific Model + Development, submitted December 2019 + +The pipeline internals were refactored to be more general, the assumption that +time was the dimension across which the reduction is applied was removed, as +well as changes that enable nested map-reduce. + +The TECA User Guide was ported to "Read the Docs". https://teca.readthedocs.io + +Our Travis CI test infrastructure was updated to use Docker, and two new OS +images Fedora 28, and Ubuntu 18.04 were deployed. + +More than 40 bug fixes + +## New algorithms included in this release: ## + +| Type | Name | Description | +|---------------------|------------------------------------|-----------------------------------------------------------------------------------| +| general puprose | teca_2d_component_area | Computes the area's of regions identified by the connected components filter. | +| general puprose | teca_bayesian_ar_detect | Detects atmospheric rivers using a Bayesian method. | +| general puprose | teca_bayesian_ar_detect_parameters | Parameters used by Bayesian AR detector. | +| general puprose | teca_cartesian_mesh_source | Used to create Cratesian meshes in memory and inject them into a pipeline. | +| general puprose | teca_component_area_filter | Masks regions with area out side a user specified range | +| general puprose | teca_component_statistics | Gathers information about connected component regions into a tabular format | +| general puprose | teca_latitude_damper | Multiplies a field by an inverted Gaussian (user specified mean and HWHM) | +| general puprose | teca_normalize_coordinates | Transforms Cartesian meshes such that coordinates are always in ascending order | +| general puprose | teca_python_algorithm | Base class for TECA algorithm's written in Python. Handles internal plumbing | +| core infrastructure | teca_memory_profiler | Supporting class that samples memory consumtion during application execution | +| core infrastructure | teca_profiler | Supporting class that logs start, stop, and duration of developer defined events | +| I/O | teca_cartesian_mesh_reader | Reads TECA Cartesian meshes in TECA's internal binary format | +| I/O | teca_cartesian_mesh_writer | Writes TECA Cartesian meshes in TECA's internal binary format | +| I/O | teca_cf_writer | Writes TECA Cratesian meshes in NetCDF CF2 conventions | + +## New applications included in this release: ## + +| Name | Description | +|--------------------------|-------------------------------------------------------------------------| +| teca_bayesian_ar_detect | Command line application that can be used to detect AR's on HPC systems | +| teca_profile_explorer | Interactive tool for exploring run time profiling data | From 5c3bb396a69b1839f33ccc17b83424b9a901db43 Mon Sep 17 00:00:00 2001 From: Burlen Loring Date: Fri, 24 Jan 2020 15:56:09 -0800 Subject: [PATCH 2/5] exclude most of doc directory from PiPy package * this is because of a size limitation which we now exceed due ot our RTD docs and related images. * includes doc/release/*. --- MANIFEST.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MANIFEST.in b/MANIFEST.in index 3837d15e9..152aa6c7c 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -9,6 +9,6 @@ recursive-include apps *.* recursive-include python *.* recursive-include paraview *.* recursive-include test *.* -recursive-include doc *.* +recursive-include doc/release *.* global-exclude *.pdf global-exclude *.sw? From 0cdf5cd647161dc9e067bede61ae1fd10109540e Mon Sep 17 00:00:00 2001 From: Burlen Loring Date: Fri, 24 Jan 2020 16:13:14 -0800 Subject: [PATCH 3/5] fix cyclic import in teca_python_alagorithm defer importing teca_py in the python_algorithm until symbols are needed. when importing teca_py a cycle is created, the problem is observed in installs created with "python setup.py install" and not when running from the build. --- alg/teca_python_algorithm.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/alg/teca_python_algorithm.py b/alg/teca_python_algorithm.py index 04e97551f..c1d15cf51 100644 --- a/alg/teca_python_algorithm.py +++ b/alg/teca_python_algorithm.py @@ -1,4 +1,3 @@ -import teca_py class teca_python_algorithm(object): """ @@ -27,6 +26,7 @@ def initialize_implementation(self): # call overrides to get implementation for teca execution # phase implementations + import teca_py self.impl = teca_py.teca_programmable_algorithm.New() self.impl.set_number_of_input_connections(n_inputs) self.impl.set_number_of_output_ports(n_outputs) @@ -70,7 +70,8 @@ def get_report_callback(self): phase of execution. """ def report_callback(port, md_in): - return teca_py.teca_metadata(md_in[0]) + import teca_py + return teca_py.teca_metadata(md_in[0]) return report_callback def get_request_callback(self): @@ -84,6 +85,7 @@ def get_request_callback(self): phase of execution. """ def request_callback(port, md_in, req_in): + import teca_py return [teca_py.teca_metadata(req_in)] return request_callback @@ -98,6 +100,7 @@ def get_execute_callback(self): phase of execution. """ def execute_callback(port, data_in, req_in): + import teca_py if len(data_in): data_out = data_in[0].new_instance() data_out.shallow_copy(teca_py.as_non_const_teca_dataset(data_out)) From 4ed508741b265cd6433108bbb06f8956f6649f81 Mon Sep 17 00:00:00 2001 From: Burlen Loring Date: Fri, 24 Jan 2020 16:20:14 -0800 Subject: [PATCH 4/5] bump version in setup.py for 3.0.0 release --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 9a9cdf7c0..67d3084d9 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ # when compiled outside of the git repo we must set the version # manually. Also note that these must be unique per upload to PyPi # so be sure to use an 'rcX' for testing -teca_version = "2.2.2" +teca_version = "3.0.0" class CMakeExtension(Extension): def __init__(self, name, sourcedir=''): @@ -63,7 +63,7 @@ def build_extension(self, ext): raise RuntimeError('Windows is currrently unsupprted due to a lack of interest/funding') else: cmake_args += ['-DCMAKE_BUILD_TYPE=' + cfg] - build_args += ['--', '-j20'] + build_args += ['--', '-j%d'%(nj)] install_args += ['--', '-j%d'%(nj), 'install'] # make the build directory From 42b21bb9a267fe834b058f1375ad87ffcf8cd567 Mon Sep 17 00:00:00 2001 From: taobrienlbl Date: Mon, 27 Jan 2020 10:40:11 -0500 Subject: [PATCH 5/5] Update 3.0.0.md minor change to TECA BARD description text --- doc/release/3.0.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/release/3.0.0.md b/doc/release/3.0.0.md index bf6a72859..a3c2b2842 100644 --- a/doc/release/3.0.0.md +++ b/doc/release/3.0.0.md @@ -4,7 +4,7 @@ This is a major release in support of: T.A. O'Brien et al, **"Detection of Atmospheric Rivers with Inline Uncertainty Quantification: TECA-BARD v1.0"**, Geoscientific Model - Development, submitted December 2019 + Development, submitted winter 2020 The pipeline internals were refactored to be more general, the assumption that time was the dimension across which the reduction is applied was removed, as