-
Notifications
You must be signed in to change notification settings - Fork 46
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
4D data from cdf in dataobj() should match its specified dimensions #41
Comments
Important to note: the Depend_3 now contains Energy but the dataobj() have energy dependency in the second column. When dataobj() has been corrected in issue #41 and the code has been put in place to align Depend_i with its corresponding column number in the data this part must be updated accordingly!! Speed up example (repeated 3 times to ensure "caching" does not impact the times). Tint = irf.tint('2017-10-01T00:00:01Z/2017-10-01T01:59:59Z'); tic; ePDist1=mms.get_data('PDe_fpi_fast_l2', Tint, 1); toc; Old average: 5.7 seconds, New average: 2.9 seconds.
Important to note: once dataobj is corrected in issue #41 this will require some change. Speed up example (repeated 3 times to ensure "caching" does not impact the times). Tint = irf.tint('2017-10-01T00:50:23.004446000Z/2017-10-01T00:52:22.975294000Z'); % Ie. one FPI brst file tic; ePDist1=mms.get_data('PDe_fpi_brst_l2', Tint, 1); toc; Old average: 19.47 seconds, New average: 14.65 seconds.
I believe myself to have seen the same kind of/similar phenomenon for 1+3 dimensional zVar (1 record dimension, 3 dimensions/record)
Found when Solar Orbiter/RPW calibration s/w "Bicas" reads a BIAS RCT (calibration file). Do = dataobj(...) zVar/file with 1 CDF record : zVar/file with 2 CDF records: NOTE: Created separate issue #50 for the different behaviour depending on number of CDF records. Related? |
// NOTE: This issue is added here mainly as a placeholder until the issue is fully solved, as fixing it in 9440568 generated A LOT more dependent problems.
Step 1: Latest code?
git pull
this is still a problem).Step 2: Describe your environment
Step 3: Describe the problem
Expected behavior
Objects and variables created using dataobj() SHALL match the dimensions of the variables inside the CDF files from which it was created. (Which in turn of course should match the appropriate instrument papers, data products guide, release notes or other documentation). That is the Depend_0 (being Epoch in most cases), and subsequent Depend_i for i=1:3. (I.e. 4D data variables) should be in the correct positions and data should be the appropriate sizes in each dimension.
Actual behavior
Presently dataobj()'s permute function change the data according to files created using the old Cluster method. But files created according to the most recent instructions from NASA SPDF should not have permute running in the same way.
These should only have the main time dependency put in the first column and not shifting the second to last column. A detailed overview can be viewed here: https://docs.google.com/spreadsheets/d/1L58nLwy1Mwl9y4OATjkgjb58p6dCiNFerEx2cVbsB0M/edit#gid=0
For MMS this impacts FPI data, and for future missions (SolarOrbiter?) it could impact any other files created according to the correct instructions (see "Test with SPDFCDFWRITE" in the spreadsheet).
Relevant code:
When all the dependent files are ready, then the following can be put into place again:
irfu-matlab/@dataobj/dataobj.m
Lines 357 to 385 in 9440568
The text was updated successfully, but these errors were encountered: