Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Geodesic #148

Merged
merged 4 commits into from
Mar 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions DataProcess/DataProcess.py
Original file line number Diff line number Diff line change
Expand Up @@ -312,10 +312,6 @@ def processData(self, restrictToWindfieldDomain=False):
if self.ncflag:
self.data['index'] = indicator

# ieast : parameter used in latLon2Azi
# FIXME: should be a config setting describing the input data.
ieast = 1

# Determine the index of initial cyclone observations, excluding
# those cyclones that have only one observation. This is used
# for calculating initial bearing and speed
Expand All @@ -325,7 +321,7 @@ def processData(self, restrictToWindfieldDomain=False):

# Calculate the bearing and distance (km) of every two
# consecutive records using ll2azi
bear_, dist_ = maputils.latLon2Azi(lat, lon, ieast, azimuth=0)
bear_, dist_ = maputils.latLon2Azi(lat, lon)
assert bear_.size == indicator.size - 1
assert dist_.size == indicator.size - 1
bear = np.empty(indicator.size, 'f')
Expand Down
2 changes: 1 addition & 1 deletion Evaluate/interpolateTracks.py
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ def interpolate(track, delta, interpolation_type=None):
nrMax = interp1d(timestep, track.rMax, kind='linear')(newtime)

if len(nLat) >= 2:
bear_, dist_ = latLon2Azi(nLat, nLon, 1, azimuth=0)
bear_, dist_ = latLon2Azi(nLat, nLon)
nthetaFm = np.zeros(newtime.size, dtype=float)
nthetaFm[:-1] = bear_
nthetaFm[-1] = bear_[-1]
Expand Down
2 changes: 1 addition & 1 deletion Utilities/interpTrack.py
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ def interpolateTrack(configFile, trackFile, source, delta=0.1,
npEnv = scint.interp1d(timestep, penv, kind='linear')(newtime)
nrMax = scint.interp1d(timestep, rmax, kind='linear')(newtime)

bear_, dist_ = maputils.latLon2Azi(nLat, nLon, 1, azimuth=0)
bear_, dist_ = maputils.latLon2Azi(nLat, nLon)
nthetaFm = numpy.zeros(newtime.size, 'f')
nthetaFm[:-1] = bear_
nthetaFm[-1] = bear_[-1]
Expand Down
18 changes: 9 additions & 9 deletions Utilities/loadData.py
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ def __getattr__(self, key):

"""

def getSpeedBearing(index, lon, lat, deltatime, ieast=1,
def getSpeedBearing(index, lon, lat, deltatime,
missingValue=sys.maxsize):
"""
Calculate the speed and bearing of a TC.
Expand Down Expand Up @@ -182,7 +182,7 @@ def getSpeedBearing(index, lon, lat, deltatime, ieast=1,

"""

bear_, dist_ = maputils.latLon2Azi(lat, lon, ieast, azimuth=0)
bear_, dist_ = maputils.latLon2Azi(lat, lon)
assert bear_.size == index.size - 1
assert dist_.size == index.size - 1
bearing = np.zeros(index.size, 'f')
Expand Down Expand Up @@ -649,7 +649,7 @@ def ltmPressure(jdays, time, lon, lat, ncfile, ncvar='slp'):
ncobj = nctools.ncLoadFile(ncfile)
if ncvar not in ncobj.variables:
raise KeyError(f"{ncfile} does not contain a variable called '{ncvar}'")

slpunits = getattr(ncobj.variables[ncvar], 'units')

data = nctools.ncGetData(ncobj, ncvar)
Expand Down Expand Up @@ -679,9 +679,9 @@ def getPoci(penv, pcentre, lat, jdays, eps,
:param lat: Latitude of storm (degrees).
:param jdays: Julian day (day of year).
:param eps: random variate. Retained as a constant for a single storm.
:param list coeffs: Coefficients of the model. Defaults based on
Southern Hemisphere data
(IBTrACS v03r06, 1981-2014).
:param list coeffs: Coefficients of the model. Defaults based on
Southern Hemisphere data
(IBTrACS v03r06, 1981-2014).

:returns: Revised estimate for the pressure of outermost closed isobar.
"""
Expand All @@ -700,7 +700,7 @@ def getPoci(penv, pcentre, lat, jdays, eps,
assert len(penv) == len(pcentre)
assert len(penv) == len(lat)
assert len(penv) == len(jdays)

poci_model = coeffs[0] + coeffs[1]*penv + coeffs[2]*pcentre \
+ coeffs[3]*pcentre*pcentre + coeffs[4]*lat*lat + \
coeffs[5]*np.cos(np.pi*2*jdays/365) + eps
Expand All @@ -716,9 +716,9 @@ def getPoci(penv, pcentre, lat, jdays, eps,
poci_model = np.nan
elif pcentre == missingValue:
poci_model = np.nan

return poci_model


def filterPressure(pressure, inputPressureUnits='hPa',
missingValue=sys.maxsize):
Expand Down
Loading
Loading