-
Notifications
You must be signed in to change notification settings - Fork 44
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
Validate that custom datasets can interpolate #1684
Conversation
All I've done so far is to introduce a validator that checks that data can be interpolated in each of the dimensions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @marc-flex I think this is looking pretty good, just a few minor tweaks and also we should see if we want to apply this validator to all DataArray
objects (as written currently) or rather as a Simulation
post-init validator that loops over sources and does the interp check. I'm curious to see if the front end tests pass with these changes or if there are instances where we explicitly allow duplicate coords in some data array objects.
Also, could you please add a few tests to |
You're right. This doesn't pass front-end test. I'll give it another go with all your comments and restricting the check to custom fields and sources. |
It might just be failing because of |
Or it could just be that some of the front end test data arrays have extra coordinates (by accident) |
I guess also CustomMedium types with |
@tylerflex I have tried several things. With the solution you mentioned ( Also, since this made checks fail, I'm only checking for custom source and mediums. Basically, I call a check function (defined at the I have created tests for custom medium and custom field source. |
Thanks @marc-flex just FYI, this PR #1681 changed some of the tests in pre/2.7 so it looks like you'll need to rebase against that branch and fix any conflicts that might come up. I'm not sure which tests are failing but we can look into it more. One that probably fails is related to |
d42bb24
to
a12718e
Compare
I have just rebased against pre/2.7 and force-pushed it |
@marc-flex @momchil-flex is this something we want to get into 2.7.0rc2? and is it ready or still needing changes? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry @marc-flex I realized that this review was left as "pending" for the past week. here are some additional comments.
When you think it's getting ready, feel free to un-mark as a draft.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just one comment: custom datasets are validated in CustomMedium
. Shall we validate all other types of custom materials as well, e.g. CustomPoleResidue, CustomLorentz, etc.?
You're opening Pandora's box here. Maybe we should do this for all custom-defined |
To me it kinda makes sense to test all custom-defined data array fields, and I can't think of currently existing objects where we wouldn't want that. However, a) I don't know if I'm forgetting something already and b) I'm not sure if in the future something will come up. But maybe let's leave b) for future devs to worry about if validating all custom data arrays passes all tests (so hopefully a) is ok)? |
I can remove the specific tests for custom medium/source and have the validator at the |
I agree with @marc-flex . Maybe it's best to just limit the scope of these validators to the components that are causing issues as per #1684 . because I additionally worry that adding too strict validation DataArray may lead to some unintended consequences. |
Ok yeah sounds good to me. |
@marc-flex I think this is basically ready to go. Last thing you'll need to do is update the docs/notebooks submodule to the latest version (pre/2.7 branch). After you make that commit, we'll want to rebase this against tidy3d |
f550109
to
2c27053
Compare
@tylerflex @momchil-flex I have rebased and I thought everything would be OK from my side but it fails the "latest" test. Do let me know how to fix this. |
Actually the latest test is fine now, it's the formatting test that fails. :) You need to run
|
(make sure your black is the same as the version defined in pyproject.toml, or it will format most of the files in tidy3d) |
26fc38d
to
1c6ec26
Compare
Not sure why poetry didn't complain about that when I committed the squash+rebase. I think it's all good now |
This PR addresses issue #1668