Browse Source

Merge branch 'release/1.2.0'

main 1.2.0
Bill Ladwig 7 years ago
parent
commit
17b1bd1d53
  1. 3
      .gitignore
  2. 13
      doc/source/new.rst
  3. 1
      doc/source/tutorial.rst
  4. 4
      fortran/wrf_constants.f90
  5. 4
      fortran/wrffortran.pyf
  6. 3
      src/wrf/__init__.py
  7. 3
      src/wrf/cache.py
  8. 3
      src/wrf/computation.py
  9. 3
      src/wrf/config.py
  10. 3
      src/wrf/constants.py
  11. 3
      src/wrf/coordpair.py
  12. 3
      src/wrf/decorators.py
  13. 3
      src/wrf/destag.py
  14. 3
      src/wrf/extension.py
  15. 3
      src/wrf/g_cape.py
  16. 3
      src/wrf/g_cloudfrac.py
  17. 3
      src/wrf/g_ctt.py
  18. 3
      src/wrf/g_dbz.py
  19. 3
      src/wrf/g_dewpoint.py
  20. 3
      src/wrf/g_geoht.py
  21. 3
      src/wrf/g_helicity.py
  22. 3
      src/wrf/g_latlon.py
  23. 3
      src/wrf/g_omega.py
  24. 3
      src/wrf/g_precip.py
  25. 3
      src/wrf/g_pressure.py
  26. 3
      src/wrf/g_pw.py
  27. 3
      src/wrf/g_rh.py
  28. 3
      src/wrf/g_slp.py
  29. 3
      src/wrf/g_temp.py
  30. 3
      src/wrf/g_terrain.py
  31. 3
      src/wrf/g_times.py
  32. 3
      src/wrf/g_uvmet.py
  33. 3
      src/wrf/g_vorticity.py
  34. 3
      src/wrf/g_wind.py
  35. 3
      src/wrf/geobnds.py
  36. 3
      src/wrf/interp.py
  37. 3
      src/wrf/interputils.py
  38. 3
      src/wrf/latlonutils.py
  39. 9
      src/wrf/metadecorators.py
  40. 33
      src/wrf/projection.py
  41. 3
      src/wrf/projutils.py
  42. 3
      src/wrf/py3compat.py
  43. 7
      src/wrf/routines.py
  44. 3
      src/wrf/specialdec.py
  45. 3
      src/wrf/units.py
  46. 9
      src/wrf/util.py
  47. 2
      src/wrf/version.py

3
.gitignore vendored

