-
Notifications
You must be signed in to change notification settings - Fork 24
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
Define new grid class to store semi-structured grid information (e.g. lat or lon vs level or time) #1954
Comments
@JohnHalleyGotway for the stratosphere work, I think we want to have the ability to support latitude OR longitude versus level AND time. The zonal and meridional means we are doing for that work will be (latitude, level, time) and (longitude, level, time). I guess it depends on how these go into series analysis. I'm assuming I'll need to use python embedding to put them in (since the zonal and meridional means are calculated in python). In that case, if each time step is imported separately, then I would have something like (latitude, level) and (longitude, level) for each time step. I'll have to figure out how to separate the time steps since the zonal and meridional mean code performs these on all time steps at the same time. (2) isn't needed for my stratosphere work, but I don't know if it's needed for something else. Tina |
…on code to use it when dumping info about the grid. Dumping all of the lat/lon values clutters the log output way too much.
@CPKalb I've made good progress on this and even got grid_stat to compute stats on some sample "semilatlon" data! Still working on updating the MET tools to read the semilatlon output written by other tools. Once that's done, I'd like you test it out. Should I just compile my feature branch somewhere on seneca for you to test out? |
Yes, that sounds good! Will I be able to use python embedding to read in the data? That will likely be the easiest way since it's already in python to compute the zonal mean. |
…and also from a MET-created NetCDF file.
…nction define lat_dim and lon_dim. These are always created within each app prior to calling write_netcdf_proj() anyway. For semilatlon grids, the choice of lat_dim and lon_dim is complex. For all other projection types its very easy.
…lat_dim and lon_dim prior to calling write_netcdf_proj().
…me based on whether the input grid is semilatlon or not. #ci-run-unit
…by renaming nympy_array_one_to_two() to numpy_array_one_to_two().
…s/lons/levels/times either as a list of value or as 1D NumPy array. On my laptop, they are served up as lists whereas on seneca, they come through as NumPy arrays.
Tina, I'm finally ready for you to start testing. The wrinkle is that for some reason python serves up my lats/lons/levels/times as a Python List (on my laptop) and other times as a NumPy array (on seneca). I had to make the code flexible enough to handle both. Please take a look on seneca and run:
These exercise the sample Running this through Series-Analysis should technically work, but no example is provided here. And I imagine we'll want to modify how timestamps are served up. Currently, they're just stored as a list of unixtimes. |
Great. I probably won't get to start testing until tomorrow. |
…f Point-Stat config files from which they were missing.
…emoved unused seeps_column and seeps_thresh variables.
…semilatlon functionality. Still need to update the docs.
…dd Grid::is_set() function to prevent checking the GridInfo class info prior to the grid being defined.
…ng fro : to _ as we've done for other similar tests.
Hi John:
Just to verify. In the script, it looks like it computes percentiles over
a specified dimension. But, does it use an empty list for that dimension?
It looks like if it computes percentiles over lon, then it sets lats to an
empty list and retains the lon values. Is that interpretation correct?
Tina
…On Tue, Sep 6, 2022 at 3:01 PM johnhg ***@***.***> wrote:
Tina, I'm finally ready for you to start testing. The wrinkle is that for
some reason python serves up my lats/lons/levels/times as a Python List (on
my laptop) and other times as a NumPy array (on seneca). I had to make the
code flexible enough to handle both.
Please take a look on seneca and run:
cd /d1/personal/johnhg/MET/MET_development/SemiLatLon/examples
./run_examples.sh
These exercise the sample read_PostProcessed_WRF_semilatlon.py python
embedding script. I hoping you can modify your other scripts to define the
input data in a similar way.
Running this through Series-Analysis *should* technically work.
And I imagine we'll want to modify how timestamps are served up.
Currently, they're just stored as a list of unixtimes.
—
Reply to this email directly, view it on GitHub
<#1954 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AFJHD4SPLR6JUD5U2E5VG73V46WKPANCNFSM5GYSTTIA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
*************************************************
Christina Kalb
Associate Scientist
National Center for Atmospheric Research
3450 Mitchell Lane
Boulder, CO 80301
***@***.***
303-497-2819
*************************************************
My working day may not be your working day. Please do not feel obliged to
reply to this email outside of your normal working hours.
|
Describe the New Feature
This work is related to dtcenter/METplus#??? (insert issue number here) which describes enhancing METplus for use in computing and quantifying stratospheric diagnostics. While some portions of that work will be done in Python, some enhancements to the MET code is needed as well. This top-level issue describes those changes. However, it should be further broken down into actionable pieces prior to beginning work.
Question: Can this only be computed for LatLon inputs or should it be computed for all input projection types?
In general, the semi-structured grid class should store (lat, lon) info for the first dimension and vertical level or time for second. Note that the xy_to_latlon() and latlon_to_xy() functions from the Grid base class warrant careful consideration.
Note: Lots of additional definition is required.
Acceptance Testing
List input data types and sources.
Describe tests required for new functionality.
Time Estimate
Estimate the amount of work required here.
Issues should represent approximately 1 to 3 days of work.
Sub-Issues
Consider breaking the new feature down into sub-issues.
Relevant Deadlines
List relevant project deadlines here or state NONE.
Funding Source
Define the source of funding and account keys here or state NONE.
Define the Metadata
Assignee
Labels
Projects and Milestone
Define Related Issue(s)
Consider the impact to the other METplus components.
New Feature Checklist
See the METplus Workflow for details.
Branch name:
feature_<Issue Number>_<Description>
Pull request:
feature <Issue Number> <Description>
Select: Reviewer(s) and Linked issues
Select: Repository level development cycle Project for the next official release
Select: Milestone as the next official version
The text was updated successfully, but these errors were encountered: