-
Notifications
You must be signed in to change notification settings - Fork 39
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
Method to create float_source/<WMO>.mat file for OWC #141
Comments
I see from the OWC matlab documentation the following:
and @cabanesc further commented:
|
@cabanesc, @AndreaGarciaJuan, @kamwal , @quai20 |
@cabanesc, I have difficulties to understand how the 1 point every 10db requirement is implemented. For instance, when looking at this matlab source file: https://github.com/euroargodev/argodmqc_owc/blob/master/data/test_data/float_source/3901960.mat The first profile pressure has the following values: array([ 3. , 5. , 15.10000038, 25.10000038,
36. , 46.09999847, 55. , 65. ,
75.80000305, 85. , 95.69999695, 105.30000305,
115.5 , 125.5 , 135.6000061 , 145.3999939 ,
155.6000061 , 165.19999695, 175.5 , 185.30000305, .... where I see the 10db increment starting only after the 5db values. Why is this not starting at 3db ? My own implementation of the requirement leads to the following selection of pressure values: array([ 3. , 10.1, 21. , 31. , 40. , 50.2, 60. , 70.7,
80.3, 90.8, 101.3, 111.4, 121.5, 131.4, 141.5, 151.5,
161.6, 171.5, 181.3, 191.3, 201.4, 211.5, 221.5, 231.6,
241.1, 251.8, 261.8, 271.4, 281.2, 291.8, 301.6, 311.4,... that correctly return 1 value for each 10db layer: So I guess, should the rule be interpreted as:
The Matlab code does not follow one of these ... |
Can we add to the "List of tasks for the to_owc method" also option to recalculates salinity due to Cell Thermal Mass correction if applicable? |
why not do you talk about the classic Lueck & Picklo thermal mass correction ? |
UpdateWith the last few commits, we now have a working method to OWC create float sources in python (see #142 ) I am still consolidating against the Matlab function output, although after discussion with @cabanesc they are some choices made in the Matlab version that could be challenged, mostly about the order of the different manipulations ExamplesSneak peek of processed profiles for misc floats WMO 6903075WMO 3901915WMO 6903010 |
Done ! 🎉A satisfying routine is now implemented. Last differences with Matlab create_float_source.m are due to errors in there. |
More precisely, last remaining differences are due to different handling of the binnarisation of the data along the pressure axis |
Rational for this new feature
Matlab and python implementations of the Argo salinity calibration method OWC take as data input a preprocessed version of Argo profile measurements.
This preprocessing is not implemented in pyowc yet, and is done here in matlab.
Argopy should be able to provide this set of preprocessed data for expert users.
This has been discussed in here euroargodev/argodmqc_owc/issues/33 and here euroargodev/DMQC-PCM/issues/21.
API design
First we would fetch float data to QC:
Then, we could have 2 methods accessible with the argopy
argo
accessor:This could go like this:
and then possibly create matlab files to be used by OWC softwares:
The former method would ran internally
ds.argo.to_owc()
and then save Matlab files.List of tasks for the
to_owc
method:Based on what is done by the matlab function, the argopy method should do:
The text was updated successfully, but these errors were encountered: