User review: NAO
Hi @acarreri
Thanks for reviewing the function NAO() for us.
The function is in the branch develop-EOF here. You'll also need to load EOF.R and ProjectField.R because NAO() uses it inside. Here are some recommended steps to test it.
- Read the documentation (i.e., the header of the function) to check if there is anything unclear or wrong.
- Find suitable data to test with both s2dverification::NAO and s2dv::NAO.
- One way to test the two functions together without confusion is to assign them with different names first. For example,
NAO_old <- s2dverification::NAO
source('<path_to_new_function>/NAO.R')
NAO_new <- NAO
res_old <- NAO_old(...)
res_new <- NAO_new(...)
- Check if the two results are identical(#). The dimension order may change after the calculation, and you can use
s2dv::Reorder
to adjust the order back. - Besides the data itself, is there anything to be improved? E.g., the input parameters, the output format, etc.
(#) Please notice that the results won't be the same as the old function because the EOF calculation method is different. (1) The old NAO() only use the 1st dataset (i.e., nexp = 1) for exp EOF calculation, and only use 1st dataset and 1st member (nobs = 1, nmemb = 1) for obs EOF calculation. I changed the method to consider each dataset and member separately. (2) The old function combines 'sdate' and 'member' dimensions to calculate EOF. I separate the two dims. Please let me know if it is not the right way to do.
Another problem is, the function only allows one dim (member) to have a different length between exp and obs. If the dataset and member are both different, it cannot handle it. Do you think it better to make it available for multiple different lengths of dimension?
The review is not urgent, but it would be great to finish around two weeks. Please let me know if you have any questions, thanks again for your help!
Cheers,
An-Chi