Skip to content

Releases: csyhuang/hn2016_falwa

Release v0.7.0: encapsulated calculations from Neal et al (2022)

19 Jun 02:45
Compare
Choose a tag to compare

Major changes in user interface

  • Encapsulated the latitudinal boundary conditions and inversion algorithm used in Neal et al (2022, GRL) to QGFieldNHN22. The existing algorithm from Nakamura and Huang (2018, Science) is encapsulated in QGFieldNH18. Current QGField class is equivalent to QGFieldNH18 (for backward compatibility). These classes are also available in the xarray interface QGDataset (Thanks Christopher Polster!).
  • Updated interfaces of F2PY modules to remove redundant arguments. Please recompile F2PY modules following instructions from README.md.
  • Significant improvement in Documentation. In particular, with the use of nbsphinx, jupyter notebook examples are now available in the documentation. Great thanks to Christopher Polster for the enhancement.
  • All jupyter notebook examples are fixed. Notebook examples are available for both QGFieldNH18 and QGFieldNHN22. They can be run with the sample data available in Dropbox folder (See Quick start in readme.md for details).
  • Added new unit tests which enhance test coverage.

Migration guide from v0.6.x -> 0.7.0

  • Now northern_hemisphere_results_only becomes an input argument for QGField. Please initialize this when creating QGField object and remove this argument from the methods (compute_reference_states and compute_lwa_and_barotropic_fluxes).
  • eq_boundary_index is now an input arguemnt merely for QGFieldNHN22, but not QGFieldNH18. Remove it if you are using QGField/QGFieldNH18. You can refer to the jupyter notebook examples for the updated usage.

Release 0.6.6 - graph plot fix for GRL corrigendum

09 Apr 19:59
Compare
Choose a tag to compare

This minor release include a fix in graph plot procedure scripts/nhn_grl2022/graph_plot_module.py - the plotting script for the residual plot is fixed such that it produces the same plot on different machines.

Release 0.6.5 - setup.py fixes

02 Mar 05:59
Compare
Choose a tag to compare

This is a minor release that fixes the issues with setup.py that cannot locate the compiled fortran modules. Thanks @chpolste for fixing this!

The archive on PyPI has also been also fixed in v0.6.5.

Release 0.6.4 - meridional flux correction

14 Feb 05:01
Compare
Choose a tag to compare

This release includes the fix for the calculation of meridional flux component. See the correction note for details. The corrigendum on Neal et al 2022, GRL corresponds to this release.

The main change in the calculation can be found in this commit: 38d95f6

Please remove all the compiled fortran modules on your machine and git pull the newest version of fortran codes for installation (python setup.py develop).

Resolution-dependent bugfix

17 Oct 03:37
Compare
Choose a tag to compare

There were resolution-dependent procedures which worked with the (360x181) grid we used for NHN2022, GRL. This bugfix enables the new inversion routine to take data of other grid sizes.

Release 0.6.1 - Xarray interface to implement QGField methods

29 Aug 21:33
Compare
Choose a tag to compare

Major update:

  • Thanks Christopher Polster @chpolste for developing an xarray interface for the QGField object using the SOR solver to compute reference state as documented in Nakamura and Huang (2018, Science).
    • Sample code that use this interface: examples/nh2018_science/demo_script_for_nh2018_with_xarray.ipynb
    • Please refer to the corresponding xarray interface documentation page for details.

Minor update:

  • Added .gitignore for this repo
  • Fix documentation display on readthedocs.io
  • Fortran code files are now moved to hn2016_falwa/f90_modules/ such that the compiled .so modules are located in hn2016_falwa/
  • Cleaned up f2py modules and remove unused variables

Code change

Detailed change in the code can be viewed on this GitHub commit comparison page:

https://github.com/csyhuang/hn2016_falwa/compare/44fabe7..a656062

Release for publishing analysis code on Zenodo for GRL submission

17 Mar 20:59
44fabe7
Compare
Choose a tag to compare

There is an enhancement in the algorithm computing reference state in this release. In the past, and also
the analysis in NH18 Science, we used equator as the latitudinal boundary. In this current version of the script
(release 0.6.0), we use absolute vorticity at 5°N as boundary condition such that the solution is no longer sensitive
to fields at the equator, which improves the quality of the analysis.

The analysis code to reproduce results in Neal et al. "The 2021 Pacific Northwest heat wave and associated blocking: Meteorology and the role of an upstream cyclone as a diabatic source of wave activity" (submitted to GRL) can be found in the directory scripts/nhn_grl2022/.

Zenodo badge: DOI

Fortran module optimization, package restructured and additional unit tests

15 Aug 20:33
Compare
Choose a tag to compare
  • Great thanks to @chpolste for pull request #36 that optimizes the fortran code that computes LWA and fluxes. To incorporate the changes made, after pulling the changes, please re-compile the f2py modules. One way of doing this is:
$ python setup.py develop -u
$ git pull
$ python setup.py develop
  • The module hn2016_falwa/download_data.py, which downloads ERA-Interim data, has been removed.
  • The module hn2016_falwa/beta_version.py has been moved to the legacy/ folder. This module is no longer maintained, and will be deprecated in the upcoming release.
  • Added one unit test for the class BarotropicField.
  • Instead of using Travis CI, now deployment test and code coverage test are implemented using GitHub workflow.

close #37

Bug fix in BarotropicField and include procedures to handle masked array

14 Jul 22:26
Compare
Choose a tag to compare

There are two fixes in this release:

  • The bugs in the class BarotropicField is fixed. Thanks @chpolste for the pull request.
  • Now QGField can handle masked arrays without raising an error. It converts masked array to numpy array with the fill_value stored in the masked array.

Calculations for Southern Hemisphere available now!

10 Apr 02:06
Compare
Choose a tag to compare

Enhancement in functionality

  • The computation of LWA, reference state and vertically averaged fluxes in the Southern Hemisphere is now available in the QGField class!
  • The computed variables can be accessed via the QGField class without calling any methods, e.g. the 3D wave activity can be retrieved from the QGField object qgfield by qgfield.lwa. See documentation/example for all the attributes.
  • Added more sanity checks for the inputs of QGField.

Other changes