= Bug on linear interpolation = Normally, the wind stress is interpolated with the bilinear interpolation scheme of the [[http://oceans11.lanl.gov/trac/SCRIP/|Scrip]] library included in OASIS-MCT. In IPSLCM6 at resolution ORCA1 x LMD 144x144, the bilinear interpolation of the wind stress is bugged. Two NEMO points around 0°N/180°W takes there wind stress values from LMDZ points around 0°N/0°E, and the weights, base on the distance between the source and destination points, are totally wrong.. The bilinear interpolation of OASIS-MCT compute weights and adresses that are written in a file : `rmp_tlmd_to_uorc_BILINEAR.nc`, `rmp_tlmd_to_torc_BILINEAR.nc` or `rmp_tlmd_to_torc_BILINEAR.nc`. == Resolutions which are know to have the bug : == === IPSLCM6 LR : eORCA1.2 x LMD144x144 === Wrong fields are wind stress on T and U grids : `COTAUXXU`, `COTAUYYU`, `COTAUZZU` and `COWINDSP`. Fields on V grids are OK. === IPSLCM6 MR : eORCA1.2 x LMD 280x180 === Wrong fields are wind stress on T and U grids : `COTAUXXU`, `COTAUYYU`, `COTAUZZU` and `COWINDSP`. Fields on V grids are OK. === IPSLCM6 MR : eORCA1.2 x LMD 256x256 === Wrong fields are wind stress on T and U grids : `COTAUXXU`, `COTAUYYU`, `COTAUZZU` and `COWINDSP`. Fields on V grids are OK. == Resolutions which are know to be free of the bug : == * IPSLCM5A2 VLR : ORCA2.3 x LMD96x95 == How to detect the bug == [[Image(BugOasisBilinear.png, 900px )]] Plot of the wind stress on the ocean grid, at U point. There is an obvious wrong point at 0°N/180°W. == Correction == A python program has been developed. It makes a few corrections of adresses and weights in a copy of the file. The program is available at https://forge.ipsl.jussieu.fr/igcmg/browser/TOOLS/BUG_OASIS_BILINEAR == To run the correction, the steps are: == 1. Run the model with bilinear interpolation of the wind stress ; 2. Check the wind stress fields on the NEMO grid ; 3. If they are wrong, get the weigths files `rmp_tlmd_to_[tuv]orc_BILINEAR.nc`. They are produced by OASIS, but not saved by libIGCM ; 4. Correct them with the program. You may need to adapt the program to the bug you observe :-( 5. Put them in the IGCM repository where the other weights file lies ; 6. Use MOZAIC interpolation for the wind stress, using these new weights files. 7. Check the result ;-) == Namcouple content extract == === for bilinear interpolation (1) === {{{ ############################################################################ # # ATMOSPHERE --->>> OCEAN # ------------------------- ############################################################################ # # Field 8 : wind stress along X axis (a->o 1) # COTAUXXU O_OTaux1 23 1 flxat.nc 256 257 362 332 tlmd uorc LAG= P 0 P 2 SCRIPR BILINEAR LR SCALAR LATLON 10 }}} === for mozaic interpolation with corrected weights (6) === {{{ ############################################################################ # # ATMOSPHERE --->>> OCEAN # ------------------------- ############################################################################ # # Field 8 : wind stress along X axis (a->o 1) # COTAUXXU O_OTaux1 23 1 flxat.nc 256 257 362 332 tlmd uorc LAG= P 0 P 2 MAPPING # Interpolation method ou parametres mozaic rmp_tlmd_to_uorc_BILINEAR_Corrected.nc dst }}}