Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
dg
dg
Commits
6f73ee4b
Commit
6f73ee4b
authored
Jul 17, 2017
by
Philippe Delandmeter
Browse files
Merge branch 'tpxo_velocities' into 'master'
tpxo: flag to get tidal velocity instead of transport See merge request
!98
parents
d309afee
750cd0fa
Pipeline
#2224
failed with stage
in 31 minutes and 29 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
dgpy/scripts/slimPre.py
View file @
6f73ee4b
...
...
@@ -532,14 +532,11 @@ def read_temporal_serie(file_name, time=None, output_netcdf=None):
write_file
(
output_netcdf
[
0
],
region
=
None
,
time
=
time
,
data
=
[(
output_netcdf
[
1
],
valVec
)])
return
(
time
,
valVec
)
def
tpxo_tide
(
region
,
time
,
data_file_name
=
None
):
def
tpxo_tide
(
region
,
time
,
data_file_name
=
None
,
export_as_transport
=
True
):
"""Give TPXO tides data
This function will download the files tpxo and generate the data at the requested time steps.
It will return the tpxo tides as variables (ssh,
ss
u,
ss
v)
It will return the tpxo tides as variables (ssh, u, v)
with u and v as transport (default) or velocity
keyword arguments:
...
...
@@ -549,6 +546,8 @@ def tpxo_tide(region, time, data_file_name=None):
Time object of the instant at which put the data
* data_file_name
name of the netcdf data file where tides are exported (optional)
* export_transport
flag to specify whether exports are water transport [m^2/s] (True) or velocity [m/s] (False) (default: True)
"""
lonlat
=
Coordinate_system
(
region
,
data_proj
=
'+proj=latlong +ellps=WGS84'
)
h
=
u
=
v
=
np
.
empty
((
1
,
1
))
...
...
@@ -557,8 +556,11 @@ def tpxo_tide(region, time, data_file_name=None):
h_file_name
=
slim_private
.
dgftp
.
get
(
(
"/slim_data/tides/%s"
%
h_file_name
)
)
u_file_name
=
slim_private
.
dgftp
.
get
(
(
"/slim_data/tides/%s"
%
u_file_name
)
)
tide_ssh
=
dgpy
.
slimFunctionTpxo
(
h_file_name
,
'ha'
,
'hp'
,
'lon_z'
,
'lat_z'
)
tide_u
=
dgpy
.
slimFunctionTpxo
(
u_file_name
,
'Ua'
,
'up'
,
'lon_u'
,
'lat_u'
)
tide_v
=
dgpy
.
slimFunctionTpxo
(
u_file_name
,
'Va'
,
'vp'
,
'lon_v'
,
'lat_v'
)
varUtpxo
=
'Ua'
if
export_as_transport
else
'ua'
varVtpxo
=
'Va'
if
export_as_transport
else
'va'
factor
=
1
if
export_as_transport
else
0.01
# from cm/s to m/s for velocities
tide_u
=
dgpy
.
slimFunctionTpxo
(
u_file_name
,
varUtpxo
,
'up'
,
'lon_u'
,
'lat_u'
)
tide_v
=
dgpy
.
slimFunctionTpxo
(
u_file_name
,
varVtpxo
,
'vp'
,
'lon_v'
,
'lat_v'
)
if
not
region
.
_empty
:
lonlat_coordinates
=
lonlat
.
coordinates
*
180
/
np
.
pi
n
=
np
.
size
(
time
.
_time
)
...
...
@@ -569,8 +571,8 @@ def tpxo_tide(region, time, data_file_name=None):
v
=
np
.
empty
((
n
,
m
))
for
i
in
range
(
n
):
h
[
i
,:]
=
tide_ssh
.
getAtPoints
(
lonlat_coordinates
,
time
.
_time
[
i
])[:,
0
]
u
[
i
,:]
=
tide_u
.
getAtPoints
(
lonlat_coordinates
,
time
.
_time
[
i
])[:,
0
]
v
[
i
,:]
=
tide_v
.
getAtPoints
(
lonlat_coordinates
,
time
.
_time
[
i
])[:,
0
]
u
[
i
,:]
=
factor
*
np
.
array
(
tide_u
.
getAtPoints
(
lonlat_coordinates
,
time
.
_time
[
i
])
)
[:,
0
]
v
[
i
,:]
=
factor
*
np
.
array
(
tide_v
.
getAtPoints
(
lonlat_coordinates
,
time
.
_time
[
i
])
)
[:,
0
]
(
u
,
v
)
=
lonlat
.
rotate
(
u
,
v
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment