obs_inter_h2d.F90 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. MODULE obs_inter_h2d
  2. !!======================================================================
  3. !! *** MODULE obs_inter_h2d ***
  4. !! Observation diagnostics: Perform the horizontal interpolation
  5. !! from model grid to observation location
  6. !!=====================================================================
  7. !!----------------------------------------------------------------------
  8. !! obs_int_h2d : Horizontal interpolation to the observation point
  9. !! obs_int_h2d_ds1 : Distance-weighted interpolation (n2dint=0)
  10. !! obs_int_h2d_ds2 : Distance-weighted interpolation (small angle) (n2dint=1)
  11. !! obs_int_h2d_bil : Bilinear interpolation (geographical grid) (n2dint=2)
  12. !! obs_int_h2d_bir : Bilinear remapping interpolation (general grid) (n2dint=3)
  13. !! obs_int_h2d_pol : Polynomial interpolation (n2dint=4)
  14. !! bil_wgt : Compute weights for bilinear remapping
  15. !! lu_invmat : Invert a matrix using LU decomposition
  16. !! lu_decomp : LU decomposition
  17. !! lu_backsb : LU decomposition - back substitution
  18. !!----------------------------------------------------------------------
  19. !! * Modules used
  20. USE par_kind, ONLY : & ! Precision variables
  21. & wp
  22. USE phycst, ONLY : & ! Physical constants
  23. & rad, &
  24. & rpi
  25. USE in_out_manager
  26. USE obs_const, ONLY : &
  27. & obfillflt ! Fillvalue
  28. USE obs_utils ! Utility functions
  29. USE lib_mpp,ONLY : &
  30. & ctl_warn, ctl_stop
  31. IMPLICIT NONE
  32. !! * Routine accessibility
  33. PRIVATE obs_int_h2d_ds1, & ! Distance-weighted interpolation
  34. & obs_int_h2d_ds2, & ! Distance-weighted interpolation (small angle)
  35. & obs_int_h2d_bil, & ! Bilinear interpolation (geographical grid)
  36. & obs_int_h2d_bir, & ! Bilinear remapping interpolation (general grid)
  37. & obs_int_h2d_pol, & ! Polynomial interpolation
  38. & lu_invmat, & ! Invert a matrix using LU decomposition
  39. & lu_decomp, & ! LU decomposition
  40. & lu_backsb, & ! LU decomposition - back substitution
  41. & bil_wgt ! Compute weights for bilinear remapping
  42. PUBLIC obs_int_h2d, & ! Horizontal interpolation to the observation point
  43. & obs_int_h2d_init ! Set up weights and vertical mask
  44. !!----------------------------------------------------------------------
  45. !! NEMO/OPA 3.3 , NEMO Consortium (2010)
  46. !! $Id: obs_inter_h2d.F90 2715 2011-03-30 15:58:35Z rblod $
  47. !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
  48. !!----------------------------------------------------------------------
  49. CONTAINS
  50. #include "obsinter_h2d.h90"
  51. END MODULE obs_inter_h2d