@ -49,6 +49,9 @@ test/ipynb/.ipynb_checkpoints
fortran/omp.f90 fortran/omp.f90
fortran/wrffortran.pyf fortran/wrffortran.pyf
fortran/*.mod fortran/*.mod
fortran/_wrffortranmodule.c
fortran/_wrffortran-f2pywrappers.f
fortran/_wrffortran-f2pywrappers2.f90
build build
.settings .settings
src/wrf_python.egg-info src/wrf_python.egg-info

13
doc/source/new.rst

@ -4,6 +4,19 @@ What's New
Releases Releases
------------- -------------
v1.2.0
^^^^^^^^^^^^^^
- Release 1.2.0
- Previous versions of wrf-python promoted the strings used in xarray (e.g.
name, attributes) to Unicode strings. This caused problems when porting
examples for PyNGL to use wrf-python in Python 3.x. All strings are now the
native string for the Python version being used. While this should be
transparent to most users, any users that worked with the xarray name or
attribute values on Python 2.7 may run in to string related errors, so we've
decided to bump the major version number.
v1.1.3 v1.1.3
^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^

1
doc/source/tutorial.rst

@ -24,3 +24,4 @@ Past Tutorials
tutorials/wrf_workshop_2017.rst tutorials/wrf_workshop_2017.rst
tutorials/tutorial_03_2018.rst tutorials/tutorial_03_2018.rst

4
fortran/wrf_constants.f90

@ -9,13 +9,13 @@ MODULE wrf_constants
REAL(KIND=8), PARAMETER :: PI = 3.1415926535897932384626433D0 REAL(KIND=8), PARAMETER :: PI = 3.1415926535897932384626433D0
REAL(KIND=8), PARAMETER :: RAD_PER_DEG = PI/180.D0 REAL(KIND=8), PARAMETER :: RAD_PER_DEG = PI/180.D0
REAL(KIND=8), PARAMETER :: DEG_PER_RAD = 180.D0/PI REAL(KIND=8), PARAMETER :: DEG_PER_RAD = 180.D0/PI
REAL(KIND=8), PARAMETER :: DEFAULT_FILL = 9.9692099683868690E36 REAL(KIND=8), PARAMETER :: DEFAULT_FILL = 9.9692099683868690D36
INTEGER(KIND=1), PARAMETER :: DEFAULT_FILL_INT8 = -127 INTEGER(KIND=1), PARAMETER :: DEFAULT_FILL_INT8 = -127
INTEGER(KIND=2), PARAMETER :: DEFAULT_FILL_INT16 = -32767 INTEGER(KIND=2), PARAMETER :: DEFAULT_FILL_INT16 = -32767
INTEGER(KIND=4), PARAMETER :: DEFAULT_FILL_INT32 = -2147483647 INTEGER(KIND=4), PARAMETER :: DEFAULT_FILL_INT32 = -2147483647
INTEGER(KIND=8), PARAMETER :: DEFAULT_FILL_INT64 = INT(-9223372036854775806D0, KIND=8) INTEGER(KIND=8), PARAMETER :: DEFAULT_FILL_INT64 = INT(-9223372036854775806D0, KIND=8)
REAL(KIND=4), PARAMETER :: DEFAULT_FILL_FLOAT = 9.9692099683868690E36 REAL(KIND=4), PARAMETER :: DEFAULT_FILL_FLOAT = 9.9692099683868690E36
REAL(KIND=8), PARAMETER :: DEFAULT_FILL_DOUBLE = 9.9692099683868690E36 REAL(KIND=8), PARAMETER :: DEFAULT_FILL_DOUBLE = 9.9692099683868690D36
CHARACTER(LEN=1), PARAMETER :: DEFAULT_FILL_CHAR = ACHAR(0) CHARACTER(LEN=1), PARAMETER :: DEFAULT_FILL_CHAR = ACHAR(0)

4
fortran/wrffortran.pyf

@ -322,7 +322,7 @@ python module _wrffortran ! in
real(kind=8), parameter,optional :: p1000mb=100000.d0 real(kind=8), parameter,optional :: p1000mb=100000.d0
real(kind=8), parameter,optional :: rv=461.6d0 real(kind=8), parameter,optional :: rv=461.6d0
real(kind=8), parameter,optional,depend(pi) :: rad_per_deg=pi/180.d0 real(kind=8), parameter,optional,depend(pi) :: rad_per_deg=pi/180.d0
real(kind=8), parameter,optional :: default_fill_double=9.96920996839e+36 real(kind=8), parameter,optional :: default_fill_double=9.9692099683868690d36
real(kind=8), parameter,optional :: rd=287.d0 real(kind=8), parameter,optional :: rd=287.d0
real(kind=8), parameter,optional :: abscoef=.145d0 real(kind=8), parameter,optional :: abscoef=.145d0
real(kind=8), parameter,optional :: celkel=273.15d0 real(kind=8), parameter,optional :: celkel=273.15d0
@ -341,7 +341,7 @@ python module _wrffortran ! in
real(kind=8), parameter,optional :: cpmd=.887d0 real(kind=8), parameter,optional :: cpmd=.887d0
real(kind=8), parameter,optional,depend(rd,g) :: sclht=rd*256.d0/g real(kind=8), parameter,optional,depend(rd,g) :: sclht=rd*256.d0/g
real(kind=8), parameter,optional :: ussalr=0.0065d0 real(kind=8), parameter,optional :: ussalr=0.0065d0
real(kind=8), parameter,optional :: default_fill=9.96920996839e+36 real(kind=8), parameter,optional :: default_fill=9.9692099683868690d36
real(kind=8), parameter,optional :: rho_s=100.d0 real(kind=8), parameter,optional :: rho_s=100.d0
real(kind=8), parameter,optional,depend(rhowat) :: rho_r=1000.0 real(kind=8), parameter,optional,depend(rhowat) :: rho_r=1000.0
real(kind=8), parameter,optional :: alpha=0.224d0 real(kind=8), parameter,optional :: alpha=0.224d0

3
src/wrf/__init__.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
import os import os
import pkg_resources import pkg_resources

3
src/wrf/cache.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from threading import local from threading import local
from collections import OrderedDict from collections import OrderedDict

3
src/wrf/computation.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
import numpy as np import numpy as np
import numpy.ma as ma import numpy.ma as ma

3
src/wrf/config.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from threading import local from threading import local
import wrapt import wrapt

3
src/wrf/constants.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from sys import version_info from sys import version_info
import struct import struct

3
src/wrf/coordpair.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from .py3compat import py2round from .py3compat import py2round

3
src/wrf/decorators.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from collections import Iterable, OrderedDict from collections import Iterable, OrderedDict

3
src/wrf/destag.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from .decorators import extract_and_transpose from .decorators import extract_and_transpose
from .metadecorators import set_destag_metadata from .metadecorators import set_destag_metadata

3
src/wrf/extension.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
import numpy as np import numpy as np

3
src/wrf/g_cape.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
import numpy as np import numpy as np
import numpy.ma as ma import numpy.ma as ma

3
src/wrf/g_cloudfrac.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
import numpy as np import numpy as np
import numpy.ma as ma import numpy.ma as ma

3
src/wrf/g_ctt.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
import numpy as np import numpy as np
import numpy.ma as ma import numpy.ma as ma

3
src/wrf/g_dbz.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
import numpy as np import numpy as np

3
src/wrf/g_dewpoint.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
#from .extension import computetd #from .extension import computetd
from .extension import _td from .extension import _td

3
src/wrf/g_geoht.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
import warnings import warnings

3
src/wrf/g_helicity.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
import numpy as np import numpy as np

3
src/wrf/g_latlon.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from collections import OrderedDict from collections import OrderedDict

3
src/wrf/g_omega.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from .constants import Constants from .constants import Constants
from .destag import destagger from .destag import destagger

3
src/wrf/g_precip.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from .util import extract_vars from .util import extract_vars

3
src/wrf/g_pressure.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from .decorators import convert_units from .decorators import convert_units
from .metadecorators import copy_and_set_metadata from .metadecorators import copy_and_set_metadata

3
src/wrf/g_pw.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
#from .extension import computepw,computetv,computetk #from .extension import computepw,computetv,computetk
from .extension import _pw, _tv, _tk from .extension import _pw, _tv, _tk

3
src/wrf/g_rh.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from .constants import Constants from .constants import Constants
#from .extension import computerh, computetk #from .extension import computerh, computetk

3
src/wrf/g_slp.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
#from .extension import computeslp, computetk #from .extension import computeslp, computetk
from .extension import _slp, _tk from .extension import _slp, _tk

3
src/wrf/g_temp.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from .constants import Constants from .constants import Constants
from .extension import _tk, _eth, _tv, _wetbulb from .extension import _tk, _eth, _tv, _wetbulb

3
src/wrf/g_terrain.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from .decorators import convert_units from .decorators import convert_units
from .metadecorators import copy_and_set_metadata from .metadecorators import copy_and_set_metadata

3
src/wrf/g_times.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from .util import extract_times from .util import extract_times

3
src/wrf/g_uvmet.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from math import fabs, log, tan, sin, cos from math import fabs, log, tan, sin, cos

3
src/wrf/g_vorticity.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from .extension import _avo, _pvo from .extension import _avo, _pvo
from .util import extract_vars, extract_global_attrs from .util import extract_vars, extract_global_attrs

3
src/wrf/g_wind.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
import numpy as np import numpy as np

3
src/wrf/geobnds.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from .coordpair import CoordPair from .coordpair import CoordPair

3
src/wrf/interp.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
import numpy as np import numpy as np
import numpy.ma as ma import numpy.ma as ma

3
src/wrf/interputils.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from math import floor, ceil from math import floor, ceil

3
src/wrf/latlonutils.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from collections import Iterable from collections import Iterable

9
src/wrf/metadecorators.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
import warnings import warnings
import wrapt import wrapt
from collections import OrderedDict from collections import OrderedDict
@ -12,7 +11,7 @@ from .util import (extract_vars, either, from_args, arg_location,
is_coordvar, latlon_coordvars, to_np, is_coordvar, latlon_coordvars, to_np,
from_var, iter_left_indexes, is_mapping) from_var, iter_left_indexes, is_mapping)
from .coordpair import CoordPair from .coordpair import CoordPair
from .py3compat import viewkeys, viewitems, py3range, ucode from .py3compat import viewkeys, viewitems, py3range
from .interputils import get_xy_z_params, get_xy, to_xy_coords from .interputils import get_xy_z_params, get_xy, to_xy_coords
from .config import xarray_enabled from .config import xarray_enabled
@ -135,7 +134,7 @@ def copy_and_set_metadata(copy_varname=None, delete_attrs=None, name=None,
outattrs = OrderedDict() outattrs = OrderedDict()
if copy_varname is not None: if copy_varname is not None:
outname = ucode(var_to_copy.name) outname = var_to_copy.name
if dimnames is not None: if dimnames is not None:
outdimnames = dimnames outdimnames = dimnames
@ -1854,7 +1853,7 @@ def set_smooth_metdata():
outattrs = OrderedDict() outattrs = OrderedDict()
if isinstance(field, DataArray): if isinstance(field, DataArray):
outname = "smooth_" + ucode(field.name) outname = "smooth_" + field.name
outdimnames = list(field.dims) outdimnames = list(field.dims)
outcoords.update(field.coords) outcoords.update(field.coords)
outattrs.update(field.attrs) outattrs.update(field.attrs)

33
src/wrf/projection.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
import numpy as np import numpy as np
import math import math
from decimal import Decimal, Context, ROUND_HALF_UP from decimal import Decimal, Context, ROUND_HALF_UP
@ -532,13 +531,13 @@ class LambertConformal(WrfProj):
else self.truelat2) else self.truelat2)
_pyngl = Resources() _pyngl = Resources()
_pyngl.mpProjection = bytes("LambertConformal") _pyngl.mpProjection = "LambertConformal"
_pyngl.mpDataBaseVersion = bytes("MediumRes") _pyngl.mpDataBaseVersion = "MediumRes"
_pyngl.mpLambertMeridianF = self.stand_lon _pyngl.mpLambertMeridianF = self.stand_lon
_pyngl.mpLambertParallel1F = self.truelat1 _pyngl.mpLambertParallel1F = self.truelat1
_pyngl.mpLambertParallel2F = truelat2 _pyngl.mpLambertParallel2F = truelat2
_pyngl.mpLimitMode = bytes("Corners") _pyngl.mpLimitMode = "Corners"
_pyngl.mpLeftCornerLonF = geobounds.bottom_left.lon _pyngl.mpLeftCornerLonF = geobounds.bottom_left.lon
_pyngl.mpLeftCornerLatF = geobounds.bottom_left.lat _pyngl.mpLeftCornerLatF = geobounds.bottom_left.lat
_pyngl.mpRightCornerLonF = geobounds.top_right.lon _pyngl.mpRightCornerLonF = geobounds.top_right.lon
@ -652,12 +651,12 @@ class Mercator(WrfProj):
return None return None
_pyngl = Resources() _pyngl = Resources()
_pyngl.mpProjection = bytes("Mercator") _pyngl.mpProjection = "Mercator"
_pyngl.mpDataBaseVersion = bytes("MediumRes") _pyngl.mpDataBaseVersion = "MediumRes"
_pyngl.mpCenterLatF = 0.0 _pyngl.mpCenterLatF = 0.0
_pyngl.mpCenterLonF = self.stand_lon _pyngl.mpCenterLonF = self.stand_lon
_pyngl.mpLimitMode = bytes("Corners") _pyngl.mpLimitMode = "Corners"
_pyngl.mpLeftCornerLonF = geobounds.bottom_left.lon _pyngl.mpLeftCornerLonF = geobounds.bottom_left.lon
_pyngl.mpLeftCornerLatF = geobounds.bottom_left.lat _pyngl.mpLeftCornerLatF = geobounds.bottom_left.lat
_pyngl.mpRightCornerLonF = geobounds.top_right.lon _pyngl.mpRightCornerLonF = geobounds.top_right.lon
@ -770,8 +769,8 @@ class PolarStereographic(WrfProj):
return None return None
_pyngl = Resources() _pyngl = Resources()
_pyngl.mpProjection = bytes("Stereographic") _pyngl.mpProjection = "Stereographic"
_pyngl.mpDataBaseVersion = bytes("MediumRes") _pyngl.mpDataBaseVersion = "MediumRes"
_pyngl.mpCenterLonF = self.stand_lon _pyngl.mpCenterLonF = self.stand_lon
if self._hemi > 0: if self._hemi > 0:
@ -779,7 +778,7 @@ class PolarStereographic(WrfProj):
else: else:
_pyngl.mpCenterLatF = -90.0 _pyngl.mpCenterLatF = -90.0
_pyngl.mpLimitMode = bytes("Corners") _pyngl.mpLimitMode = "Corners"
_pyngl.mpLeftCornerLonF = geobounds.bottom_left.lon _pyngl.mpLeftCornerLonF = geobounds.bottom_left.lon
_pyngl.mpLeftCornerLatF = geobounds.bottom_left.lat _pyngl.mpLeftCornerLatF = geobounds.bottom_left.lat
_pyngl.mpRightCornerLonF = geobounds.top_right.lon _pyngl.mpRightCornerLonF = geobounds.top_right.lon
@ -877,12 +876,12 @@ class LatLon(WrfProj):
return None return None
_pyngl = Resources() _pyngl = Resources()
_pyngl.mpProjection = bytes("CylindricalEquidistant") _pyngl.mpProjection = "CylindricalEquidistant"
_pyngl.mpDataBaseVersion = bytes("MediumRes") _pyngl.mpDataBaseVersion = "MediumRes"
_pyngl.mpCenterLonF = self.stand_lon _pyngl.mpCenterLonF = self.stand_lon
_pyngl.mpCenterLatF = self.moad_cen_lat _pyngl.mpCenterLatF = self.moad_cen_lat
_pyngl.mpLimitMode = bytes("Corners") _pyngl.mpLimitMode = "Corners"
_pyngl.mpLeftCornerLonF = geobounds.bottom_left.lon _pyngl.mpLeftCornerLonF = geobounds.bottom_left.lon
_pyngl.mpLeftCornerLatF = geobounds.bottom_left.lat _pyngl.mpLeftCornerLatF = geobounds.bottom_left.lat
_pyngl.mpRightCornerLonF = geobounds.top_right.lon _pyngl.mpRightCornerLonF = geobounds.top_right.lon
@ -1055,12 +1054,12 @@ class RotatedLatLon(WrfProj):
return None return None
_pyngl = Resources() _pyngl = Resources()
_pyngl.mpProjection = bytes("CylindricalEquidistant") _pyngl.mpProjection = "CylindricalEquidistant"
_pyngl.mpDataBaseVersion = bytes("MediumRes") _pyngl.mpDataBaseVersion = "MediumRes"
_pyngl.mpCenterLatF = self._pyngl_cen_lat _pyngl.mpCenterLatF = self._pyngl_cen_lat
_pyngl.mpCenterLonF = self._pyngl_cen_lon _pyngl.mpCenterLonF = self._pyngl_cen_lon
_pyngl.mpLimitMode = bytes("Corners") _pyngl.mpLimitMode = "Corners"
_pyngl.mpLeftCornerLonF = geobounds.bottom_left.lon _pyngl.mpLeftCornerLonF = geobounds.bottom_left.lon
_pyngl.mpLeftCornerLatF = geobounds.bottom_left.lat _pyngl.mpLeftCornerLatF = geobounds.bottom_left.lat
_pyngl.mpRightCornerLonF = geobounds.top_right.lon _pyngl.mpRightCornerLonF = geobounds.top_right.lon

3
src/wrf/projutils.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from .py3compat import viewitems from .py3compat import viewitems

3
src/wrf/py3compat.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from sys import version_info from sys import version_info
from math import floor, copysign from math import floor, copysign

7
src/wrf/routines.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from .util import (get_iterable, is_standard_wrf_var, extract_vars, viewkeys, from .util import (get_iterable, is_standard_wrf_var, extract_vars, viewkeys,
get_id) get_id)
@ -22,7 +21,7 @@ from .g_uvmet import (get_uvmet, get_uvmet10, get_uvmet10_wspd_wdir,
from .g_vorticity import get_avo, get_pvo from .g_vorticity import get_avo, get_pvo
from .g_wind import (get_destag_wspd_wdir, get_destag_wspd_wdir10, from .g_wind import (get_destag_wspd_wdir, get_destag_wspd_wdir10,
get_u_destag, get_v_destag, get_w_destag) get_u_destag, get_v_destag, get_w_destag)
from .g_times import get_times from .g_times import get_times, get_xtimes
from .g_cloudfrac import get_cloudfrac from .g_cloudfrac import get_cloudfrac
@ -52,6 +51,7 @@ _FUNC_MAP = {"cape2d" : get_2dcape,
"twb" : get_tw, "twb" : get_tw,
"terrain" : get_terrain, "terrain" : get_terrain,
"times" : get_times, "times" : get_times,
"xtimes" : get_xtimes,
"uvmet" : get_uvmet, "uvmet" : get_uvmet,
"uvmet10" : get_uvmet10, "uvmet10" : get_uvmet10,
"avo" : get_avo, "avo" : get_avo,
@ -97,6 +97,7 @@ _VALID_KARGS = {"cape2d" : ["missing"],
"twb" : ["units"], "twb" : ["units"],
"terrain" : ["units"], "terrain" : ["units"],
"times" : [], "times" : [],
"xtimes" : [],
"uvmet" : ["units"], "uvmet" : ["units"],
"uvmet10" : ["units"], "uvmet10" : ["units"],
"avo" : [], "avo" : [],

3
src/wrf/specialdec.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
import numpy as np import numpy as np

3
src/wrf/units.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
from .constants import Constants, ConversionFactors from .constants import Constants, ConversionFactors

9
src/wrf/util.py

@ -1,5 +1,4 @@
from __future__ import (absolute_import, division, print_function, from __future__ import (absolute_import, division, print_function)
unicode_literals)
import os import os
from sys import version_info from sys import version_info
@ -31,7 +30,7 @@ import numpy.ma as ma
from .config import xarray_enabled from .config import xarray_enabled
from .constants import default_fill, ALL_TIMES from .constants import default_fill, ALL_TIMES
from .py3compat import (viewitems, viewkeys, isstr, py3range, ucode) from .py3compat import (viewitems, viewkeys, isstr, py3range)
from .cache import cache_item, get_cached_item from .cache import cache_item, get_cached_item
from .geobnds import GeoBounds, NullGeoBounds from .geobnds import GeoBounds, NullGeoBounds
from .coordpair import CoordPair from .coordpair import CoordPair
@ -1722,7 +1721,7 @@ def _cat_files(wrfseq, varname, timeidx, is_moving, squeeze, meta, _key):
if not timecached and outxtimes is not None: if not timecached and outxtimes is not None:
cache_item(_key, timekey, outxtimes) cache_item(_key, timekey, outxtimes)
outname = ucode(first_var.name) outname = first_var.name
outattrs = OrderedDict(first_var.attrs) outattrs = OrderedDict(first_var.attrs)
outcoords = OrderedDict(first_var.coords) outcoords = OrderedDict(first_var.coords)
outdimnames = list(first_var.dims) outdimnames = list(first_var.dims)
@ -1986,7 +1985,7 @@ def _join_files(wrfseq, varname, timeidx, is_moving, meta, _key):
if not timecached and outxtimes is not None: if not timecached and outxtimes is not None:
cache_item(_key, timekey, outxtimes) cache_item(_key, timekey, outxtimes)
outname = ucode(first_var.name) outname = first_var.name
outcoords = OrderedDict(first_var.coords) outcoords = OrderedDict(first_var.coords)
outattrs = OrderedDict(first_var.attrs) outattrs = OrderedDict(first_var.attrs)
# New dimensions # New dimensions

2
src/wrf/version.py

@ -1,2 +1,2 @@
__version__ = "1.1.3" __version__ = "1.2.0"

Loading…
Cancel
Save