dtcenter / MET

Model Evaluation Tools
https://dtcenter.org/community-code/model-evaluation-tools-met
Apache License 2.0
79 stars 24 forks source link

Allow point2grid to ingest multiple file sources #2248

Open j-opatz opened 2 years ago

j-opatz commented 2 years ago

Describe the New Feature

It was recently brought to the forefront in a Discussions that the point2grid tool's inability to ingest multiple files was a barrier. The user was trying to take multiple netCDF files created from ascii2nc output and create one netCDF with all of the desired data fields.

As it currently stands, point2grid can only ingest 1 file per call. There is a potential way around this using Python Embedding, which would require a user to ingest each of the desired point data files in a virtual-held data array and then pass that array to point2grid, but this is untested at the moment and seems like a task point2grid should take on natively.

To be consistent with similar command line options in point_stat and ensemble_stat, recommend adding support for the -point_obs command line option. That is used by those tools to specify additional input point observation files to be processed.

Acceptance Testing

List input data types and sources. For a successful end to this issue, point2grid would be able to ingest multiple files provided by a user and create one netCDF output.

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

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.

sethlinden commented 2 years ago

@TaraJensen I was just going to start work on this issue. What account key should I use? Thanks.

JohnHalleyGotway commented 2 years ago

@sethlinden and @j-opatz I went hunting for a good example from the existing test data for when we'd want to pass multiple input NetCDF files into point2grid to generate a single output.

I'm having a difficult time finding a good example to suggest. I'm looking on seneca in /d1/projects/MET/MET_regression/develop/NB20220912/MET-develop/test_output

You could try combining data from: pb2nc/gdas1.20120409.t12z.prepbufr.nc pb2nc/ndas.20120409.t12z.prepbufr.tm00.nc

And mimic the existing <test name="point2grid_pb2nc_TMP"> but with the second input file.

The issue is that most, if not all, the input obs will be the same... because the same CONUS obs appear in both ndas and gdas datasets. But I don't have a better suggestion at this point.

@j-opatz please feel free to suggest an alternative if you have something in mind.

sethlinden commented 2 years ago

@JohnHalleyGotway thanks for the suggested command line testing. I will follow that suggestion for now. Do we know who created the Discussion for this issue: "user was trying to take multiple netCDF files created from ascii2nc output and create one netCDF with all of the desired data fields." I could always ask them directly. But this will be a good start. Thanks.

TaraJensen commented 2 years ago

@sethlinden - key added

sethlinden commented 1 year ago

@JohnHalleyGotway in the MET engineering meeting today I was looking at issues assigned to me and I saw this one...Was trying to remember where we stand with it, since it's still open (I did some work on this in Sept 2022)? Do you have any recollection of why this is still open and what still needs to be done here? Otherwise (unrelated to this), I'll be working on 2476 soon.