wrf.g_slp.get_slp()
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 498
- Forks
- 178
- PR merge metrics
- No merged PRs in 30d
Description
For some reason with this wrf.g_slp.get_slp is having problems reading in the data for all timeidx's. The top one for 1 time index takes 00:00:01 seconds to run. For any of my other variables (T,Td,WS,WDIR, U10, V10, RH) it takes about 5-10 seconds to get the variable for all times. I stopped the code after it seemed to be slowing my computer and was taking more than 10 minutes (on that one command).
I am wondering if there is something wrong in the wrf-python code for this function. I cannot find many other people using this specific function.
ncfile = Dataset(listing[0])
where listing[0] is the wrfout_d03 file.
WORKS
wrf.g_slp.get_slp(ncfile,timeidx=0,method='cat',squeeze=True,cache=None,meta=False,_key=None,units='Pa')
DOES NOT WORK
wrf.g_slp.get_slp(ncfile,timeidx=wrf.ALL_TIMES,method='cat',squeeze=True,cache=None,meta=False,_key=None,units='Pa')
Traceback (most recent call last):
File "", line 1, in
runfile('/Users//Documents//Observational_Data/Python_Programs/model_analysis_V2.py', wdir='/Users//Documents//Observational_Data/Python_Programs')File "/Users/*/anaconda3/lib/python3.6/site-packages/spyder_kernels/customize/spydercustomize.py", line 827, in runfile
execfile(filename, namespace)File "/Users/*/anaconda3/lib/python3.6/site-packages/spyder_kernels/customize/spydercustomize.py", line 110, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)File "/Users//Documents//Observational_Data/Python_Programs/model_analysis_V2.py", line 749, in
elif variable == "Pressure (Pa)": WRF_VAR = wrf.g_slp.get_slp(ncfile,timeidx=wrf.ALL_TIMES, method='cat',squeeze=True,cache=None,meta=False,_key=None,units='Pa')File "/Users/*/anaconda3/lib/python3.6/site-packages/wrf/metadecorators.py", line 88, in func_wrapper
return wrapped(*args, **kwargs)File "/Users/*/anaconda3/lib/python3.6/site-packages/wrf/decorators.py", line 44, in func_wrapper
return do_conversion(wrapped(*args, **kwargs), unit_type,File "/Users/*/anaconda3/lib/python3.6/site-packages/wrf/g_slp.py", line 80, in get_slp
meta=False, _key=_key)File "/Users/*/anaconda3/lib/python3.6/site-packages/wrf/util.py", line 2280, in extract_vars
for var in varlist}File "/Users/*/anaconda3/lib/python3.6/site-packages/wrf/util.py", line 2280, in
for var in varlist}File "/Users/*/anaconda3/lib/python3.6/site-packages/wrf/util.py", line 2212, in _extract_var
result = wrfin.variables[varname][:]File "netCDF4/_netCDF4.pyx", line 4157, in netCDF4._netCDF4.Variable.getitem
File "netCDF4/_netCDF4.pyx", line 4291, in netCDF4._netCDF4.Variable._toma
File "/Users/*/anaconda3/lib/python3.6/site-packages/numpy/core/_methods.py", line 42, in _any
def _any(a, axis=None, dtype=None, out=None, keepdims=False):KeyboardInterrupt
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with wrf/g_slp.py and follow its call into util.py, especially extract_vars and _extract_var, where the traceback shows netCDF data is read. Compare the timeidx=0 and wrf.ALL_TIMES reproductions and inspect the variable access that stalls. Done means get_slp can process all time indexes without the reported prolonged slowdown.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- numpy, python
- Domain
- data
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100